Модули расширения системы > Пользовательские модули / Действия в бизнес-процессах

Действия в бизнес-процессах

Действие — это операция, выполняющаяся на определенном шаге бизнес-процесса. Оно выглядит как блок для моделирования, который пользователь может перетащить на схему и настроить подобно другим элементам процесса. Действия нужны, чтобы реализовывать сложную разветвленную логику. Они могут выполнять написанные вами сценарии или вызывать процесс, созданный внутри модуля.

Настроенный блок действия будет доступен в дизайнере бизнес-процессов, на панели инструментов, на вкладке Интеграции. Его можно будет многократно использовать в разных процессах.

Чтобы настроить действие:

  1. Перейдите в Администрирование > Модули.
  2. Наведите курсор на модуль и нажмите на появившийся значок шестеренки.
  3. Перейдите на вкладку Действия в БП.
  4. Нажмите +Действие и в открывшемся окне укажите информацию.

exten_7

 

  • Название* — наименование действия;
  • Код* — уникальный идентификатор, необходимый для использования действия бизнес-процессах;
  • Тип — выберите тип действия:
    • Скрипт — выполняет заданный сценарий на определенном шаге бизнес-процесса;
    • Вызов процесса — запускает бизнес-процесс, созданный в модуле на вкладке Процессы.
  1. Нажмите Сохранить, чтобы перейти к настройкам действия.

Скрипт

Такое действие можно использовать для создания интеграций, например, для отправки запросов во внешнюю систему. Настройки действия выполняются на трех вкладках: Настройки, Контекст, Сценарии.

Вкладка Настройки

exten_8

На вкладке Настройки, укажите:

  • Название — наименование действия.
  • Название по умолчанию — наименование, отображающееся на блоке действия при добавлении его на схему бизнес-процесса.
  • Цвет блока — цвет, в который будет окрашен блок действия на схеме процесса.
  • Описание описание функциональных возможностей действия и его особенностей.
  • Процесс — из выпадающего списка выберите, к какому процессу модуля вы хотите привязать данное действие. Кнопка Обновить процесс до его последней версии используется, в том случае, если вносились изменения в список входных или выходных переменных процесса. В противном случае обновлять процесс не требуется;
  • Устаревшее — при обновлении модуля действие можно отметить, как устаревшее. В этом случае оно перестанет отображаться на панели инструментов в дизайнере процессов. Устаревший блок нельзя будет добавить на вновь создаваемые схемы процессов. Однако устаревшие действия продолжат работать без изменений в уже созданных процессах;
  • Модель выполнения — способ выполнения действия:
    • Синхронное — простое выполнение заданного в действии сценария (синхронное исполнение функции action).
    • Запрос результата — система выполнит заданный сценарий и отправит запрос во внешний сервис, чтобы узнать статус. Для реализации такого подхода в действии нужно определить функцию проверки результата check. Она должна вызываться с заданной периодичностью. Бизнес-процесс продолжится только после того, как функция check вернёт ответ true.
    • Обратный вызов — в обращении к внешнему сервису передаётся url, на который необходимо вернуть результат. То есть в параметрах вызова передаётся адрес, который будет вызван после выполнения задачи внешним сервисом, и на который будут отправлены результаты выполнения. Url ответа передаётся как входной аргумент функции action. Любой запрос на данный url передается в функцию callback. После этого выполнение процесса продолжится.
  • Количество повторов при ошибке — укажите, сколько раз система должна попытаться выполнить действие.
  • Пауза между повторами при ошибке (сек)* — определите частоту попыток.

Вкладка Контекст

На вкладке Контекст вы можете добавить переменные, используемые для данного действия. После добавления действия на схему процесса, вы сможете сопоставить эти переменные с контекстом процесса.

Чтобы создать новую контекстную переменную, нажмите +Добавить. Подробнее о типах переменных читайте в статье «Типы данных в системе».

ld1

Сопоставление контекста действия и процесса (биндинг)

Контекстные переменные действия можно передавать в бизнес-процесс, который содержит это действие.  В свою очередь, действие может получать контекстные переменные процесса, в котором оно используется. Для передачи переменных необходимо сопоставить контексты действия и процесса:

  1. В настройках действия на вкладке Контекст задайте входные и выходные параметры:
  • Входные параметры. Заполняются до выполнения действия. В них передаются данные из бизнес-процесса, в котором используется действие.
  • Выходные параметры. Заполняются после выполнения действия. Передаются из действия в контекст бизнес-процесса, или напрямую в поля приложения, используемого в процессе.
  1. Отметьте, какие переменные являются входными, выходными.
  2. Сохраните контекст и опубликуйте действие.

 

После добавления действия на схему процесса, вы сможете сопоставить заданные переменные с контекстом процесса. Для этого на схеме бизнес-процесса:

  1. Дважды нажмите на пользовательском действии или добавьте новое с правой панели.
  2. В окне настроек действия перейдите на вкладку Входные и выходные атрибуты.
  3. Откроется окно с формой сопоставления.  Стандартная форма содержит две колонки, в столбцах Шаг которых указаны входные и выходные переменные действия. Столбец Процесс в каждой из колонок служит для выбора переменных процесса, в котором действие используется.
  4. Нажмите Выберите поле напротив входной или выходной переменной действия и в выпадающем списке выберите переменную процесса, которую хотите сопоставить. Сопоставляемые переменные должны быть одного типа.
  5. Для завершения настройки нажмите Сохранить.

 

Изменить форму сопоставления

Вы можете создать свою форму сопоставления. Для этого на вкладке Контекст нажмите кнопку Создать форму. Важно: после того, как форма будет создана, вернуться к базовой форме будет нельзя. Система предупредит вас об этом, и вы сможете либо продолжить, либо отменить изменение формы. 

ld2

Нажмите кнопку ОК, чтобы перейти в дизайнер интерфейсов для создания формы.

Когда форма будет создана, то в дизайнере бизнес-процессов в настройках действия вместо вкладки Входные и выходные атрибуты появится вкладка Настройки действия. На ней будет отображена настроенная вами форма.

Создание входных и выходных переменных с помощью сценария

Входные и выходные переменные пользовательского действия можно создавать на форме сопоставления с помощью сценария.

начало внимание

Создание переменных с помощью сценария возможно только для пользовательских действий типа Скрипт

конец внимание

 

Чтобы создавать переменные с помощью сценария:

  1. На вкладке Действия в БП пользовательского модуля создайте действие типа Скрипт или выберите ранее созданное действие.
  2. Создайте в действии свою форму сопоставления, как описано выше, и откройте ее.
  3. Перейдите на вкладку Шаблон и с правой панели вынесите на форму виджет Динамический биндинг.
  4. На вкладке Контекст формы создайте переменную типа Произвольный тип, в которую будет записываться набор входных и выходных переменных.
  5. Сохраните и опубликуйте форму.
  6. Чтобы контекстная переменная стала доступна в сценарии, закройте форму и откройте снова, нажав на кнопку Изменить форму на вкладке Контекст действия.
  7. Откройте настройки виджета Динамический биндинг и на вкладке Основные в опции Динамические поля выберите переменную, созданную на шаге 4. Сохраните настройки виджета.

dynamic_binding-_2

  1. На вкладке Сценарий формы разместите клиентский скрипт, который будет создавать входные и выходные переменные и сохранять их в ранее созданную переменную типа Произвольный тип.

dynamic_binding_3

  1. Настройте параметры запуска сценария. Сценарий можно запускать с помощью управляющего элемента на форме, например, кнопки, или при наступлении какого-либо события.  Пример текста сценария и настройки запуска приведен в ELMA365 Exchange.
  1. Сохраните и опубликуйте форму сопоставления.

 

В дизайнере бизнес-процесса, когда вы откроете действие на схеме и перейдете на вкладку Настройки действия, входные и выходные параметры — динамические поля, будут созданы автоматически или вы сможете запустить скрипт для их генерации. Узнать больше о динамических полях в справке по TS SDK.

dynamic_binding_1

 

Вкладка Сценарии

На вкладке Сценарии создается сценарий действия. Для написания сценариев используется язык программирования TypeScript. Более подробно про принципы написания сценариев в ELMA365 вы можете прочитать в справке по TypeScript SDK .

При написании сценариев можно использовать константу Global. Она дает доступ к переменным, содержащимся в разделах, и к глобальным параметрам. Использование этого объекта препятствует дальнейшей выгрузке модуля. То есть, если использовать константу Global в сценарии действия, то модуль с этим действием нельзя будет экспортировать.

Чтобы разрешить доступ к константе Global в верхнем меню нажмите Настройки. В открывшемся окне выберите опцию Global.

api-2

После того, как вы укажете все необходимые настройки, сохраните и опубликуйте их. Действие готово к использованию. Оно будет доступно в Дизайнере бизнес-процессов, на панели инструментов справа от поля для моделирования, на вкладке Интеграции.

Вызов процесса

Такое действие позволяет вызвать процесс, настроенный в модуле на вкладке Процессы.

Вкладка Настройки

exten_11

На вкладке Настройки, укажите:

  • Название — наименование действия;
  • Название по умолчанию — наименование действия, отображающееся при добавлении его на схему бизнес-процесса;
  • Цвет блока — цвет, в который будет окрашен блок действия на схеме процесса;
  • Описание описание функциональных возможностей действия и его особенностей;
  • Процесс — из выпадающего списка выберите, к какому процессу модуля вы хотите привязать данное действие. Кнопка Обновить процесс до его последней версии используется, в том случае, если вносились изменения в список входных или выходных переменных процесса. В противном случае обновлять процесс не требуется;
  • Устаревшее — при обновлении модуля действие можно отметить, как устаревшее. В этом случае оно перестанет отображаться на панели инструментов в дизайнере процессов. Устаревший блок нельзя будет добавить на вновь создаваемые схемы процессов. Однако устаревшие действия продолжат работать без изменений в уже созданных процессах;
  • Сообщение для устаревшего блока — текст предупреждения о том, что процесс содержит устаревшие блоки. Сообщение показывается пользователю при публикации процесса с устаревшими действиями;
  • Количество повторов при ошибке — укажите, сколько раз система должна попытаться выполнить действие;
  • Пауза между повторами при ошибке (сек)* — определите частоту попыток.

Вкладка Контекст

Здесь отображаются контекстные переменные процесса, выбранного на вкладке Настройки. Укажите, какие переменные являются входными, выходными или обязательными для заполнения.

  • Входные параметры — заполняются до выполнения действия. В них можно передать значения контекстных переменных процесса, в котором используется действие. 
  • Выходные параметры — заполняются после выполнения действия. Выходные параметры  можно передавать в контекст процесса, в котором используется действие, или напрямую в поля приложения. Сопоставляемые переменные должны быть одного типа.

После того, как вы укажете все необходимые настройки, сохраните и опубликуйте их. Действие готово к использованию. Оно будет доступно в Дизайнере бизнес-процессов, на панели инструментов справа от поля для моделирования, на вкладке Интеграции.

 

Особенности использования действий

Если модуль включен, действия можно добавлять на схемы бизнес-процессов. При этом необходимо учитывать ряд особенностей.

Эскалация

Для пользовательских действий обязательно нужно добавлять переход по эскалации. Это позволит избежать возникновения ошибки при выполнении процесса, если модуль будет отключен.

Чтобы настроить эскалацию, дважды нажмите на блок на схеме процесса. Перейдите на вкладку Обработка ошибок.

exten-12

  • Оповещение — выберите эту опцию, если вы хотите, чтобы при ошибке ELMA365 уведомила об этом ответственных пользователей. Укажите этих пользователей —текущего пользователя, контекстную переменную, например, инициатора, группу или элемент орг.структуры. Обратите внимание, текущий пользователь — это человек, который выполнил задачу, стоящую перед действием на схеме процесса.
  • Прервать — в случае ошибки система прекратит попытки выполнить действие и направит процесс по выбранному переходу.

Сопоставление контекста действия и процесса

Контекст пользовательских действий можно сопоставить с контекстом процесса, в котором они применяются. При этом выходные параметры можно передавать как в переменные процесса, так и напрямую в поля любого приложения, добавленного в контекст процесса.

Для выполнения настройки дважды нажмите на блок действия на схеме. На вкладке Основное в поле Присвоить выходные атрибуты в выберите нужную опцию.

exten-13

  • Контекст процесса — значения выходных атрибутов действия можно будет присвоить контекстным переменным бизнес-процесса.
  • Приложение — значения выходных атрибутов действия можно будет присвоить полям приложения, добавленного в контекст бизнес-процесса.
  • Переменная — в контексте процесса выберите приложение, с полями которого будут сопоставляться выходные атрибуты действия.

Перейдите на вкладку Входные и выходные атрибуты. Сопоставьте контекст действия и процесса или приложения. Сопоставляемые переменные должны быть одного типа. Для таблиц предусмотрена возможность сопоставления колонок. Если вы настроили собственную форму биндинга, то она будет отображена вместо вкладки Входные и выходные атрибуты.

Действие типа Вызов процесса vs Запуск процесса

Действия типа Вызов процесса и Запуск процесса похожи, но между ними есть ряд различий. Они приводятся в таблице ниже.

 

Вызов процесса

пользовательское действие

Запуск процесса

системное действие

Отслеживается в мониторе процессов

Нет

Да

История выполнения каждого шага доступна пользователям

Нет

Да

Асинхронный запуск

Нет

Переход к следующему шагу бизнес-процесса возможен только после выполнения действия типа Вызов процесса.

Да

Можно продолжить выполнение текущего процесса, не дожидаясь окончания дочернего.

Отображение

Не отображается в списке процессов в разделе Администрирование. Нельзя запустить напрямую в интерфейсе ELMA365, нажав на кнопку Запуск процесса. Выполняется только с помощью действия типа Вызов Процесса.

Самостоятельный бизнес-процесс. Отображается в разделе Администрирование>Бизнес-процессы.

Обновление действий

При обновлении модуля, могут обновиться пользовательские действия. Устаревшие блоки нельзя будет добавить на вновь создаваемые схемы процессов. Они перестанут отображаться на панели инструментов в дизайнере процессов. Однако устаревшие действия продолжат работать без изменений в уже созданных процессах. Если вам потребуется внести изменения в логику процесса, например, изменить участников, то при публикации вы увидите предупреждение о том, что процесс содержит устаревшие блоки.

Нашли опечатку? Выделите текст, нажмите ctrl + enter и оповестите нас