|
![]() |
#1 |
Участник
|
Ваш код будет отлично работать если его выполнить на сервере. Джоб который запускается не через менюайтем всегда выполняется на клиенте. Соответственно задача сводится к тому как запустить код из джоба на сервере. Могу предложить два варианта:
1) вынести код из джоба в серверный метод. Вызвать этот серверный метод из джоба 2) создать меню айтем. Выставить ему свойство RunOn = Server. Открыть менюайтем, который в свою очередь запустит джобик на сервере |
|
|
За это сообщение автора поблагодарили: S.Kuskov (3). |
![]() |
#2 |
Axapta Retail User
|
Проделал предложенные варианты: - получаю ошибку -
"Сбой запроса на разрешение типа "OverwriteSystemfieldsPermission"." DAX2009 |
|
![]() |
#3 |
Участник
|
Цитата:
X++: if(isRunningOnServer() && CurUserId() == "Admin") { new OverwriteSystemfieldsPermission().assert(); salesLine.overwriteSystemfields(true); salesLine.(fieldnum(SalesTable,CreatedDateTime)) = str2datetime( "2010/04/03 11:00:00" ,321 ); salesLine.doInsert(); salesLine.overwriteSystemfields(false); CodeAccessPermission::revertAssert(); } |
|
![]() |
#4 |
Administrator
|
Цитата:
Нижеприведеннный пример замечательно работает с "клиентским" курсором (т.е. с курсором из формы) X++: static server void saveRecord(Common _record) { ; new OverwriteSystemfieldsPermission().assert(); _record.overwriteSystemfields(true); _record.update(); _record.overwriteSystemfields(false); CodeAccessPermission::revertAssert(); }
__________________
Возможно сделать все. Вопрос времени |
|
|
|