У меня есть:
- Лист Google, который автоматически получает новые заказы на покупку через zapier
- Заказы вставляются в виде новых строк, по крайней мере, имеют До сих пор, но я не знаю, могут ли они быть обновлены, могут быть отредактированы в будущем zapier
- Данные о клиентах из заказов находятся в столбцах от A до JO
- Приведенный ниже код, который является простой триггер с привязкой к контейнеру, доступ к которому можно получить, перейдя в Инструменты> Редактор скриптов на странице Google
Я хочу:
- Чтобы добавить метку времени в столбец JP для новых или отредактированных строк
Я собрал приведенный ниже код из этого поста "Хотите создать метку времени для добавленного времени и создать уникального добавочного пользователя ID. А также включить последний измененный столбец ". Однако у меня есть проблема - когда я пытаюсь запустить это, я получаю следующее сообщение об ошибке:
"TypeError: Невозможно прочитать свойство 'source' из неопределенного (строка 6, файл" Код ")"
function onChange(e) {
var lastChangedTime = 276 //column JP
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = e.source.getActiveSheet
var now = new Date();
if (e.changeType == "INSERT_ROW") {
//set lastChangedTime when the row is created
ss.getActiveSheet().getRange(ss.getActiveRange().getLastRow(), lastChangedTime, 1, 1).setValue(now);
}
if (e.changeType == "EDIT") {
//set date in same row as edit happens, at fixed column
ss.getActiveSheet().getRange(ss.getActiveRange().getLastRow(), lastChangedTime, 1, 1).setValue(new Date());
}
}
Может кто-нибудь сказать, что это за ошибка, посмотрев на этот код? Буду очень признателен за любую помощь!
РЕДАКТИРОВАТЬ 1:
Я хотел бы продолжить и рассказать всем, как эта проблема решена для меня. Я думал, что у меня есть одна проблема, но на самом деле у меня было две.
Первая проблема заключалась в том, что я пытался «запустить» функцию OnEdit (e) из редактора сценариев, чтобы проверить ее. , который выбрасывал вышеуказанный код ошибки. Как правильно отмечает Chemi Adel, код должен быть изменен, чтобы включить этот тип теста.
Вторая проблема, правильно определенная Матео Рэндвольфом в комментариях, заключалась в том, что я неправильно установил триггер. Чтобы установить триггер, начните с открытия листа Google, содержащего скрипт. Затем go до Инструменты> Редактор скриптов , чтобы открыть редактор скриптов. Редактор скриптов должен открыться на отдельной вкладке в вашем веб-браузере. Затем на вкладке редактора сценариев от go до Редактировать> Триггеры текущего проекта , которая откроет новую вкладку, показывающую триггеры для текущего проекта. Затем нажмите кнопку «Добавить триггер» в правом нижнем углу и установите параметры функции как Функция: OnChange , Развертывание: Head (я не знаю, что это значит, но это только опция для меня), Выберите источник события: из электронной таблицы и Выберите тип события: при редактировании . Я смог найти, как установить триггер в документации, с которой связался Матео Рандвольф.