Такое действие можно использовать для создания интеграций, например, для отправки запросов во внешнюю систему. Настройки действия выполняются на трех вкладках: Настройки, Контекст, Сценарии.
Вкладка «Настройки»
На вкладке Настройки укажите:
- Название — наименование действия;
- Название по умолчанию — наименование, отображающееся на блоке действия при добавлении его на схему бизнес-процесса;
- Цвет блока — цвет, в который будет окрашен блок действия на схеме процесса;
- Описание — описание функциональных возможностей действия и его особенностей;
- Устаревшее — при обновлении модуля действие можно отметить как устаревшее. В этом случае оно перестанет отображаться на панели инструментов в дизайнере процессов. Устаревший блок нельзя будет добавить на вновь создаваемые схемы процессов. Однако устаревшие действия продолжат работать без изменений в уже созданных процессах;
- Сообщение для устаревшего блока — текст предупреждения о том, что процесс содержит устаревшие блоки. Сообщение показывается пользователю при публикации процесса с устаревшими действиями;
- Модель выполнения — способ выполнения действия:
- Синхронное — простое выполнение заданного в действии сценария, то есть синхронное исполнение функции action;
- Запрос результата — после выполнения заданного сценария во внешний сервис отправится запрос о значении статуса. Для реализации такого подхода в действии нужно определить функцию проверки результата check. Она должна вызываться с заданной периодичностью. Бизнес-процесс продолжится только после того, как функция check вернёт ответ true;
- Обратный вызов — в обращении к внешнему сервису передаётся url, на который необходимо вернуть результат. То есть в параметрах вызова передаётся адрес, который будет вызван после выполнения задачи внешним сервисом, и на который будут отправлены результаты выполнения. Url ответа передаётся как входной аргумент функции action. Любой запрос на данный url передается в функцию callback. После этого выполнение процесса продолжится;
- Количество повторов при ошибке — укажите количество попыток выполнения действия;
- Пауза между повторами при ошибке (сек)* — определите частоту попыток.
Вкладка «Контекст»
На вкладке Контекст вы можете добавить переменные, используемые для данного действия. После добавления действия на схему процесса вы сможете сопоставить эти переменные с контекстом процесса.
Чтобы создать новую контекстную переменную, нажмите +Добавить. Подробнее о типах переменных читайте в статье «Типы данных в системе».
Сопоставление контекста действия и процесса (биндинг)
Контекстные переменные действия можно передавать в бизнес-процесс, который содержит это действие. В свою очередь, действие может получать контекстные переменные процесса, в котором оно используется. Для передачи переменных необходимо сопоставить контексты действия и процесса:
- В настройках действия на вкладке Контекст задайте входные и выходные параметры:
- Входные параметры — заполняются до выполнения действия. В них передаются данные из бизнес-процесса, в котором используется действие;
- Выходные параметры — заполняются после выполнения действия. Передаются из действия в контекст бизнес-процесса, или напрямую в поля приложения, используемого в процессе.
- Отметьте, какие переменные являются входными и выходными.
- Сохраните контекст и опубликуйте действие.
После добавления действия на схему процесса, вы сможете сопоставить заданные переменные с контекстом процесса. Для этого на схеме бизнес-процесса:
- Дважды нажмите на пользовательском действии или добавьте новое с правой панели.
- В окне настроек действия перейдите на вкладку Входные и выходные атрибуты.
- Откроется окно с формой сопоставления. Стандартная форма содержит две колонки, в столбцах Шаг которых указаны входные и выходные переменные действия. Столбец Процесс в каждой из колонок служит для выбора переменных процесса, в котором действие используется.
- Нажмите Выберите поле напротив входной или выходной переменной действия и в выпадающем списке выберите переменную процесса, которую хотите сопоставить. Сопоставляемые переменные должны быть одного типа.
- Для завершения настройки нажмите Сохранить.
Изменить форму сопоставления
Вы можете создать свою форму сопоставления. Для этого на вкладке Контекст нажмите кнопку Создать форму. Важно: после того, как форма будет создана, вернуться к базовой форме будет нельзя. Система предупредит вас об этом, и вы сможете либо продолжить, либо отменить изменение формы.
Нажмите кнопку ОК, чтобы перейти в дизайнер интерфейсов для создания формы.
Когда форма будет создана, в дизайнере бизнес-процессов в настройках действия вместо вкладки Входные и выходные атрибуты появится вкладка Настройки действия. На ней будет отображена настроенная вами форма.
Создание входных и выходных переменных с помощью сценария
Входные и выходные переменные пользовательского действия можно создавать на форме сопоставления с помощью сценария.
начало внимание
Создание переменных с помощью сценария возможно только для пользовательских действий типа Скрипт.
конец внимание
Чтобы создавать переменные с помощью сценария:
- На вкладке Действия в БП пользовательского модуля создайте действие типа Скрипт или выберите ранее созданное действие.
- Создайте в действии свою форму сопоставления, как описано выше, и откройте ее.
- Перейдите на вкладку Шаблон и с правой панели вынесите на форму виджет Динамический биндинг.
- На вкладке Контекст формы создайте переменную типа Произвольный тип, в которую будет записываться набор входных и выходных переменных.
- Сохраните и опубликуйте форму.
- Чтобы контекстная переменная стала доступна в сценарии, закройте форму и откройте снова, нажав кнопку Изменить форму на вкладке Контекст действия.
- Откройте настройки виджета Динамический биндинг и на вкладке Основные в опции Динамические поля выберите переменную, созданную на шаге 4. Сохраните настройки виджета.
- На вкладке Сценарии формы разместите клиентский скрипт, который будет создавать входные и выходные переменные и сохранять их в ранее созданную переменную типа Произвольный тип:
async function FillOut(): Promise<void> {
ViewContext.data.bindings =
{
'field1': {name: 'Поле 1', type: DynamicFieldType.String, input: true,},
'field2': {name: 'Поле 2', type: DynamicFieldType.String, output: true,},
'field3': {name: 'Поле 3', type: DynamicFieldType.File, input: true, output: true,},
}
}
- Настройте параметры запуска сценария. Сценарий можно запускать с помощью управляющего элемента на форме, например, кнопки, или при наступлении какого-либо события. Пример текста сценария и настройки запуска приведен в «ELMA365 Community».
- Сохраните и опубликуйте форму сопоставления.
- После того как вы определили переменную, к ней можно обратиться на вкладке Сценарии в действии бизнес-процесса. Например, вы можете задать переменной значение:
async function action(): Promise {
Context.data['bindings.field2'] = `Значение переменной`;
}
Когда вы откроете действие на схеме бизнес-процесса и перейдете на вкладку Настройки, динамические поля с входными и выходными параметрами будут созданы автоматически либо вы сможете запустить скрипт для их генерации. Подробнее о динамических полях читайте в справке «ELMA365 TS SDK».
Вкладка «Сценарии»
На вкладке Сценарии создается сценарий действия. Для написания сценариев используется язык программирования TypeScript. Более подробно про принципы написания сценариев в ELMA365 вы можете прочитать в справке по TypeScript SDK.
При написании сценариев можно использовать константу Global. Она дает доступ к переменным, содержащимся в разделах, и к глобальным параметрам. Использование этого объекта препятствует дальнейшей выгрузке модуля. То есть, если использовать константу Global в сценарии действия, то модуль с этим действием нельзя будет экспортировать.
Чтобы разрешить доступ к константе Global в верхнем меню нажмите Настройки. В открывшемся окне выберите опцию Global.
После того, как вы укажете все необходимые настройки, сохраните и опубликуйте их. Действие готово к использованию. Оно будет доступно в дизайнере бизнес-процессов, на панели инструментов справа от поля для моделирования, на вкладке Интеграции.
Нашли опечатку? Выделите текст, нажмите ctrl + enter и оповестите нас