После создания действия в пользовательском модуле оно добавляется в дизайнер бизнес-процессов в виде исполняемого блока.
Чтобы блок работал корректно, нужно передать в него входные данные и сохранить полученный результат. Для этого используются переменные действия:
- входные переменные — в них передаются данные из контекста бизнес-процесса, необходимые для работы блока. Значения, которые в них записываются, определяются в ходе процесса до выполнения действия;
- выходные переменные — в них записывается результат выполнения действия. Их значения можно передать:
- в контекст бизнес-процесса, например, чтобы отобразить их в задаче пользователя;
- в поля приложения из контекста процесса, чтобы сохранить информацию в карточке элемента.
Передача данных настраивается с помощью биндинга — сопоставления переменных действия с контекстом процесса или приложения. Биндинг выполняется при моделировании процесса в настройках блока.
Чтобы настроить передачу данных:
- Добавьте входные и выходные переменные при создании или редактировании действия в модуле.
- Создайте пользовательскую форму биндинга, если при сопоставлении для пользователя нужно отображать дополнительную информацию.
- Добавьте блок действия на схему бизнес-процесса и сопоставьте переменные действия со свойствами процесса или приложения.
Добавление переменных для настройки действия
Переменные действия можно создать двумя способами:
- добавить вручную — для создания фиксированного набора переменных;
- настроить динамическое создание с помощью скрипта — используется для действий типа Скрипт, если набор переменных нужно автоматически создавать во время сопоставления. Например, на основе данных, полученных из внешней системы.
Создать переменные для биндинга вручную
Чтобы задать фиксированный набор переменных:
- Перейдите в настройки модуля на вкладку Действия в БП. Добавьте новое действие или откройте уже созданное, нажав на его название.
- В настройках действия на вкладке Контекст создайте переменные, нажав в правом верхнем углу + Добавить. Подробнее о типах переменных читайте в статье «Типы данных в системе».
- В списке переменных отметьте флажками, какие из них являются входными и выходными, а также укажите обязательность их заполнения.
- Сохраните и опубликуйте действие.
После этого можно добавить блок на схему бизнес-процесса и выполнить сопоставление переменных.
Настроить добавление переменных для биндинга с помощью скрипта
Для действия типа Скрипт можно создавать набор переменных автоматически во время настройки блока в процессе. Например, при интеграции с внешним сервисом можно получить из него актуальный список полей и на его основе создать переменные для биндинга.
Обратите внимание, чтобы запросить данные из внешнего сервиса, он должен предоставлять метод для получения описания его API. Например, могут использоваться OpenAPI, WADL или SOAP.
Основные этапы настройки динамического добавления переменных:
- Создать для действия пользовательскую форму сопоставления.
- В настройках формы сопоставления добавить скрипт, в котором по данным из внешнего сервиса формируются переменные действия. Они записываются в свойство типа Произвольный тип.
- Разместить на форме сопоставления виджет Динамический биндинг для отображения созданных переменных.
- Настроить запуск скрипта создания переменных, например, привязать его к нажатию кнопки.
- Предусмотреть сообщение об ошибке при неуспешном запросе на внешний сервис.
- Написать скрипт действия. Например, в нём может происходить запрос данных из внешней системы и их передача в выходные переменные.
Рассмотрим настройку на примере.
Допустим, вам нужно создать действие для получения данных о компаниях из внешнего сервиса. Переменные действия для сопоставления должны автоматически добавляться на основе описания полей, полученного из сервиса. Для этого:
- На вкладке Действия в БП пользовательского модуля перейдите в настройки действия типа Скрипт или добавьте новое.
- Откройте вкладку Контекст и нажмите Создать форму.
- В открывшихся настройках формы сопоставления перейдите на вкладку Контекст. Добавьте переменные следующих типов:
- Произвольный тип — для хранения созданных переменных действия;
- Выбор «да/нет» — чтобы указать наличие ошибки;
- Строка — для записи текста ошибки.
- На вкладке Шаблон вынесите на форму виджет Динамический биндинг. В его настройках в опции Динамические поля* выберите созданное свойство типа Произвольный тип и нажмите Сохранить.
- Перейдите на вкладку Скрипты и напишите клиентский или серверный скрипт, в котором на основе данных из внешнего сервиса создаются переменные действия. Они должны сохраняться в свойство типа Произвольный тип. Также настройте запись информации об ошибке при выполнении скрипта.
Подробнее об описании переменных для сопоставления в скрипте читайте в справке ELMA365 TS SDK.
Пример скрипта для создания переменных
// Промежуточная структура для передачи списка полей и их типов из внешнего сервиса |
- Привяжите запуск скрипта к нажатию кнопки. Для этого разместите на форме виджет Кнопка, выберите в её настройках тип действия Скрипт и укажите функцию, в которой добавляются переменные.
- Чтобы в случае ошибки при выполнении скрипта пользователь видел оповещение, добавьте на форму виджет Информационный блок. На вкладке Основное для поля Текст установите связь с переменной типа Строка, в которую записывается текст ошибки.
- Настройте видимость информационного блока, чтобы он отображался только в случае ошибки при выполнении скрипта. Для этого перейдите на вкладку Системные и выберите опцию Показать по условию. Нажмите <Не установлено> и привяжите отображение виджета к переменной типа Выбор «да/нет», в которую записывается наличие ошибки.
- Сохраните и опубликуйте форму сопоставления.
- Теперь к переменным, которые создаются динамически, можно обратиться в скрипте действия. Это позволяет использовать информацию из входных переменных при выполнении действия и присвоить значения выходным переменным.
Для этого вернитесь к настройкам действия и перейдите на вкладку Скрипт. В нашем примере на основе входных данных формируется запрос для получения информации о компании.
// Функция для получения данных о компаниях из внешнего сервиса |
- Сохраните и опубликуйте действие.
Теперь блок можно добавить на схему бизнес-процесса. В его настройках вкладке Настройки действия пользователь нажмёт кнопку, чтобы выполнить запрос во внешнюю систему. После этого он увидит автоматически сформированные переменные и сможет выполнить сопоставление.
Настройка пользовательской формы сопоставления
Вы можете создать свою форму сопоставления переменных. Она отобразится для пользователя при моделировании бизнес‑процесса в настройках блока действия. Для этого:
- В настройках действия на вкладке Контекст нажмите кнопку Создать форму.
- В открывшемся дизайнере интерфейсов разместите на форме поля и виджеты, например, добавьте информационный блок с подсказками.
- Сохраните и опубликуйте форму.
После этого в настройках блока вместо вкладки Входные и выходные атрибуты появится вкладка Настройки действия с созданной формой.
Сопоставление переменных в бизнес-процессе
Чтобы использовать блок действия из включённого модуля в бизнес‑процессе:
- На правой панели откройте вкладку Интеграции и добавьте блок на схему. Откроются его настройки.
- На вкладке Основное в поле Присвоить выходные атрибуты в укажите, куда записать результат исполнения блока:
- в контекстные переменные бизнес-процесса;
- в поля приложения, добавленного в контекст бизнес-процесса.
Подробнее про настройку блока в дизайнере бизнес-процессов читайте в статье «Блок „Действие в БП“».
- Перейдите на вкладку Входные и выходные атрибуты. Если настроена пользовательская форма сопоставления, вкладка называется Настройки действия.
Откроется форма сопоставления. Выберите:
- для входных переменных действия — свойства процесса, из которых нужно получить данные для работы блока;
- для выходных переменных действия — свойства процесса или приложения, в которые запишется результат исполнения действия.
Обратите внимание, сопоставить можно только переменные одинакового типа.
Для завершения настройки нажмите Сохранить.