Включен триггер onEdit запускает функции дважды, не включен останавливает модальное диалоговое окно для отображения

У меня есть скрипт приложения с onEdit(e) функция. Эта функция вызывает некоторые другие функции в зависимости от существующих и новых данных. В определенных случаях showModalDialog должен быть показан. Если я включу функцию onEdit(e) через триггер onEdit он запускает некоторую функцию дважды (например, вставляет строки и выполняет вычисления). Если я удалю этот триггер из списка триггеров, то showModalDialog не может быть показано и ошибка You do not have permission to call showModalDialog at showDialog(Code:82) at onEdit(Code:1270)

Идея состоит в том, чтобы сделать showModalDialog появляться, когда это необходимо, и запускать все остальные функции только один раз, когда пользователь редактирует данные. Я был бы очень признателен, если бы вы помогли мне с решением.

1 ответ

Решение

Функция с именем onEdit(e) уже сама по себе является триггером: это называется простым триггером. Чтобы показать showModalDialog, вам нужно создать устанавливаемый триггер. Если вы сделаете это в функции onEdit, вы, вероятно, получите два триггера (один простой, один установленный) для одной и той же функции. IMO, было бы лучше переименовать функцию, а затем использовать устанавливаемый (onEdit) триггер для этой функции.

Другие вопросы по тегам