Скрипт — это код на языке TypeScript, который позволяет обращаться к данным бизнес-процессов, создавать, запрашивать, изменять и удалять элементы приложений, а также взаимодействовать с внешними системами по протоколу HTTP.
Предположим, компания сбывает продукцию через интернет. Когда клиент нажимает кнопку Заказать, при помощи скрипта запускается бизнес-процесс, в который передаётся информация о заказе, сделанном на сайте. Система автоматически рассчитывает стоимость товара со скидкой, а затем отправляет данные обратно на сайт.
Как добавить блок «Скрипт» на схему процесса
начало внимание
Настраивать блок Скрипт могут только пользователи, включённые в группу Администраторы.
конец внимание
На странице процесса на панели инструментов справа от поля для моделирования откройте вкладку Стандартные элементы. Перетащите блок Скрипт на схему и разместите его там, где необходимо.
Обратите внимание, для блока Скрипт можно применить только два исходящих перехода. Один переход — при успешном выполнении, второй — при возникновении ошибки во время работы скрипта. Если количество переходов из блока будет превышено, то процесс не опубликуется.
Дважды нажмите на добавленный блок, чтобы открыть окно с настройками. Оно содержит две вкладки: Основное и Обработка ошибок.
Вкладка «Основное»
В поле Название укажите название операции, которое будет отображаться в системе, например, Расчет стоимости.
В поле Функция привяжите к блоку конкретную функцию. Если в процесс уже были добавлены функции, то вы сможете выбрать нужную из выпадающего списка. Если вам нужно создать новую функцию, нажмите кнопку Создать и укажите её название. Обратите внимание, название может содержать только латинские буквы, цифры и знак подчёркивания. При этом оно должно начинаться с буквы. Сохраните название новой функции и затем нажмите кнопку Открыть.
Откроется редактор, в котором вы можете написать скрипт для обработки контекста. Такие скрипты выполняются на стороне сервера без ограничения доступа к элементам приложения. Например, если в каком-либо приложении ограничен доступ к элементам, то при попытке загрузить элемент, к которому у текущего пользователя нет доступа, серверный код выполнится успешно. Аналогично при получении списка элементов вернутся все элементы.
Для создания скриптов используется TypeScript. Более подробно про принципы написания скриптов вы можете прочитать в справке ELMA365 TS SDK.
начало внимание
Использование констант Global
или Namespace
в скриптах ограничивает экспорт компонентов системы. Подробнее об этом читайте в статье «Глобальные константы в скриптах».
конец внимание
При написании некоторых скриптов можно использовать дополнительные параметры. Они позволяют донастроить процесс или внести изменения в скрипт без перепубликации. Подробнее об этом вы можете прочитать в статье «Дополнительные параметры».
Вкладка «Обработка ошибок»
В ходе процесса может возникнуть ошибка выполнения скрипта, например, если ELMA365 не сможет получить доступ к внешнему сервису. На этой вкладке определите, как продолжится процесс в случае ошибки.
Для этого перейдите на вкладку Обработка ошибок в окне настроек.
- Повторить выполнение — выберите эту опцию, чтобы скрипт выполнился повторно;
- Количество повторений — укажите количество попыток для воспроизведения скрипта;
- Время задержки между повторениями (сек) — определите частоту попыток воспроизведения скрипта;
- Оповещение — выберите эту опцию, чтобы при ошибке направлять соответствующее оповещение. Укажите пользователей, которых нужно уведомить о сбое в работе скрипта;
- Прервать — в случае ошибки прекратятся попытки выполнения скрипта и процесс пойдёт по выбранному переходу.
После того как вы укажете все настройки, нажмите Сохранить.