При моделировании сложных бизнес‑процессов часто возникает необходимость декомпозиции: выделить повторяющиеся или обособленные сценарии в отдельные подпроцессы. В системе существует несколько способов запуска одного процесса из другого:
- блок Запуск процесса — отдельный графический элемент, который вы размещаете на схеме родительского процесса. Позволяет запустить любой процесс, созданный на уровне приложения, раздела или компании;
- вкладка Запуск процесса в настройках блоков Задача, Создание элемента, Изменение элемента, Согласование, Ознакомление, Согласование по маршруту, Регистрация документа, Подписать — способ доступен с версии системы 2026.2. Позволяет запустить подпроцесс одновременно с постановкой задачи родительского процесса. При этом в скриптах дочернего процесса вы можете получить прямой доступ к данным связанной задачи через системное свойство __task;
- действие БП типа Вызов процесса — запускает процессы, созданные в пользовательском модуле.
Рассмотрим их сходства и различия.
Сравнение действия типа «Вызов процесса», блока «Запуск процесса» и вкладки «Запуск процесса»
Действие типа Вызов процесса, блок Запуск процесса и вкладка Запуск процесса похожи, но между ними есть различия. Их сравнение приведено в таблице.
|
Вызов процесса |
Блок «Запуск процесса» |
Вкладка «Запуск процесса» |
Цель |
Позволяет настроить запуск определённого бизнес‑процесса, созданного на уровне модуля. Такой процесс нельзя запустить напрямую в интерфейсе ELMA365, например, через кнопку запуска процесса, добавленную на карточку элемента. Выполняется только с помощью действия типа Вызов процесса. |
Позволяет запустить любой бизнес-процесс, созданный на уровне приложения, раздела или компании. |
|
Пример использования |
Обработка контекстных переменных родительского процесса в рамках настроенной интеграции со сторонним ресурсом через пользовательский модуль. |
Работа с переменными родительского процесса в дочернем процессе в рамках параллельной комплексной задачи со своими зонами ответственности, шагами и т. д. |
Передача системных свойств задачи из родительского в дочерний процесс, например, для формирования ссылки на задачу и т. д. |
Когда запускается |
Подпроцесс запускается на отдельном шаге родительского процесса. |
Подпроцесс запускается одновременно с блоком, к которому привязан в родительском процессе. |
|
Где настраивается |
Пользовательское действие, созданное заранее в модуле. Отображается в виде блока на вкладке Интеграции, если модуль включён. |
Отдельный блок на вкладке Стандартные элементы. |
В настройках блоков Задача, Создание элемента, Изменение элемента, Согласование, Ознакомление, Согласование по маршруту, Регистрация документа, Подписать. |
Асинхронный запуск |
Нет. Переход к следующему шагу бизнес-процесса возможен только после выполнения действия типа Вызов процесса. |
Да (опционально). Родительский процесс может выполняться параллельно с дочерним, т. е. с блоком Запуск процесса, не дожидаясь его окончания. Также можно настроить возобновление родительского процесса только после окончания дочернего. |
Только асинхронный запуск — параллельно с родительским процессом. |
Связать запуск подпроцесса с объектом родительского процесса |
Нет. |
Можно связать запуск подпроцесса с переменной типа Приложение родительского процесса. Тогда события дочернего процесса отобразятся в ассоциированной ленте связанного объекта. |
Подпроцесс связывается автоматически с текущей задачей родительского процесса. Это позволяет в дочернем процессе обращаться в скриптах к данным этой задачи с помощью системного свойства __task. |
Передача контекстных переменных из родительского в дочерний процесс |
Да. |
||
Передача контекстных переменных из дочернего в родительский процесс |
Да. |
Да, если отключён асинхронный запуск. |
Нет. |
Отслеживается в мониторе процессов |
Да. |
||
История выполнения каждого шага доступна пользователям |
Да. Информация доступна в карточке экземпляра на вкладке История. |
||
Подробнее о настройке этих способов читайте:
- о действии пользовательского модуля — в статье «Вызов процесса»;
- о блоке — в статье «Запуск процесса»;
- о вкладке — в статье «Параллельный запуск подпроцесса из текущего шага».