Показать сообщение отдельно
Старый 13.01.2021, 04:36   #1  
Dozer is offline
Dozer
Участник
AxAssist
Соотечественники
 
107 / 24 (1) +++
Регистрация: 16.11.2004
Адрес: г. Калгари, Канада
Пропуск шага в Workflow по условию
Ситуация такая: есть workflow в котором есть цепочка шагов подтверждения с разными пределами по сумме
Шаг 1 - до 2000 - подтверждает группа пользователей 1
Шаг 2 - до 10000 - подтверждает группа пользователей 2
Шаг 3 - до 15000 - подтверждает группа пользователей 3

При этом есть шанс что в группе 1 и в группе 2 будет один и тот же пользователь.

Задача проанализировать шаги, и если действительно шаг 1 и шаг 2 пересекаются по позователям то надо чтобы Шаг 1 или пропустился или само-подтвердился, чтобы мы сразу перешли к шагу 2.

Я покопался в коде и пока что решил это в методе insert() на таблице WorkflowWorkItemTable, но мне не очень нравится это решение.
Мне кажется что должно быть место получше. Нашел класс SysWorkflowWorkItemHelper где есть метод sipWorkItem(), но к сожалению когда я возвращаю True для пропуска первого шага весь процесс рушится дальше по коду с ошибкой - не найтен шаг.

Кто нибудь возился в этом движке?
__________________
С уважением, Dozer