830 документов
← К списку

События в процессах, или Как сделать событийно управляемый процесс

страница

Документооборот КОРП, ДГУ
30.03.2016

События в процессах, или Как сделать событийно управляемый процесс

Общее описание

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

Самый простой способ автоматизации ожидания оплаты договора – это создание задачи "ожидание оплаты договора" одному из сотрудников, который бы периодически проверял факт оплаты договора. Если договор оплачен, сотрудник должен выполнить задачу, и тем самым продвинуть процесс обработки договора дальше по марштуру. Но у данного подхода есть недостаток – задача направляется сотруднику, отображается в его списках, мешается и влияет на его исполнительскую дисциплину. И сотрудник на это не может повлиять.

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

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

Как настроить событийно управляемый процесс

Рекомендована следующая последовательность действий:

  1. Спроектировать комплексный процесс так, как он бы выполнялся без события ожидания. Например, создать комплексный процесс с двумя действиями: согласование и исполнение договора.
  2. В местах, где требуется ожидания какого-либо события (например, ожидание оплаты договора перед исполнением договора), добавить процесс исполнение. Назвать процесс можно, например, "Ожидание оплаты договора".
    • Адресовать процесс пользователю, созданному специально для этой цели. Он может называться Робот ДО. Важно: используйте именно пользователя, а не роль. Это связано с тем, что задачи в программе должны выполняться только пользователями. При несоблюдении этого условия исполнителем задачи окажется пользователь <Не указан>.
    • Привязать старт процесса к соответствующим действиям, которые инициируют ожидание. Это может быть завершение процесса согласования договора или процесс исполнение, в рамках которого один из сотрудников отправляет корреспонденту подписанный договор и счет на оплату.
  3. Привязать старт следующих действий (например, которые должны выполняться после оплаты договора) к выполнению процесса исполнения, добавленного в действии 2.
  4. Добавить вид бизнес-события, соответствующий детектор и обработчик бизнес-события (Настройка и администрирование – Бизнес-события).
    • В коде детектора следует анализировать условие выполнения задачи (например, пришла ли оплата по договору, который прикреплен в качестве предмета). Если условие выполняется, тогда регистрировать бизнес-событие.
    • В код обработчика бизнес-события следует поместить код, который будет выполнять задачу по зарегистрированному бизнес-событию.
    • Прежде чем добавлять код в детектор и обработчик бизнес-событий, его следует проверить на работоспособность во внешней обработке.

Как работает событийно управляемый процесс

  1. Заводится договор (договор подряда на строительство) и запускается комплексный процесс по обработке договора (Обработка строительного договора).
  2. Сотрудники согласуют договор.
  3. После этого в рамках комплексного процесса запускается процесс ожидания оплаты договора (ожидание события).
  4. По факту оплаты договора (при выставлении соответствующей отметки в карточке договора) комплексный процесс переходит к действию исполнения договора.