Процесс задачи упёрся в блок, из которого нет выхода
«Deadend block detected! Could not find any outgoing edges with Value = "" to continue execution» (DeadEndException) при старте задачи по варианту процесса Directum RX: в блоке «Задание» не нашлось исполнителей. Пустая вычисляемая роль или закрытый сотрудник. Как найти блок по журналам.
Что это значит
Задача по варианту процесса (no-code) идёт по схеме от блока к блоку. Если после блока нет перехода, по которому можно продолжить, сервис обработки схем останавливает задачу с исключением DeadEndException и текстом Deadend block detected! Could not find any outgoing edges .... Пустое значение Value = "" значит, что блок завершился без результата.
По справке вендора причина почти всегда в исполнителях блока «Задание»: вычисляемая роль вернула пустой состав, или исполнителем указан закрытый сотрудник. Заданию некого назначить, и у него нет результата для перехода.
Как проверить
- В журнале сервиса Workflow Process Service найти запись
Deadend block detected, а перед ней записьProcess instance loaded: в атрибутеinstanceIdидентификатор задачи. - В журнале Workflow Block Service по этому идентификатору найти последнюю запись с
messageTypeCompleteAssignmentMessage: вblockIdномер последнего выполненного блока. - Открыть схему варианта процесса и проверить свойство «Исполнители» у блоков «Задание», которые идут после найденного.
Что сделать
- Заполнить состав вычисляемой роли или заменить закрытого сотрудника.
- Заполнить в блоках «Задание» свойство «Результат отсутствия исполнителей»: тогда процесс пойдёт по нему, а не остановится.
- Перезапустить задачу.
Ошибка повторяется?
Запустите Диагностика: за полминуты он покажет состояние базы, брокера, поиска и сервера. С отчётом разберём причину за 30 минут бесплатного созвона.
Написать