Сравнение способов запуска подпроцессов

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

  • блок Запуск процесса — отдельный графический элемент, который вы размещаете на схеме родительского процесса. Позволяет запустить любой процесс, созданный на уровне приложения, раздела или компании;
  • вкладка Запуск процесса в настройках блоков Задача, Создание элемента, Изменение элемента, Согласование, Ознакомление, Согласование по маршруту, Регистрация документа, Подписать — способ доступен с версии системы 2026.2. Позволяет запустить подпроцесс одновременно с постановкой задачи родительского процесса. При этом в скриптах дочернего процесса вы можете получить прямой доступ к данным связанной задачи через системное свойство __task;
  • действие БП типа Вызов процесса — запускает процессы, созданные в пользовательском модуле.

Рассмотрим их сходства и различия.

Сравнение действия типа «Вызов процесса», блока «Запуск процесса» и вкладки «Запуск процесса»

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

 

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

Блок «Запуск процесса»

Вкладка «Запуск процесса»

Цель

Позволяет настроить запуск определённого бизнес‑процесса, созданного на уровне модуля.

Такой процесс нельзя запустить напрямую в интерфейсе ELMA365, например, через кнопку запуска процесса, добавленную на карточку элемента.

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

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

Пример использования

Обработка контекстных переменных родительского процесса в рамках настроенной интеграции со сторонним ресурсом через пользовательский модуль.

Работа с переменными родительского процесса в дочернем процессе в рамках параллельной комплексной задачи со своими зонами ответственности, шагами и т. д.

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

Когда запускается

Подпроцесс запускается на отдельном шаге родительского процесса.

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

Где настраивается

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

Отдельный блок на вкладке Стандартные элементы.

В настройках блоков Задача, Создание элемента, Изменение элемента, Согласование, Ознакомление, Согласование по маршруту, Регистрация документа, Подписать.

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

Нет.

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

Да (опционально).

Родительский процесс может выполняться параллельно с дочерним, т. е. с блоком Запуск процесса, не дожидаясь его окончания.

Также можно настроить возобновление родительского процесса только после окончания дочернего.

Только асинхронный запуск —  параллельно с родительским процессом.

Связать запуск подпроцесса с объектом родительского процесса

Нет.

Можно связать запуск подпроцесса с переменной типа Приложение родительского процесса. Тогда события дочернего процесса отобразятся в ассоциированной ленте связанного объекта.

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

Передача контекстных переменных из родительского в дочерний процесс

Да.

Передача контекстных переменных из дочернего в родительский процесс

Да.

Да, если отключён асинхронный запуск.

Нет.

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

Да.

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

Да. Информация доступна в карточке экземпляра на вкладке История.

Подробнее о настройке этих способов читайте: