Навигация:  Корпоративные Документы и Процессы > Бизнес-процессы > Настройка бизнес-процесса > Состояния >

Источник и Приемник

ПредыдущаяВернуться к началу главыСледующая

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

Источник и приемник сигнала - состояния, позволяющие обмениваться информацией (сигналами) между параллельными потоками выполнения. Используются как дополнительный синхронизатор между параллельными потоками процесса. Для одного источника может быть определено несколько приёмников сигнала. При этом связь можно проводить только от источника к приемнику, т.е. начальное состояние всегда источник, а конечное – приемник.

Обозначаются значками: Источник и Приемник.

 

Пример использования источника и приемника сигналов

Процесс продажи товара компьютерным магазином смоделирован так, что после оформления заказа поток выполнения разделяется на два параллельных потока: по одному потоку задачи выполняются бухгалтерией, а по другому — складом. На складе комплектуют товар и готовят его к отправке заказчику. Однако нужно, чтобы товар отправлялся сразу после того, как из бухгалтерии придет подтверждение об оплате (но никак не раньше). Тогда в потоке выполнения задач бухгалтерией после функции по составлению приходно-кассового ордера (либо банковской выписки) ставится источник сигнала, а в параллельном потоке выполнения задач складом перед функцией отправки товара — приемник. Даже если задачи выполнятся складом быстрее, чем бухгалтерия получит деньги, его поток выполнения не дойдет до функции отправки товара, пока параллельный поток не дойдет до источника сигнала. Можно настроить, чтобы значения реквизитов Документ оплаты и Суммы оплаты передавались из источника приемнику.

 

Схема процесса в Редакторе Бизнес-процессов

Схема процесса в Редакторе Бизнес-процессов

 

В системе ИНТАЛЕВ: Корпоративный менеджмент также реализован функционал Источник/Приёмник между разными бизнес-процессами. Механизм Источник/Приемник для разных бизнес-процессов аналогичен механизму для источника/приемника в параллельных потоках одного процесса. Суть механизма заключается в следующем: задача-приемник ждет выполнения задачи-источника, по исполнению источника в приемник могут быть переданы значения указанных реквизитов. При постановке задача-приемник не проводится, а ждет, когда ее проведет задача-источник. При проведении задачи-источника происходит поиск задач-приемников и их проведение.

При отмене проведения задачи-источника отменяется проведение задач-приёмников. Приемники же самостоятельно не могут отменяться и работают как неотменяемые задачи (в случае источника/приемника в параллельных потоках одного процесса приемники можно отменять как обычные задачи).

 

При настройке источника/приемника между разными бизнес-процессами необходимо учесть следующее:

1.Нет возможности графически на схеме бизнес-процесса установить связь между источником и приемником. Для создания связи источник/приемник необходимо перейти в форму источника и добавить необходимые переходы к приемникам на вкладке Приемники.
2.Поскольку сессий приемников может быть запущено значительное количество, то при выполнении процесса источника необходимо определить, с какими сессиями приемниками будет работать источник. Источник будет воздействовать только на приёмники, находящиеся в заданных сессиях. Для задания сессий необходимо установить формулу на переходе между источником и приемником. Самым простым решением будет формула, возвращающая значение реквизита процесса. Допускается задавать формулу с использованием реквизитов табличной части, в таком случае один источник может воздействовать на несколько сессий приемников одновременно.

 

Описание объектов

Для того чтобы добавить Источник сигнала, необходимо открыть:

Меню: Моделирование >> Документы и процессы >> Навигатор бизнес-процессов. В правой части окна, где расположены элементы процесса, выбрать Добавить >> Источник.

 

Форма состояния Источник. Вкладка Реквизиты

Форма состояния Источник. Вкладка Реквизиты

 

Наименование - определяется название состояния.
oПередавать приемникам значения реквизитов - задаются настройки обмена информацией между параллельными потоками или процессами.
Процесс приёмника - указывается процесс приёмника.
oРеквизиты
oТабличная часть - указываются реквизиты процесса-приёмника, для них устанавливаются в соответствие реквизиты процесса-источника.
oПриёмники - вкладка для добавления переходов к приёмникам для создания связи источник/приёмник между разными бизнес-процессами.

 

Форма состояния Источник. Вкладка Приёмники

Форма состояния Источник. Вкладка Приёмники

 

oТабличная часть
Конечное состояние - указываются приёмники для данного источника.
Условие - в случае если источник и приемник находятся в разных процессах, необходимо задать формулу, при расчете которой будет возвращаться сессия, содержащая приемник.

 

Для того чтобы добавить Приемник сигнала, необходимо открыть:

Меню: Моделирование >> Документы и процессы >> Навигатор бизнес-процессов. В правой части окна, где расположены элементы процесса, выбрать Добавить >> Приемник.

 

Форма состояния Приемник

Форма состояния Приемник

 

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

 

Пример использования функционала Источник/Приёмник для разных бизнес-процессов.

На предприятии есть два процесса: Заявка на ДС и Утверждение заявки. Приведём схемы этих процессов.

 

Схема процесса Заявка на ДС

Схема процесса Заявка на ДС

 

Схема процесса Утверждение заявки

Схема процесса Утверждение заявки

 

Необходимо, чтобы в процессе Заявка на ДС задачи Отклонение заявки и Подтверждение оплат были поставлены только после выполнения задачи Утверждение заявки финансовым директором процесса Утверждение заявки. Причём, требуется, чтобы была поставлена только одна из этих задач, в зависимости от решения финансового директора. Для реализации такой задачи мы будем использовать состояния Источник и Приёмник.

Для того чтобы задача Отклонение заявки (или Подтверждение оплат) была поставлена только после выполнения задачи Утверждение заявки финансовым директором из процесса Утверждение заявки, добавим состояние Источник после задачи Утверждение заявки финансовым директором в процесс Утверждение заявок. В процесс Заявка на ДС добавим состояние Приёмник перед задачами Отклонение заявки и Подтверждение оплат.

 

Схема процесса Утверждение заявки

Схема процесса Утверждение заявки

 

Схема процесса Заявка на ДС

Схема процесса Заявка на ДС

 

Для того чтобы установить связь между Источником и Приемником бизнес-процессов Утверждение заявки и Заявка на ДС, создадим реквизит Сессия процесса приемника на форме процесса Утверждение заявки. Для реквизита Сессия процесса приемника укажем тип данных Начало сессии. Этот реквизит будет использоваться  в формуле , с помощью которой будет осуществляться переход между Источником и Приемником.

 

Форма реквизита Сессия процесса приемника. Выбор типа данных

Форма реквизита Сессия процесса приемника. Выбор типа данных

 

На форме источника в поле Процесс приемника выберем процесс Заявка на ДС. На вкладке Реквизиты укажем реквизиты источника, соответствующие реквизитам приемника.

 

Состояние Источник. Вкладка Реквизиты

Состояние Источник. Вкладка Реквизиты

 

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

 

Состояние Источник. Вкладка Приёмники. Настройка условия перехода

Состояние Источник. Вкладка Приёмники. Настройка условия перехода

 

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

 

Состояние Приёмник

Состояние Приёмник

 

Посмотрим, как работают настроенные бизнес-процессы.

Запустим две сессии: одну - по процессу Заявка на ДС, вторую - по процессу Утверждение заявки.  Выполним первую задачу процесса Заявка на ДС - Формирование заявки.

 

Форма задачи Формирование заявки. Заполнение необходимых полей

Форма задачи Формирование заявки. Заполнение необходимых полей

 

Новая задача сессии Заявки на ДС не будет поставлена, пока финансовый директор не выполнит задачу Утверждение заявки финансовым директором процесса Утверждение заявки.

При выполнении задачи Утверждение заявки финансовым директором сессии Утверждение заявки в поле Сессия процесса приемника выберем запущенную сессию Заявка на ДС.

 

Форма задачи Утверждение заявки финансовым директором. Заполнение полей

Форма задачи Утверждение заявки финансовым директором. Заполнение полей

 

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

 

Журнал задач сессии процесса Заявка на ДС

Журнал задач сессии процесса Заявка на ДС

 

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

 

Журнал задач сессии процесса Заявка на ДС

Журнал задач сессии процесса Заявка на ДС

 

Таким образом, в системе ИНТАЛЕВ: Корпоративный менеджмент реализуется функционал Источник/Приёмник для разных бизнес-процессов.

 

См. также:

Редактор бизнес-процессов