Получи случайную криптовалюту за регистрацию!

ЗАПУСКАТОР – реагируем на изменения формул / Таблицы и запуска | Google Таблицы

ЗАПУСКАТОР – реагируем на изменения формул / Таблицы и запускаем скрипты

Друзья, в этом посте мы разберём как запустить скрипт после того, как Glide добавил в Таблицу строку. Скрипт будет отправлять письмо нашим менеджерам.

Как вы догадываетесь – стандартные триггеры на изменение / редактирование тут не помогут, они реагируют только если изменение сделал человек.

Поэтому мы развернем веб-приложение со скриптом отправки письма и напишем пользовательскую функцию, которая будет в него стучаться (да, ведь функция может в fetch)

Поехали делать
1. Пишем в редакторе скриптов целевой Таблицы функцию doGet(), она будет отправлять письмо;

function doGet(e) {
MailApp.sendEmail('mail.com', 'тема: привет!', e.parameter.row)
}

Разворачиваем скрипт как веб-приложение
(запуск от имени – от моего имени;
доступно – всем)

2. Пишем пользовательскую функцию, она будет
– считать количество строк на листе заказы;
– сверять с количеством, которое сохранено в скрипт проперти;
– если в проперти цифра меньше – функция перезапишет проперти и отправит на адрес развернутого приложения строку с данными (в параметре row);
– в функцию вставьте ссылку на ваше развернутое приложение;

function zapuskator(array) {
array = array.filter(t => t.some(g => g));
const length = array.map(t => t[0]).length;
const property = PropertiesService.getScriptProperties();
const rows_property = property.getProperty('rows');

if (rows_property < length) {
property.setProperty('rows', length);
const url = 'https://script.google' + '?row=' + array[length - 1].join();
return [
[new Date(), url, UrlFetchApp.fetch(url).getResponseCode()]
]
}
return length
}

3. вставляйте пользовательскую функцию в Таблицу, её аргумент – диапазон из листа заказы;
4. данные меняются - функция пересчывается;
5. !!!!!!!!

С помощью этого способа вы можете разобраться не только с Glide, а еще и в принципе следить за формулами / данными, запуская скрипты из веб-приложения тогда, когда это вам будет нужно.

За идею сегодняшнего пост спасибо Волонду и Tanaike https://tanaikech.github.io/

Код в пастебин