![]() |
#1 |
Участник
|
Как кастомизировать workflow?
Добрый день
D365 Нужно в PO approval workflow добавить возможность указать как условие наличие приклепленных документов (Attachments, i.e DocuRe/DocuValue ) Вижу 3 варианта 1) display метод на purchTable , но не уверена, что в workflow можно как условие его подсунуть 2) сделать поле и его пересчитыать , когда документ присоединяется/удаляется. Но это как-то некрасиво Как отдельный вариант думаю предложить "зашить" в canSubmitToWorkflow эту логику и не давать пользователю руками условие устанавливать. Но могут и не согласиться Может, уже есть другие варианты или где-то уже похожие штуки сделаны в стандарте? Я с workflow на Вы пока Спасибо |
|
![]() |
#2 |
Участник
|
Если критерии добавлять в код, то как их добавить так (в какой метод), чтобы они вызвались после проверки критериев, указанных в дизайнере?
|
|
![]() |
#3 |
Administrator
|
Цитата:
Сообщение от Lankey
![]() Добрый день
D365 Нужно в PO approval workflow добавить возможность указать как условие наличие приклепленных документов (Attachments, i.e DocuRe/DocuValue ) Вижу 3 варианта 1) display метод на purchTable , но не уверена, что в workflow можно как условие его подсунуть 2) сделать поле и его пересчитыать , когда документ присоединяется/удаляется. Но это как-то некрасиво Как отдельный вариант думаю предложить "зашить" в canSubmitToWorkflow эту логику и не давать пользователю руками условие устанавливать. Но могут и не согласиться Может, уже есть другие варианты или где-то уже похожие штуки сделаны в стандарте? Я с workflow на Вы пока Спасибо 1. display-метод на PurchTable. Да, такую штуку можно сделать, только в виде parm-метода на классе-наследнике WorkflowDocument. Посмотрите примеры на его наследниках, например на классе ProjBudgetRevWorkflowDocument - все эти parm-методы можно будет выбрать в конфигурации Workflow, как условие запуска Workflow 2. Поле. По сути тоже самое, только Вам придется действительно "за ним ухаживать", т.е. регулярно пересчитывать при изменении количества прикрепленных документов 3. Добавить условие в canSubmitToWorkflow. Тоже можно, но тогда это условие будет не настраиваемым. Если это условие будет всегда - то проще его добавить в этот метод и не заморачиваться (ну правда немного придется повозиться с расширениями чтобы влезть в стандартный код) С т.з. легкости программирования и изменений рабочего кода в D365FO - я бы конечно выбрал п.1. С другой стороны - надо подумать о настройщике WF - ему-то чем проще, тем лучше. Пользователю разницы не будет - для него будет результат во всех случаях
__________________
Возможно сделать все. Вопрос времени Последний раз редактировалось sukhanchik; 17.04.2025 в 10:35. |
|
![]() |
#4 |
Administrator
|
Да, а какая разница в каком порядке вызывается проверка критериев, если всё равно для старта WF должны быть выполнены все условия запуска? (Я сейчас не беру в расчет производительность - полагаю, что каждая проверка не отнимает сколь-нибудь значимые ресурсы производительности системы)
__________________
Возможно сделать все. Вопрос времени |
|
![]() |
#5 |
Участник
|
Upd: Если добавить свой метод в purchTableDocument класс (создать его расширение) , то он появляется в дизайнере workflow, и мпожно по нему условия задавать. В моем случае я создала метод возвращающий, есть ли прикрепеленные документы. И я могу задать по нему теперь "руками" условие в дизайнере workflow
То есть, вроде, получилось без создания доп полей обойтись. Полностью пока все не протестировала, но , вроде, стандарт именно этот класс использует. |
|
|
За это сообщение автора поблагодарили: S.Kuskov (2). |
|
|