Я использую формы Cognito для сбора информации, а затем использую Zapier для передачи этой информации в свою базу данных электронных таблиц Google. Я обнаружил, что мои скрипты в таблицах Google не запускаются так, как я ожидал.
Вот этот:
function onEdit(event){
var ColCR = 96; // Column Number of "CR"
var changedRange = event.source.getActiveRange();
if (changedRange.getColumn() == ColCR) {
var state = changedRange.getValue();
var adjacent = event.source.getActiveSheet().getRange(changedRange.getRow(),ColCR+1);
var adjacentv = adjacent.getValue();
var timestamp = Utilities.formatDate(new Date(), "GMT-7", "M/dd/yy', 'h:mm a");
switch (adjacentv) {
case "":
adjacent.setValue("("+timestamp+")"+" "+state);
changedRange.clearContent();
break;
default:
adjacent.setValue(adjacentv+"\n"+"("+timestamp+")"+" "+state);
changedRange.clearContent();
break;
}
}
}
Работает нормально, когда пользователь редактирует ячейку электронной таблицы напрямую, но не когда Zapier обновляет ячейку. Он также работает с несколькими различными типами триггеров, когда таблица изменяется пользователем. В чем разница между редактированием таблицы напрямую и редактированием формы в приложении вроде Zapier? Могу ли я написать сценарий, который будет видеть изменения в таком приложении, как Zapier?
Вот этот:
function Timestamp() {
var sheet = SpreadsheetApp.getActiveSpreadsheet();
var cell = sheet.getActiveCell();
var comments = cell.getComment();
var formattedDate = Utilities.formatDate(new Date(), "GMT-7", "M/dd/yy', 'h:mm a ");
Newline works in msgBox, but not in Note.
comments = comments + "Mod: " + formattedDate;
Browser.msgBox(comments);
cell.setComment(comments);
}
Прекрасно работает, когда пользователь редактирует ячейку и запускается триггером при изменении, а также работает, когда Zapier обновляет ячейку, но когда Zapier обновляет более одной ячейки в строке, он помещает комментарий только в первую ячейку в диапазоне. Как мне изменить сценарий, чтобы он запускался при каждом изменении каждой ячейки, а не только диапазона?
Я уверен, что это как-то связано с тем, как Zapier взаимодействует с моей таблицей, но я не понимаю, чем правки Zapier отличаются от правок пользователей?
Спасибо за любые предложения или рекомендации.