04.07.2018, 01:26 | #1 |
Участник
|
DIXF ошибка: running in CIL on the client
Выполняется пакетное DIXF задание. В его классе- обрааботчике создается запись в document handling. Исполнение валится с ошибкой "Stack trace: Invalid attempt to call DocuActionArchive.Add running in CIL on the client. Data written to target ' <MyTable>' ('0' records created, '0' records updated)
Уже переместила соответствующий код в static server метод, но ошибка остается Почему , не смотря на то, что задание пакетное, ошибка ссылается на CIL в клиенте? Спасибо |
|
04.07.2018, 06:27 | #2 |
Участник
|
В целом, если вы правильно перенесли вызов метода на сервер, пересобрали CIL, то ошибка скорее всего стала вываливаться в другом методе, либо этот метод все еще вызывается где то в загрузчике.
Посмотрите в стандарте в класс загрузки картинок для номенклатуры. Я его использовал для загрузки картинок в пакетном режиме, правда у меня добавлялась ссылка через url, но помещение в архив реализовано через класс EcoResProductImageArchive наследник от DocuActionFile, причем в заголовке класса написано /// <summary> /// The <c>EcoResProductImageArchive</c> class creates a <c>DocuValue</c> when an image attaches to the /// product or item. /// </summary> /// <remarks> /// This class is replica of the <c>DocuActionArchive</c> class. This class cannot use the /// <c>DocuActionArchive</c> class because its RunOn property is set to Client. So created this class /// as a duplicate to the <c>DocuActionArchive</c> class and set its RunOn property to be called so /// that it can be used both in client and in IL execution. /// </remarks> Попробуйте использовать класс EcoResProductImageArchive, либо сделайте наследника по аналогии с ним, и добавьте нужную вам логику в метод add.
__________________
Sergey Nefedov |
|
|
За это сообщение автора поблагодарили: kitty (1). |
04.07.2018, 07:27 | #3 |
Участник
|
Спасибо больоше. Все именно так. Не заметила, что сам класс DocuActionArchive на клиенте RunOn имеет. Нашла описание и решение той же проблемы вот тут : https://community.dynamics.com/ax/b/...namics-ax-2012 Сделала также. Вроде, работает. Надеюсь, без подводных каменей обойдется. Зачем-то же его сделали RunOn = client изначально....
|
|
|
За это сообщение автора поблагодарили: mallard (2). |
04.07.2018, 08:29 | #4 |
Участник
|
Ну в блоге же написано, там вызовы WinAPI который клиентский из-за него и метод клиентский. Можно было бы ифов наставить если сервер то серверный но видимо было лень или никто не просил.
|
|
|
|