Перейти к содержанию

Введение в отладку экземпляров бизнес-процесса

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

Текущие механизмы отладки позволяют производить следующие операции над экземпляром процесса:

Отправка произвольного сигнала

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

Для отправки сигнала нужно открыть контекстное меню любого узла и выбрать опцию Отправить сигнал, после этого откроется окно с редактором отправляемого сигнала.

Если сигнал будет обработан успешно, то процесс обновится, если нет - будет выведено сообщение об ошибке.

Управление заданием

Для активных узлов, имеющих отправленные задания, предусмотрена возможность отправки сигнала для изменения этих заданий.

Есть два способа формирования подобного сигнала:

  1. Открыть контекстное меню активного узла с отправленными заданиями и выбрать одну из опций: Отправить сигнал завершения заданий, Отправить сигнал обновления заданий или Отправить сигнал удаления заданий.
  2. Открыть редактор экземпляра узла, в таблице Задания выбрать одну или несколько строк с заданиями и нажать одну из кнопок: Завершить задание, Изменить задание или Удалить задание.

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

Есть три типа воздействия на задание, каждое из которых вызывается соответствующей кнопкой или вариантом контекстного меню:

  • Завершение заданий - завершает выбранные задания с указанным в сигнале вариантом завершения. При выборе данного варианта завершения система предложит сразу выбрать вариант завершения заданий, по нему сформирует сигнал и откроет редактор сигнала.
  • Обновление заданий - производит обновление данных (исполнитель, срок завершения, текст задания) для выбранных заданий. После нажатия на кнопку система сформирует макет сигнала и откроет редактор сигнала.
    У заданий будут обновлены только те поля, которые были заполнены в сигнале (Date - для даты завершения, Digest - для текста задания, TaskAssignedRoles - для списка функциональных ролей и т.д.).
  • Удаление заданий - удаляет выбранные задания. После нажатия на кнопку система сформирует макет сигнала и откроет редактор сигнала.

Управление подпроцессом

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

Есть два способа формирования подобного сигнала:

  1. Открыть контекстное меню активного узла с отправленными подпроцессами и выбрать опцию Отправить сигнал управления подпроцессом.
  2. Открыть редактор экземпляра узла, в таблице Подпроцессы выбрать одну или несколько строк с подпроцессами и нажать на кнопку Отправить сигнал управления подпроцессом.

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

После нажатия на кнопку или опцию контекстного меню откроется окно для выбора сигнала, после - редактор сигнала со сформированным макетом сигнала. В редакторе сигнала можно поменять тип сигнала для управления подпроцессом на кастомный в поле SubprocessControlSignal.

Повторная отправка сигналов после ошибки

Возникшая при обработке процесса ошибка отображается в редакторе экземпляра процесса в таблице Ошибки.

С помощью кнопки Повторить отправку сигнала можно повторно отправить на экземпляр узла сигнал, при отправке которого ранее произошла ошибка. Отправка производится от сессии текущего сотрудника.

Important

Повторная отправка сигнала не осуществляет всех действий, которые осуществляет сотрудник (например, заполнение полей задания при завершении).

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

Возобновление процесса

При возникновении ошибки при асинхронной обработке процесса, помимо повторной отправки сигнала, в системе есть возможность возобновления асинхронной обработки процесса.

Возобновить работу процесса после ошибки при асинхронной обработке можно двумя способами:

  1. На панели инструментов редактора экземпляра процесса нажать кнопку . Данная кнопка доступна в случае, если в процессе есть ошибки, которые можно возобновить.
  2. В представлении РМ Администратор -> Процессы -> Процессы с ошибками в меню системы выбрать пункт Возобновить выбранные процессы, это позволит возобновить сразу несколько экземпляров процесса.

    Note

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

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

Редактор сигнала

Редактор сигнала представляет из себя редактор параметров с возможностью указания типа сигнала при отправке.

При нажатии на кнопку Отправить сигнал производится отправка сигнала с типом и параметрами, указанными в редакторе.

Back to top