Мы используем Google Forms для сбора данных от наших представителей на местах, пока они находятся на рабочем месте. Мы используем скрипт для заполнения выпадающих значений для 4 различных полей, который запускается периодически. Это избавляет их от необходимости набирать его и, возможно, допускать ошибки.
Все эти поля предопределены, поэтому, если они выбирают Проект № 1, мы уже знаем значения адреса, менеджера и клиента. Значения хранятся на второй вкладке формы результатов и теоретически могут использоваться для поиска.
Я задаюсь вопросом, нужно ли вообще включать эти поля, но когда пользователь отправляет форму, данныезатем по электронной почте с использованием дополнения, и он использует некоторые из этих полей в теме. Я полагаю, что получатели также хотят получить информацию.
Могу ли я сделать свои собственные триггеры? Если бы у меня был триггер для изменения идентификатора проекта, я бы подумал, что могу обновить другие из электронной таблицы.
Или, если бы был триггер OnNextPage, который я мог бы использовать для заполнения этих значений.
Есть ли способ добавить / изменить значения при отправке формы?
Я думаю, что я хочу сделать следующее (спасибо @OMilo), но я борюсь с поиском:
function onFormSubmit (e) {Logger.log ("[METHOD] onFormSubmit");
sendEmail (e.range);}
function sendEmail (range) {
// Здесь мы получаем выбор пользователей, выбранных в форме: var itemResponse = e.response.getItemResponses () [1557784536];// Используем любой индекс для элемента, в моем случае это 0. var kmbProjectNumber = itemResponse.getResponse ();
//LOOKUP KMB PROJECT NUMBER IN SHEET: "New - KMB Design Visit Closeout (Responses)" TAB: "KMB Lookups"
var ss = SpreadsheetApp.OpenByID('REDACTED');
var lookups = ss.getSheetByName("KMB Lookups");
//In Column named'KMB Project ID' find record from bottom where value = kmbProjectNumber
//Get value for column named 'Site Address'
//Get value for column named 'KMB Project Manager'
//Get value for column named 'Client Assigning this Work'
// FETCH SPREADSHEET //
var values = range.getValues();
var row = values[0];
//WRITE FOUND VALUES TO SPREADSHEET
//Set row[3] to Site Address
//Set row[4] to Project Manger
//Set row[5] to Client
var svProjectManager = row[4]; //Update manually //E
var svClient = row[5]; //Update manually //F
// EXTRACT VALUES //
var svTimeStamp = row[0]; //A
var svInitials = row[1]; //B
var svProjectID = row[2]; //C
var svSiteAddress = row[3]; //Update manually //D
var svProjectManager = row[4]; //Update manually //E
var svClient = row[5]; //Update manually //F
var svNOCNeeded = row[6]; //G
// PREPARE EMAIL //
var emailRecipients = "REDACTED";
var emailSubject = "Field Visit Completed for "+svProjectManager+" "+svProjectID;
var emailBody = "" //Format using variables set
// SEND EMAIL //
}