Перейти к основному содержимому

Первый скрипт в таблице

Разберём на примере: скрипт посчитает сумму заказов на листе «Заказы» и допишет строку «Итого».

Создать скрипт​

  1. Откройте таблицу и панель скриптов: настройки таблицы (⋯ справа сверху) → «Скрипты».
  2. Нажмите «Новый скрипт».
  3. Выберите, с чего начать:
    • Пустой скрипт — короткая заготовка с функцией main;
    • Загрузка данных из сервиса, Сообщение в Telegram, Реакция на правку в таблице — готовые заготовки под типовые задачи;
    • Написать с ИИ — опишите задачу словами, код напишет ИИ (см. Скрипт с помощью ИИ).
  4. Чтобы переименовать скрипт, нажмите на карандаш рядом с названием.

Написать код​

Вставьте в редактор:

function main() {
const sheet = Coverse.table.getSheet("Заказы");
const rows = sheet.getDataRange().getValues();
let total = 0;

for (let i = 1; i < rows.length; i++) {
const sum = rows[i][3];
if (typeof sum === "number") total += sum;
}

sheet.appendRow(["Итого", "", "", total]);
console.log("Сумма заказов:", total);
}

Что здесь происходит:

  • Coverse.table.getSheet("Заказы") берёт лист по названию;
  • getDataRange().getValues() читает все заполненные ячейки в массив строк, первая строка (индекс 0) — заголовки;
  • rows[i][3] — значение столбца D в строке i;
  • appendRow дописывает строку в конец листа;
  • console.log выводит текст в журнал запуска.

Редактор подсказывает команды по мере набора: после sheet. появится список методов листа с описанием.

Редактор скрипта: код, кнопки «ИИ» и «Запустить», вкладки снизу

Сохранить​

Код сохраняется сам через несколько секунд после правки, статус виден рядом с названием («Сохранено», «Сохранение…»). Сохранить сразу: ⌘S на Mac или Ctrl+S на Windows.

Если скрипт одновременно правит другой участник, редактор предложит выбрать: загрузить его версию или оставить свою.

Запустить​

Нажмите «Запустить» или ⌘↵ (Ctrl+Enter). По умолчанию запускается функция main. Другую функцию выберите в меню рядом с кнопкой: там перечислены все функции скрипта.

Функции, которые вызывает триггер, получают событие (event). Чтобы проверить такую функцию вручную, выберите в том же меню «Запустить с событием»: тестовое событие или последнее событие из журнала. Подробнее в статье Триггеры.

Меню рядом с кнопкой «Запустить»: выбор функции и запуск с событием

Журнал запусков​

Вкладка «Журнал» внизу редактора показывает последние 30 запусков скрипта:

  • статус: «Успешно», «Ошибка», «Превышено время», «Превышена память», «Функция не найдена», «Не запустился»;
  • кто или что запустило скрипт, время и длительность;
  • вывод console.log, console.warn и console.error;
  • результат функции: значение, которое она вернула через return;
  • текст ошибки и номер строки;
  • событие, если запуск вызвал триггер.

Фильтры над списком отбирают ошибки, ручные запуски и запуски по триггерам. Кнопка «Повторить» запускает скрипт ещё раз с тем же событием. «Копировать отчёт» копирует данные запуска, чтобы переслать их в поддержку.

Общий журнал всех скриптов рабочего пространства — в разделе «Автоматизация» левого меню, вкладка «Журнал запусков».

Ошибку может исправить ИИ

Если запуск завершился ошибкой, нажмите «ИИ», а затем «Исправить ошибку последнего запуска». ИИ предложит исправленный код, который вы примете или отклоните.

Вкладка «Журнал»: запуски скрипта, статус, вывод и результат

Версии кода​

Вкладка «Версии» хранит последние 200 версий кода. Новая версия появляется после изменения кода. Правки одного автора в течение 10 минут объединяются в одну версию, пока с ней не было запуска. Для любой версии можно посмотреть, чем она отличается от кода в редакторе, и вернуть её кнопкой «Вернуть эту версию». В журнале у каждого запуска указан номер версии кода, с которой он выполнялся.

Вкладка «Версии»: код версии и кнопка «Вернуть эту версию»

Справка в редакторе​

Вкладка «Справка» — полный справочник команд с примерами и поиском. Кнопка рядом с примером вставляет его в код.

Другие действия​

В меню «Ещё» (⋮) рядом с кнопкой запуска:

  • Дублировать — создать копию скрипта в этой таблице;
  • Экспорт в файл — скачать код в файл;
  • Удалить скрипт — удаляет код и журнал запусков. Изменения, которые скрипт уже внёс в таблицу, остаются.

Если в коде есть ключ или пароль​

Если в коде встретится значение, похожее на токен или пароль, редактор предложит перенести его в секреты: значение сохранится в зашифрованном виде, а в коде останется Secrets.get("НАЗВАНИЕ"). См. Секреты.

Что дальше​