AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
DAX
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 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
Старый 13.01.2021, 10:57   #2  
EVGL is offline
EVGL
Moderator
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,076 / 2572 (94) +++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
В свое время хотели сделать что-то подобное в Ax2012 (следующий шаг видит контекст предыдущего) и сдались в итоге: пусть одобряют по два раза. В D365 там вообще расширять чертовски тяжело, все пометили как not hookable.
Старый 15.01.2021, 13:35   #3  
Dreadlock is offline
Dreadlock
Участник
Аватар для Dreadlock
 
297 / 216 (8) ++++++
Регистрация: 07.05.2009
Адрес: Москва
Цитата:
Сообщение от Dozer Посмотреть сообщение
Ситуация такая: есть workflow в котором есть цепочка шагов подтверждения с разными пределами по сумме
Шаг 1 - до 2000 - подтверждает группа пользователей 1
Шаг 2 - до 10000 - подтверждает группа пользователей 2
Шаг 3 - до 15000 - подтверждает группа пользователей 3

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

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

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

Кто нибудь возился в этом движке?
А нельзя ка вариант настроить эти три шага так:
Шаг1 <=2000
Шаг2 >2000 <=10000
Шаг3 >10000
?
Теги
ax, d365 for operations, workflow

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Workflow. Какое событие отвечает за выполнение шага в утверждении. DaniilT DAX: Программирование 7 24.07.2020 16:34
alirazazaidi: Out of the box workflow list Dynamics 365 for Finance and Operations Blog bot DAX Blogs 0 07.10.2019 16:48
atinkerersnotebook: Using Vendor Requests to Manage On-boarding New Vendors Blog bot DAX Blogs 1 22.10.2013 02:24
Solutions Monkey: Using Microsoft Dynamics Ax 2009 Workflow controls in EP Blog bot DAX Blogs 0 30.07.2008 10:05
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 09:13.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.