Принудительное завершение бизнес-процессов

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

Для этого необходимо установить свойство Завершен бизнес-процесса равным Истина:

Копировать в буфер обмена
    БизнесПроцесс.Завершен = Истина;
    БизнесПроцесс.Записать();

Далее нужно отметить все задачи по этому бизнес-процессу как выполненные. Отобрать задачи по бизнес-процессу можно с помощью запроса вида:

Копировать в буфер обмена
    "ВЫБРАТЬ
    | Задача.Ссылка
    |ИЗ
    | Задача.Задача КАК Задача
    |ГДЕ
    | Задача.БизнесПроцесс = &Парам";

После чего каждой из отобранных задач нужно установить свойство Выполнена равным Истина:

Копировать в буфер обмена
    ТекущаяЗадача.Выполнена = Истина;
    ТекущаяЗадача.Записать();

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

Пример реализации такой методики завершения бизнес-процесса приводится в обработке "ЗавершениеБизнесПроцессов". Эта обработка позволяет выбрать любой бизнес-процесс и завершить его путем нажатия на кнопку "Завершить":

Обработка ЗавершениеБизнесПроцессов81.epf находится на CD-ROM в каталоге \1CITS\EXE\BusinessProcess81\

Копировать обработку на жесткий диск