Мой скрипт архивирует строку с «2019-2020» на вкладку «Полностью выставлен счет». Но со вкладки «2019-2020» строка не исчезает. Я думаю, это потому, что данные импортируются из другой электронной таблицы с помощью функции importrange
. Я бы хотел, чтобы эта строка исчезла.
function onEdit(event) {
// target sheet of move to named Paid
// getColumn with check-boxes is currently set to column 2 or B
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = event.source.getActiveSheet();
var r = event.source.getActiveRange();
// Message box when archiving a project
var editedCell = event.range.getSheet().getActiveCell();
if((s.getName() == "2019-2020")&& r.getColumn() == 2 && r.getValue() == true) {
var response = Browser.msgBox('Make sure the project has been fully invoiced before archiving it. Are you sure to continue?', Browser.Buttons.YES_NO);
Logger.log(response);
if (response == "yes") {
Logger.log('The user clicked "Yes."');
var row = r.getRow();
var numColumns = s.getLastColumn();
var targetSheet = ss.getSheetByName("Fully Invoiced");
var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
s.getRange(row, 1, 1, numColumns).moveTo(target);
s.deleteRow(row);
} else {
Logger.log('The user clicked "No" or the dialog\'s close button.');
}
}
// Unarchive a project from Fully Invoiced tab to 2019-2020 tab
else if(s.getName() == "Fully Invoiced" && r.getColumn() == 2 && r.getValue() == false) {
var row = r.getRow();
var numColumns = s.getLastColumn();
var targetSheet = ss.getSheetByName("2019-2020");
var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
s.getRange(row, 1, 1, numColumns).moveTo(target);
s.deleteRow(row);
}
}
Есть у кого-нибудь идеи?