Я создал форму Google, которая после заполнения отправляет электронное письмо руководству для авторизации. Как только форма будет авторизована, электронная таблица обновляется с ответом руководства и с указанием даты. Я также создал лист отслеживания на случай, если форма была утверждена, но позже отклонена или наоборот. Идея в том, что строка копируется каждый раз, когда вносятся изменения. Код, который я использую:
function doGet(e) {
// Update Spreadsheet
var answer = e.parameter.approval;
var workingRow = e.parameter.r;
var d = new Date()
responses.getRange(workingRow, 12).setValue(answer);
responses.getRange(workingRow, 13).setValue(d);
var tracker = responses.getRange("A" + (workingRow) + ":Z" + (workingRow));
copytoTracker(tracker)
// Email
var ctlEmail = e.parameter.reply;
var sltName = e.parameter.sltName;
// Send Approval Email
GmailApp.sendEmail(ctlEmail, "Student Timetable Change Request", "Thank you for your timetable request. Please note, " + sltName + " has responded to your request and it has been " + answer);
var app = HtmlService.createHtmlOutput(sltName + " thank you for your response.")
//var emailSubject = getDefaultEmailBody();
return app
}
function copytoTracker(tracker) {
var source_sheet = ss.getSheetByName("Form Responses 1");
var target_sheet = ss.getSheetByName("Tracker");
var source_range = tracker;
var last_row = target_sheet.getLastRow();
target_sheet.insertRowAfter(last_row);
var target_range = target_sheet.getRange("A" + (last_row + 1) + ":Z" + (last_row + 1));
source_range.copyTo(target_range);
}
Где я ошибаюсь? Ответ и дата помещаются в правильные ячейки, однако правильная строка не копируется только в первую строку каждый раз.
Первая строка еще не была авторизована / отклонена, именно это и является причиной ошибки?
Спасибо
Фазила