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

Автостарт процессов

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

В программе есть два варианта автоматического старта процессов:

Интерактивный старт процессов возможен только для документов. Настраивается в момент назначения шаблона процесса определенному виду документа.

Назначение шаблона процесса виду документа. Интерактивный запуск:

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

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

Назначение шаблона процесса виду документа. Запуск процесса по событиям документа:

Настройка автозапуска процесса по событию:

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

Запуск процессов по событиям доступен только для следующих объектов:

Метаданные

Объект конфигурации

Описание

Регистр сведений НастройкаШаблоновБизнесПроцессов

Регистр содержит настройки шаблонов процессов (привязку шаблонов процессов к видам документов), а также настройки интерактивного старта процесса.

За настройки интерактивного старта отвечают реквизиты:

ИнтерактивныйЗапуск

ВидИнтерактивногоСобытия

Перечисление ВидыИнтерактивныхДействий

Содержит перечисление всех возможных вариантов интерактивного старта для входящих, исходящих и внутренних документов.

Общие модули

ИнтерактивныйЗапускБизнесПроцессов

ИнтерактивныйЗапускБизнесПроцессовКлиент

Содержат процедуры по управлению интерактивным стартом процессов.

Общие формы:

ОповещениеПриИнтерактивномАвтоЗапускеБизнесПроцессов

ВыборПриИнтерактивномАвтоЗапускеБизнесПроцессов

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

Формы элементов (ФормаЭлемента) справочников

ВнутренниеДокументы

ВходящиеДокументы

ИсходящиеДокументы

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

Регистр сведений

ПравилаАвтоматическогоЗапускаБизнесПроцессов

Регистр хранит все настройки автоматического запуска процессов по бизнес-событиям.

Справочник ВидыБизнесСобытий

Справочник бизнес-событий.

Общий модуль БизнесСобытияВызовСервера

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

В том числе и процедуры запуска процессов по событиям:

ШаблонПодходитДляАвтозапускаБизнесПроцессаПоДокументу

ОбработатьСобытиеАвтоматическийЗапускБизнесПроцессов

УдалитьПравилоАвтоматическогоЗапускаБизнесПроцессов

СохранитьПравилоАвтоматическогоЗапускаБизнесПроцессов

Регистр сведений ПодпискиНаБизнесСобытия

Регистр сведений содержит все подписки на события, в том числе и подписки для автоматического запуска процессов (значение АвтоматическийЗапускБизнесПроцессов перечисления ПотребителиБизнесСобытий).

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

  1. Ответственный за шаблоны процессов сотрудник настраивает интерактивный старт процессов в форме ФормаЗаписи регистра сведений НастройкаШаблоновБизнесПроцессов. Настройки сохраняются в регистр сведений.
  2. В карточке любого документа в событии ПослеЗаписиНаСервере считываются настройки в процедуре ЗаполнитьШаблоныДляАвтоЗапуска.
  3. В зависимости от считанных настроек в событиях ПослеЗаписиКлиент (при ручной регистрации) или ПередЗакрытием пользователю предлагается выполнить, интерактивный старт одного из назначенных процессов.

За интерактивный старт процессов отвечает процедура ИнтерактивныйЗапускБизнесПроцессовКлиент.ВыполнитьИнтерактивныйЗапускБизнесПроцесса.

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

Ответственный за шаблоны процессов сотрудник настраивает старт процессов по событиям в форме ФормаЗаписи регистра НастройкаШаблоновБизнесПроцессов или ПравилаАвтоматическогоЗапускаБизнесПроцессов. Настройки в обоих случаях сохраняются в регистр сведений ПравилаАвтоматическогоЗапускаБизнесПроцессов. За сохранение отвечают процедуры СохранитьПравилоАвтоматическогоЗапускаБизнесПроцессов и ПолучитьБизнесСобытияПоВидуДокумента общего модуля БизнесСобытияВызовСервера.

При этом запись добавляется в регистр сведений ПодпискиНаБизнесСобытия. В качестве потребителя записывается значение АвтоматическийЗапускБизнесПроцессов перечисления ПотребителиБизнесСобытий. На этом настройка завершается.

После соответствующие события регистрируются. Регистрация может происходить непосредственно при изменении объектов либо детектором бизнес-событий. При обработке всех событий производится обработка событий автостарта (вызов процедуры ОбработатьСобытиеАвтоматическийЗапускБизнесПроцессов). Если настройка была произведена корректно и все условия выполнены, то процесс стартует. Обработка всех событий происходит в процедуре ОбработкаПроизошедшихБизнесСобытий. Процедура вызывается одноименным регламентным заданием.

Как добавить свое событие автоматического старта процессов

  1. Добавить Бизнес-событие (Настройка и администрирование – Бизнес-События – Виды событий).
  2. Добавить детектор, который будет регистрировать наступление бизнес-события. Детектор должен регистрировать события только для объектов вышеперечисленных типов.
  3. Для бизнес-события добавить настройку автоматического старта (карточка бизнес-события – панель навигации – Правила автоматического запуска процессов).

Как добавить автостарт процессов для объектов других типов

Возможность автостарта процессов для объектов определяется функцией ШаблонПодходитДляАвтозапускаБизнесПроцессаПоОбъекту в модуле менеджера каждого объекта.

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

Рекомендации

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