Внешний подпроцесс
![]() |
Подпроцесс (Вложенный бизнес-процесс) - самостоятельный бизнес-процесс, инициируемый в ходе выполнения родительского процесса. При инициации подпроцесса выполнение родительского процесса приостанавливается до тех пор, пока не завершится подпроцесс. Исключение составляют внешние подпроцессы, имеющие маркер "Множественное выполнение".
Внешний подпроцесс - бизнес-процесс, выполняющийся в собственном контексте. Обмен данными с родительским процессом в таком подпроцессе строится через входные и выходные атрибуты процесса, сценарии, а также с использованием операций Отправка сообщения и Ожидание сообщения. Внешний подпроцесс может быть запущен в системе в качестве самостоятельного процесса.
|
Создание внешнего подпроцесса
Перед размещением элемента "Внешний подпроцесс" в модели родительского процесса, необходимо создать и выполнить моделирование подпроцесса в системе в качестве самостоятельного процесса. Элемент "Внешний подпроцесс" добавляется на графическую модель родительского процесса с боковой панели. Сразу после размещения элемента предлагается выбрать внешний подпроцесс из списка процессов (рис. 1).

Рис. 1. Окно выбора внешнего подпроцесса
Настройки внешнего подпроцесса
Вкладка "Общие"

Рис. 2. Настройки внешнего подпроцесса. Вкладка "Общие"
Название * — название внешнего подпроцесса, отображаемое на графической модели, в документации по процессу и регламенте процесса, а также в заголовке окна редактирования данного внешнего подпроцесса. Название внешнего подпроцесса также отображается на кнопке перехода к этому подпроцессу в веб-приложении в случае, если переход не имеет собственного названия.
Описание — описание внешнего подпроцесса, отображаемое в документации по процессу и регламенте процесса.
Процесс — отображает текущий выбранный процесс. Кнопка Изменить процесс позволяет задать любой из доступных в системе процессов.
Кнопка Изменить маркер — позволяет настроить выполнение подпроцесса в цикле, по условию, а также настроить множественное выполнение. При этом у операции на графической модели появляется дополнительный маркер, а в окне настройки операции дополнительные вкладки. Настройка выполнения подпроцесса в цикле, по условию, а также множественное выполнение описаны на странице Маркеры операций.
Также на этой вкладке можно установить флажки для определения Действия при прерывании (завершении) экземпляров. Данные флажки определяют взаимное поведение процесса и подпроцессов при прерывании экземпляра процесса в веб-приложении:
-
Прерывать родительский экземпляр процесса при прерывании экземпляра подпроцесса. Следует отметить, что данное действие недоступно при выборе маркера операций Множественное выполнение.
-
Прерывать экземпляры подпроцессов при прерывании родительского экземпляра.
Переменные, передаваемые во внешний подпроцесс из родительского процесса называются входными атрибутами подпроцесса. Переменные, передаваемые из внешнего подпроцесса в родительский, называются выходными атрибутами подпроцесса.
На вкладке Входные/выходные атрибуты отображаются входные и выходные переменные подпроцесса и соответствующие им переменные родительского процесса. Переменная подпроцесса и связанная с ней переменная родительского процесса должны быть одного типа.
Если у внешнего подпроцесса установлен маркер "Множественное выполнение", для него нельзя установить сопоставление выходных переменных.

Рис. 3. Настройки внешнего подпроцесса. Вкладка "Входные/выходные атрибуты"
Таблицы Входные переменные и Выходные переменные содержат следующие данные:
Подпроцесс - наименование переменной, для которой установлен флажок "Входная переменная" или "Выходная переменная" на вкладке Контекст подпроцесса.
Родительский - наименование переменной родительского процесса, с которой сопоставлена переменная подпроцесса. По умолчанию в данном столбце установлены значения <Не задано>, для изменения значения необходимо кликнуть по текущему значению в столбце.
Последовательность действий по сопоставлению переменных родительского процесса и подпроцесса:
1. У подпроцесса на вкладке Контекст отметить флажками входные и выходные переменные соответственно (рис. 4). Отмеченные переменные отображаются на вкладке "Входные/выходные атрибуты" в настройках внешнего подпроцесса (рис. 3).
Входная переменная - это переменная, в которую передаются данные из родительского процесса при запуске подпроцесса.
Выходная переменная - это переменная, значение которой передается в родительский процесс по завершении подпроцесса.

Рис. 4. Контекстные переменные подпроцесса. Флажками отмечены входные и выходные переменные
2. В настройках элемента "Внешний подпроцесс" родительского процесса на вкладке Входные/выходные атрибуты настроить сопоставление контекстных переменных. Для этого необходимо кликнуть по текущему значению в столбце "Родительский" и из предложенного списка переменных родительского процесса выбрать ту, которую нужно сопоставить с переменной подпроцесса.
Переменная подпроцесса и связанная с ней переменная родительского процесса должны быть одного типа. При выборе переменной в выпадающем списке предлагаются только те переменные родительского процесса, которые имеют тип, указанный в столбце "Тип" (рис. 5).

Рис. 5. Настройки внешнего подпроцесса. Вкладка "Входные/выходные атрибуты". Сопоставление переменных
Для входных переменных в качестве значения, передаваемого в подпроцесс, может использоваться точное значение, введенное с клавиатуры. Для этого в выпадающем списке в столбце "Родительский" необходимо выбрать пункт Ввести значение.
Вкладка "Дополнительно"
На данной вкладке (рис. 6) предусмотрена возможность добавления участников родительского процесса в список участников подпроцесса. Должность участника определяется из списка должностей, групп пользователей и/или свойств.

Рис. 6. Настройки внешнего подпроцесса. Вкладка "Дополнительно"
При установке флажка Указать список должностей, которые могут быть указаны как участники подпроцесса появляется форма выбора должностей:
-
кнопка Добавить должность позволяет добавить элемент оргструктуры;
-
кнопка Добавить группу пользователей позволяет добавить группу пользователей;
-
кнопка Добавить из свойства позволяет добавить переменную типа "Пользователь", в которой хранится информация об исполнителях задач в настроенных зонах ответственности на графической модели подпроцесса.
Если флажок Указать список должностей, которые могут быть указаны как участники подпроцесса снят, форма выбора должностей по умолчанию будет скрыта.
См. также: