Триггер работает для меня, но не для моих коллег - PullRequest
0 голосов
/ 03 марта 2020

Я нашел решение - я отключил среду выполнения New Apps Script, работающую на Chrome V8, и это позволило скрипту нормально работать. Спасибо player0 и Cooper за вашу помощь.

Я запускаю скрипт в Google Sheets, который, когда мы выбираем выполнено из выпадающего списка, добавит дату в ячейку рядом с ней и отправит по электронной почте всю строку на адрес электронной почты в указанном столбце и переместите эту строку в другую электронную таблицу. Триггер работал для всего нашего офиса, но теперь триггер работает только для меня и никого больше. Я попытался добавить триггер вручную, но это все еще не работает. При отправке электронного письма им будет предложено нажать «Да» или «Нет», но дата не будет добавлена, электронное письмо не будет отправлено, и строка не будет перемещена в другую электронную таблицу. Я приложу сценарий. PS, я получаю эту ошибку от других людей в офисе -

"insertId": "-b34c8mev3dmh", "jsonPayload": {"serviceContext": {"service": "AKfycbyWSN3cTy8EFQa- O0BdEkD1-mv2Ch0_QJyGdxwARQ "}," context ": {" reportLocation ": {{functionName": "onEdit", "filePath": "Code", "lineNumber": 3}}, "message": "TypeError: невозможно прочитать свойство 'columnStart' не определено \ n в onEdit (код: 3: 14) "}," resource ": {" type ":" app_script_function "," tags ": {" function_name ":" onEdit "," invocation_type ":" unknown "," project_id ":" project-id-7782795119186644705 "}}," отметка времени ":" 2020-03-03T19: 26: 06.684Z "," серьезность ":" ОШИБКА "," метки ": {" сценарий. googleapis.com/process_id ": "EAEA1GOy-5ZVtkWzLmBjIDEppHWx8s_53wy3z-YwpeR7_qYPiFhBieuyZpGnXpmAoAn3iRsKw7yVqE1DzHTMxoOKX-AdlvXIDwF6fMvntASIvF9nk-llZAP7XmG4ZySKOflqcAbimliGEF4nEjkfw_cdILTNgTesQpjOaGTvdI6GhGjn4M3bxxlEQ7yDOgcryfEZpuznnxRTphSL0KsMeoR1NgJ75HNhNtg6-M-Uj_-nFVF4jgHjcFLsO3-AuctQgpKzM7vCu-5uptzCiMl_GoLSW_IztLa2RoWEiYp0"," script.goo gleapis.com/user_key ": "AJBqszan4nKoGMzVONs0MJNTlfxnM27ajlvZlz1Zgk0gT3p + b6sGQERsGNxTDk0oSVmVtWCL6r0G", "script.googleapis.com/deployment_id": "AKfycbyWSN3cTy8EFQa-O0BdEkD1-mv2Ch0_QJyGdxwARQ", "script.googleapis.com/project_key": "MKysurstsXJM-RhbK-YQe446zZFpi0V11"}, "logName": "projects / project-id-7782795119186644705 / logs / script.googleapis.com% 2Fconsole_logs", "receiveTimestamp": "2020-03-03T19: 26: 07.288469136Z"

function onEdit(e) {
// we need to be in column 13 in order to do something (at all)
if(e.range.columnStart === 13) {
var s = e.source.getActiveSheet();

// only continue if it's completed and where in the correct tab
if(e.value == "Completed" && s.getName() == "Open Requests") {
  var r = e.range;
  var userEmail = r.offset(0,-9).getValue();
  var name = r.offset(0,-7).getValue();
  var subject = "Technology Request for " + name;
  var body = "Your request has been completed by " + r.offset(0,-1).getValue();    

  body += "\nfor -  " + r.offset(0,-7).getValue();
  body += "\nby doing the following: " + r.offset(0,-2).getValue();
  body += "\nOriginal problem was stated as: " + r.offset(0,-4).getValue();

  // show dialogue
  var ui = SpreadsheetApp.getUi();
  var response = ui.alert('Are you sure you want to send this email to ' + userEmail + '?', 'Subject: ' + subject + '\n\n' + body + '\n\n\n', ui.ButtonSet.YES_NO);

  // process the user's response.
  if (response == ui.Button.YES) {
    MailApp.sendEmail(userEmail, subject, body, {name:"Technology Dept"}); 
  }

  // add time stamp
  e.range.offset(0, 1).setValue(new Date());

  // move the row elsewhere 
  var numColumns = s.getLastColumn();
  var targetSheet = e.source.getSheetByName("Closed Requests");
  var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
  s.getRange(r.rowStart, 1, 1, numColumns).moveTo(target);
  s.deleteRow(r.rowStart);


} 
} 

1 Ответ

1 голос
/ 05 марта 2020

Проблема была связана с автоматическим c переключением на новую среду выполнения v8 .

Возвращение к старой среде выполнения решило проблему. Если вы хотите, вы можете действительно сообщить об этой ошибке в Issue Tracker .

...