21.11.2011, 16:19 | #1 |
Участник
|
Операции с Workflow из кода, минуя кнопку на форме
Существует ли способ делать хотя-бы Submit в Workflow из кода, минуя workflow тулбар на форме ? Или как вариант использовать уже запущенный с формы workitem, копируя данные в соответствующих таблицах (WorkflowWorkItem, .. ?) АХ2012
Одна из задач - запускать в workflow записи сформированные во внешнем приложении, в идеале пользователю не нужно будет заходить в аксапту чтобы Submit и т.д. Спасибо
__________________
_databaseTransDelete ... bl@$ ! |
|
22.11.2011, 11:02 | #2 |
Участник
|
Конечно, способ существует!
Для примера смотри классы типа WorkflowActionManager. |
|
22.11.2011, 21:14 | #3 |
Участник
|
С Submit вроде разобрался, изначально проблема было в случае когда уже на форме Approval необходимо было разбить workitem в статусе In review на два, - один approve, второй - return.
Для того чтобы из кода вернуть второй workitem, его надо сначала создать. пробовал в лоб, копировать содержимое таблиц по ходу генерируя уникальные значения где необходимо, но видимо что-то упустил, доступные статусы у WF формы на тестформе глючат. Пока только вижу выход, если пользоваться готовыми методами, - вернуть - разбить на два - сабмит два, один апрув, второй ретурн, но как то слишком много телодвижений.
__________________
_databaseTransDelete ... bl@$ ! |
|
22.11.2011, 22:04 | #4 |
Участник
|
Я вот ничего не понял , хотя не первый уже проект с WF работаю.
Вы можете объяснить, что хотите получить на уровне бизнес-понятий и процесса документооборота? Такой-то пользователь выполняет такую задачу, после чего, такие то пользователи должны выполнить то-то и то-то, и т.п.
__________________
Ivanhoe as is.. |
|
23.11.2011, 16:21 | #5 |
Участник
|
Например, WF настроена на некоторое подобие PurchOrder, т.е. в WF сабмитится header1 но к нему привязан еще набор lines (допустим 50). В момент approval аппрувер решает Approve первые 30 и вернуть остальные 20.
Поэтому формируется новый header2, 20 lines привязываются к нему. Изначальный header1 с оставшимися 30 lines идет дальше на постинг. Для header2 нужно инициировать WF и изменить статус In review -> Returned. Line-level WF в общем не подходит так как необходимо возрврашать и т.д. все 20 "одним кликом". Я вижу только способ каким-то образом подменять стандартный WF тулбар собственным набором кнопок где будут опции Return selected и т.д., но первый вариант мне на данном этапе представляется логичней.
__________________
_databaseTransDelete ... bl@$ ! |
|
23.11.2011, 16:36 | #6 |
Участник
|
Идея на вскидку:
1. Проставить во втором созданном "header2" некий признак "отказной". 2. Автоматически отправить на утверждение (я так понял, вы уже разобрались как это сделать). 3. В самом бизнес-процессе настроить автоматическое действие - по признаку "отказной" выполнять действие "Вернуть на доработку" (return).
__________________
Ivanhoe as is.. |
|
Теги |
workflow |
|
|