Как сделать ожидание в AppScript если в одной из колонок есть формула
Есть скрипт который запускается в гугл таблицах. Как работает: на лист в одну строку поступают значения, скрипт копирует их и переносить на другой лист, после переноса стирает все значения в строке на первом листе. В чем возникла проблема в колонке "С" после поступления значений в строку на первый лист отрабатывает формула гугл которая проверяет, что написано в колонке "B" и прописывает в колонку "С" значение найденное, которое соответствует введенной в колонку "В" информации.Формула не всегда успевает отработать и информация на другой лист переносится с пустым значением в колонке "С". Что нужно: после поступления значений в строку скрипт дождался пока отработает формула, и только после этого переносил записи на другой лист и стирал значения. пример скрипта ниже.
Понимаю ,что нужно сделать паузу не не соображу как записать (((
function addToDatabase() {
var ss1 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("все веденные коды");
var ss2 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("результат");
var values = ss1.getRange(2, 1, 1, 4).getValues();
Logger.log(values);
var lr = ss2.getLastRow();
var lc = ss2.getLastColumn();
var values = ss2.getRange(lr+1, 1, 1, lc).setValues(values);
var clear = ss1.getRange(2, 1, 1, 4).clear({fomatOnly: true, contentsOnly: true});
}
Ответы (2 шт):
перед getValues() --- Utilities.sleep(10000). В скобках значение в ms. выбирайте тот интервал, который подходит под Вашу задачу.
Решение заключалось в отказе от формулы в колонке. Формулу заменили отдельным js, расставив логику и тайминги внутри js. Всем спасибо.