После запуска скрипта по триггеру выдает #ОШИБКА! (Google Apps Script)

У меня есть код ниже. Я создал триггер для этой функции. Тип срабатывания по минутам - каждые 15 минут. Ячейка «A1» — это число, которое должно быть скопировано в столбец G по триггеру. Когда он запускается в результате, я вижу частые #ОШИБКА!. Мне нужна помощь с этим.

Может быть, эта ошибка #ОШИБКА! появляется после запуска функции удаления?

Пример файла для

function hourChart() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName("PvD (auto)");
  var value = sheet.getRange("A1").getValue();
  var range = sheet.getRange("G1:G").getValues();
  var lastRow = null;
  var i = 0;
  while(i < range.length) {
    if (range[i][0] !== "") {
      i++
    } else {
      lastRow = i +1;
      break;
    }
  }
  sheet.getRange(`G${lastRow}`).setValue(value)
}

function hourChartDelete() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName("PvD (auto)");
  var range = sheet.getRange("G2:G");
  range.clear();
}

У триггера при выполнении выдает такую ошибку:

Exception: Сервису "Таблицы" недоступен документ 1OpsHNBbn7W2cFMuZBQ5XTD_tqzGqYuwu9ejBVTpET_4.
    at hourChart(HourChart:4:36)

Что это значит?


Ответы (1 шт):

Автор решения: contributorpw

Попробуйте добавить следующую строку в начало функции

function hourChart() {
  SpreadsheetApp.flush();

Или рассчитать случайное значение, добавив в листинг

function randomIntFromInterval(min, max) { // min and max included 
  return Math.floor(Math.random() * (max - min + 1) + min)
}

и в вашей функции замените

  var value = sheet.getRange("A1").getValue();

на

  var value = randomIntFromInterval(1, 100);
→ Ссылка