Показать сообщение отдельно
Старый 10.03.2016, 12:50   #1  
Pandasama is offline
Pandasama
Участник
 
470 / 140 (5) +++++
Регистрация: 11.08.2014
Адрес: Барнаул
Некоторые проблемы с Утверждением в Workflow в Ax 2012
Товарищи, имеется необходимость сделать следующее:
в workflow при нескольких последовательных утверждениях (возможно, разделенных какими-то условиями/ветвлениями) хочется, чтобы утверждение совершалось автоматически, при условии что пользователь которому оно назначено (при условии, что такой пользователь только один) - это тот же пользователь, что утверждал документ на прошлом утверждении (например, утверждение идет по ролям: сначала заместитель бухгалтера, а потом бухгалтер - и так совпало, что это один и тот же работник/пользователь).

Реализовано запоминание того, кто последний утвердил документ, а также кто будет утверждать его следующим. Это реализовано в WorkflowTrackingTable::saveTracking(), соответственно, кто должен утверждать следующим становится известно непосредственно в момент создания workitem.

Однако, если использовать свойство "Автоматическое действие" на элементе Утверждение (с условием "предыдущий утвердил" = "должен утвердить"), условие не срабатывает - т.к. порядок действия такой:
Создание Утверждение
--проверяется Автоматическое действие
--Создается шаг утверждения
----Создается рабочий элемент (workitem) - в этот момент мы узнаем, кто должен утверждать, но проверка уже прошла

Собственно, вопросы:
1) как можно реализовать аналог "автоматического действия" но после создания рабочих элементов?
2) или как можно уже при создании утверждения (т.е. не через WorkflowTrackingTable::saveTracking() ) узнать, какие workitem будут созданы и кому назначены ?

Возможно, я мыслю вообще не в ту сторону, и есть какие-то более удобные способы решения этой задачи?