Сегодня утром я создал форму с одним вопросом , потому что хотел посмотреть на блок событий для себя.Однако процесс принял неожиданный оборот для меня.Мое описание следующее:
Я регистрирую событие onFormSubmit со следующим кодом:
function testFormSubmission(e) {
var lock=LockService.getUserLock();
try{
if(lock.tryLock(30000)) {
var ss=SpreadsheetApp.getActive();
var sh=ss.getSheetByName('LogSheet');
var tA=[Utilities.formatDate(new Date(), Session.getScriptTimeZone(),"d/M/yyyy HH:mm:ss")];
tA=tA.concat(e.values);
tA.splice(tA.length-1,1,e.triggerUid,e.range.rowStart,e.range.columnEnd,JSON.stringify(e.values));
sh.appendRow(tA);
lock.releaseLock();
}
}
catch (e){throw("Couldn\'t get lock for 30 seconds");return;};
}
У меня есть два изображения моей таблицы ниже:
На самом деле есть только двав столбцах e.values один - это дата, а второй - ответ на вопрос, который «зеленый» или «синий».Пустые столбцы происходят из-за того, что я начал с трех вопросов и собирал электронные письма, но решил для простоты удалить два из них, так как сам генерирую сообщения.
В любом случае ответы, которые нев столбце C не должно быть зеленого или синего, просто не должно быть. Столбец J - это просто JSON.stringify(e.values)
, и кажется, что в нем есть неверные значения ... Я думаю?Да / Нет
Вот изображение электронной таблицы.(некоторые из них)
Это форма ответов 1 лист:
Это журнал:
Итак, мой вопрос заключается в том, откуда берутся нежелательные добавленные строки в журнале?
Я обновил свой титульный вопрос, потому что не думаю, что получаю несколько заявок, в противном случае я ожидаю, что в ответах на форму 1 будет несколько строк.
Для вашей информации столбец H в LogSheet - это rowStart, поэтому легко определить, какая строка в ответе формы 1 соответствует.