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