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

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

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

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

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

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

exten_7

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

Нажмите Сохранить, чтобы перейти к настройкам действия.

Скрипт

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

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

exten_8

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

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

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

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

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

exten_10

Отметьте, какие переменные являются входными, выходными и обязательными для заполнения.

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

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

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

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

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

api-2

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

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

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

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

exten_11

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

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

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

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

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

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

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

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

Эскалация

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

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

exten-12

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

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

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

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

exten-13

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

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

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

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

 

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

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

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

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

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

Нет

Да

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

Нет

Да

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

Нет

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

Да

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

Отображение

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

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

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

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