У меня есть скрипт, который проверяет определенные условия для отправки напоминаний по электронной почте или смс моим клиентам. Единственная проблема, которую я нахожу, заключается в том, что если я пытаюсь написать ячейку, которая скрыта фильтром, сценарий выполняется, но данные не изменяются никоим образом.
Я напишу краткую версию всего сценария:
function test(){
var nowTime = new Date();
var sheet = SpreadsheetApp.getActiveSpreadsheet();
var lastrow =sheet.getLastRow();
var lastcol =sheet.getLastColumn();
var fullData =cell.offset(0, 0,lastrow-
cell.getRow()+1,lastcol).getValues();
var cell = sheet.getRange("A2");
var i=0;
while (i<fullData.length){
var reminderType =0;
var row = fullData[i];
if (row[0] == 1) {sendreminder();cell.offset(i, 2).setValue(new Date());}
}
}
если, например, в первом столбце скрыты все строки с 1, скрипт выполняет и отправляет все напоминания, но игнорирует setvalue (), если строки видны, он работает отлично.
Одним из решений может быть удаление фильтра, но это очень раздражает, так как мы часто используем этот фильтр, и скрипт запускается по времени каждые 10 минут, поэтому я работаю над листом, и внезапно фильтр удаляют, чтобы запустить сценарий.
Я пробовал с cell.offset, getrange и т.д ... безуспешно ... Идеи?
РЕДАКТИРОВАТЬ: Проблема, кажется, только если я пытаюсь написать дату if (row[0] == 1) {cell.offset(i, 1).setValue(new Date());}
Например, я записываю другую информацию (число) в другой столбец, и эта ячейка обновляется.
Остальные остаются прежними
вот тестовый лист, который я создал:
https://docs.google.com/spreadsheets/d/1-FNDGmvCc8nRFTG65Sj9L2RhGn8R3DtwR3llwBG5-FA/edit#gid=0