Вот к сожалению не силен в структуре программирования, интуитивно понял, что вы установили некую константу, которая определяет диапазон и способ сортировки данных. Дальше для меня начинается более темный лес) Вот я просто взял и скопировал Ваш макрос для сортировки и вставил в файл. Получилось вот так (100% не правильно, но не знаю к сожалению даже куда смотреть)
let ss = SpreadsheetApp.getActiveSpreadsheet();
let zakaz_2022 = ss.getSheetByName('2022'); //или как нужно лист назвать
let zakazOK_2022 = ss.getSheetByName('Выполнено_2022');
function onEdit(e) {
let cell = e.range;
if (cell.getSheet().getSheetName() === zakaz_2022.getSheetName()){ // проверка на то, что изменение происходит именно на листе со списком заявок
if (cell.getValue() === 'Отгружен'){
zakaz_2022.getRange(cell.getRow(), 1, 1, zakaz_2022.getLastColumn()).copyTo(zakazOK_2022.getRange(zakazOK_2022.getLastRow() + 1, 1)); //перенос на другой лист
zakaz_2022.deleteRow(cell.getRow()); // удаление строки из листа
}
}
}
function sortSheets() {
const rangesInfo = [
{sheet: "2022", range: "A2:M", column:3, ascending: true},
{sheet: "Выполнено_2022", range: "A2:M", column:3, ascending: true},
];
let ss = SpreadsheetApp.getActiveSpreadsheet();
rangesInfo.forEach(rangeInfo=>{
try{
let range = ss.getSheetByName(rangeInfo.sheet).getRange(rangeInfo.range);
range.sort({column: rangeInfo.column, ascending: rangeInfo.ascending});
}catch(err){
Logger.log(`error: ${err}`);
};
});
}
Сейчас получается макрос "говорит" google-шитс что есть 2 функции (onEdit и sort) и типа нужно выполнить сначала одну функцию, потом другую.
При выполнении ругается
"TypeError: Cannot read property 'range' of undefined
onEdit @ Перенос.gs:6"