Название: Гугл таблица, как скриптом запустить триггер Отправлено: Tow от 13.02.2020, 10:57:38 Здравствуйте, подскажите мне пожалуйста. Есть ли возможность запустить скриптом триггер? Ситуация, такая скриптом копирую информация с "листа1" с " таблицы1", в "листа2" с " таблицы2", создал триггер на "редактирование" в "таблицы2", но он не реагирует на копирование скрипта с "таблицы1", создал триггер н изменении тоже самое. А если скопировать в ручную, то срабатывает. Если создавать триггер на время, то нужно чтобы срабатывал каждую минуту, в моем случае не подходит, т.к будет около 30 триггеров, они могут запускаться одновременно, в таком случае будет каша. Я так понял триггер не видит работу скрипта, а как сделать, чтобы заметил???
Название: Re:Гугл таблица, как скриптом запустить триггер Отправлено: Дмитрий Щербаков(The_Prist) от 13.02.2020, 11:25:00 Триггеры вроде нормально работали всегда, но вот при внесении изменений скриптами они насколько знаю не срабатывают. Можно попробовать идти от обратного: зачем Вам запускать триггер скриптом, если можно в скрипте все тоже самое и прописать? А триггер будет срабатывать только при изменении в ручном режиме(что логично)?
А так само название триггера в скрипте: onEdit(e) e - объект, вызвавший триггер. Название: Re:Гугл таблица, как скриптом запустить триггер Отправлено: Tow от 13.02.2020, 11:56:04 У меня "таблица2" связующая с "таблицой3". Смысл в том, что сотруднику нужно отправить информацию из "таблица1" в "таблица3", но доступ к "таблица3" у него нет, чтобы он не смог увидеть все данные в ней. Поэтому у него есть доступ к "таблица2", а там уже работает триггер. Получается так с "таблица1" скриптом в "таблица2" триггером в "таблица3". А вот здесь можно по подробнее может ко мне подойдет "Можно попробовать идти от обратного: зачем Вам запускать триггер скриптом, если можно в скрипте все тоже самое и прописать?".
Название: Re:Гугл таблица, как скриптом запустить триггер Отправлено: Дмитрий Щербаков(The_Prist) от 13.02.2020, 17:14:44 А вот здесь можно по подробнее даже не знаю куда подробнее...Просто вместо триггера при записи скриптом чего-то в "таблица 2" дополняете этот скрипт действиями по записи в "таблица3".Название: Re:Гугл таблица, как скриптом запустить триггер Отправлено: Tow от 13.02.2020, 19:04:44 Ну тогда нужно сотруднику давать доступ к "таблица3", а этого не нужно делать. Я же на писал "но доступ к "таблица3" у него нет, чтобы он не смог увидеть все данные в ней.", или я вас не правильно понимаю???
Название: Re:Гугл таблица, как скриптом запустить триггер Отправлено: Дмитрий Щербаков(The_Prist) от 14.02.2020, 08:55:12 У Вас в Таблица3 данные вносится должны скриптом? Если да - то зачем сотруднику вообще знать, что она есть? Вы можете внести туда данные скриптом без наличия доступа к этой таблице у сотрудника?
Если нет - то и триггер не сможет, т.к. ему так же будут переданы привилегии вызывающего пользователя. А если да - то и триггер не нужен и заносить можно напрямую скриптом(открыть им нужную таблицу, внести данные и закрыть) Название: Re:Гугл таблица, как скриптом запустить триггер Отправлено: Tow от 15.02.2020, 16:10:13 Если нет - то и триггер не сможет, т.к. ему так же будут переданы привилегии вызывающего пользователя. .А если да - то и триггер не нужен и заносить можно напрямую скриптом(открыть им нужную таблицу, внести данные и закрыть) Вы очень сильно ошибаетесь триггер сможет занести данные из "таблицы2" в "таблицы3", даже если у сотрудника не будет доступа и разрешения к ней. А чтобы скриптом занести данные из "таблицы2" в "таблицы3, нужен доступ к ней и разрешения к ней. Я бы не запаривался, тогда с "таблицы3". На практике проверил. Название: Re:Гугл таблица, как скриптом запустить триггер Отправлено: Дмитрий Щербаков(The_Prist) от 15.02.2020, 17:00:07 Как бы... Я вроде и спрашивал - можете ли Вы внести данные скриптом без наличия доступа к таблице у пользователя. Но Вы правы, ошибся в том, что если доступа нет, то триггером вносятся данные, а скриптом нет. Странно это(ведь триггер, это тот же скрипт), но все же.
Хотя что-то мне подсказывает, что возможно надо правильно скрипт написать, раз триггер при ручном внесении изменений пользователем может это сделать даже при том, что у пользователя доступ только к таблице2, а к таблице3 нет. И по сути скрипт вызывается через триггер именно пользователем без привилегий. Как вообще делаете запрет доступа к Таблице3? Как выглядит скрипт? Название: Re:Гугл таблица, как скриптом запустить триггер Отправлено: Tow от 15.02.2020, 19:08:22 Вот так:
function Copyrrrr() { var sss = SpreadsheetApp.openById('указывае_адресс_с_какой_таблицы_копировать'); var ss = sss.getSheetByName('указывае_имя_с_какого_листа_копировать'); var from = ss; var fromValues = from.getDataRange().getValues(); var fromData = fromValues var tss = SpreadsheetApp.openById('указывае_адресс_в_какую_таблицу_копировать'); var ts = tss.getSheetByName('указывае_имя_в_какой_лист_копировать'); ts.getRange(ts.getLastRow() + 1, 1, fromData.length, fromData[0].length) .setValues(fromData); } Название: Re:Гугл таблица, как скриптом запустить триггер Отправлено: Дмитрий Щербаков(The_Prist) от 15.02.2020, 19:23:11 Как делаете запрет доступа к Таблице3? Название: Re:Гугл таблица, как скриптом запустить триггер Отправлено: Tow от 15.02.2020, 19:54:56 Ни совсем понял вопрос. Для сотрудника никак не делаю "запрет доступа к Таблице3", да и нет такой функции запрет к таблице. Есть функция кому дать доступ к таблице. В моем случае сотрудник не знает про нее вообще. Единственное можно узнать, это зайти в скрипты "таблицы2" и там по ковыряться и найти, но опять же доступ он к ней не получит, даже если скопирует ссылку, ведь я не давал ему доступ.
|