![]() |
#6 |
Участник
|
В итоге вышел из ситуации изменив подход.
Если в вкратце и глобально, то теряемые аргументы в дальнейшем нужны были для формирования контекстных данных уведомления (EventInBoxData). Суть такова: в контекстных данных сохраняются параметры запуска формы явившейся источником события для которого генерируется оповещение (уведомление). Но стандартно предполагалось, что эта самая форма еще активна на момент генерации уведомления и формирования контекстных данных. Мне же понадобилось генерировать оповещение для уже закрытой формы. А для этого пришлось динамически в коде открыть форму и сохранить параметры запуска, а затем закрыть форму. Но параметры запуска сохранялись неявно как аргументы formrun. Изменение подхода - это явное сохранение аргументов в переменную с типом Args. Я добавил строку: X++: wfDocApproveEngine.parmParentObjectRunArgs(formRunDoc.args()); X++: // _EventContextInformation.parmPackedArgs(callerObjectRun.args()); if(callerObjectRun.args()) { _EventContextInformation.parmPackedArgs(callerObjectRun.args()); } else { _EventContextInformation.parmPackedArgs(wfDocApproveEngine.parmParentObjectRunArgs()); } Все равно всем спасибо |
|
Теги |
args, проблема |
|
|