AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Администрирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 30.05.2013, 13:05   #1  
Swordec is offline
Swordec
Участник
 
18 / 10 (1) +
Регистрация: 16.05.2013
Пакетная печать документов в Excel
Microsoft Dynamics Ax 2012
Добрый день. Кто нибудь настраивал пакетную печать документов в Excel?
При попытке сделать разноску накладной и затем вывести ее на печать с помощью пакетной обработки, выдает ошибку:

Microsoft.Dynamics.Ax.Xpp.InvalidRemoteCallException: Exception of type 'Microsoft.Dynamics.Ax.Xpp.InvalidRemoteCallException' was thrown.

at Dynamics.Ax.Application.XMLExcelReport_TORG12_RU.construct()

at Dynamics.Ax.Application.SalesPurchReport_Invoice_RU.Run() in SalesPurchReport_Invoice_RU.run.xpp:line 12

at Dynamics.Ax.Application.SalesPurchReport_RU.executeWithPrintMgmtTorg12M15(Args _args, PrintMgmtPrintSettingDetail _settingDetail, Int64 _recordId) in SalesPurchReport_RU.executeWithPrintMgmtTorg12M15.xpp:line 50

at Dynamics.Ax.Application.NonSSRSPrintMgmtAdapter.Executenonssrsreport(PrintMgmtPrintSettingDetail _setting) in NonSSRSPrintMgmtAdapter.executeNonSSRSReport.xpp:line 14

at Dynamics.Ax.Application.NonSSRSPrintMgmtAdapter.Outputreports() in NonSSRSPrintMgmtAdapter.outputReports.xpp:line 14

at Dynamics.Ax.Application.SalesInvoiceNonSSRSPrintMgmtAdapter.Runprintmgmt() in SalesInvoiceNonSSRSPrintMgmtAdapter.runPrintMgmt.xpp:line 43

at Dynamics.Ax.Application.NonSSRSPrintMgmtAdapter.runPrintMgmtNonSSRS(PrintMgmtDocumentType _printMgmtDocumentType, Args _args) in NonSSRSPrintMgmtAdapter.runPrintMgmtNonSSRS.xpp:line 25

at Dynamics.Ax.Application.SalesInvoiceController.main(Args _args) in SalesInvoiceController.main.xpp:line 21

at SalesInvoiceController::Main(Object[] )

at Microsoft.Dynamics.Ax.Xpp.ReflectionCallHelper.MakeStaticCall(Type type, String MethodName, Object[] parameters)

at Dynamics.Ax.Application.MenuFunction.Run(xArgs _args, Boolean ) in MenuFunction.run.xpp:line 76

at Dynamics.Ax.Application.CustInvoiceJour.Printjournal(SalesInvoiceJournalPrint journalPrint, RecordSortedList journalList, NoYes copy, NoYes parmPrintFormLetter, NoYes parmPrintAcceptanceReport, NoYes parmPrintBillOfLading, NoYes parmPrintInventBaileeReport, NoYes parmPrintTransportInvoice, Boolean , Boolean , Boolean , Boolean , Boolean , Boolean , Boolean , Boolean ) in CustInvoiceJour.printJournal.xpp:line 104

at Dynamics.Ax.Application.SalesInvoiceJournalPrint.Doprint() in SalesInvoiceJournalPrint.doPrint.xpp:line 7

at Dynamics.Ax.Application.FormletterJournalPrint.Printjournal(Set _journalList) in FormletterJournalPrint.printJournal.xpp:line 34

at Dynamics.Ax.Application.SalesInvoiceJournalPrint.Printjournal(Set _journalList) in SalesInvoiceJournalPrint.printJournal.xpp:line 13

at Dynamics.Ax.Application.FormletterService.Printjournal() in FormletterService.printJournal.xpp:line 33

at Dynamics.Ax.Application.FormletterService.Printout() in FormletterService.printOut.xpp:line 11

at Dynamics.Ax.Application.FormletterService.Endposting(Printout _printout) in FormletterService.endPosting.xpp:line 14

at Dynamics.Ax.Application.FormletterService.Endpostingmultithread() in FormletterService.endpostingMultithread.xpp:line 25

at Dynamics.Ax.Application.FormletterServiceEndBatchTask.Run() in FormletterServiceEndBatchTask.run.xpp:line 12

at Dynamics.Ax.Application.BatchRun.runJobStaticCode(Int64 batchId) in BatchRun.runJobStaticCode.xpp:line 54

at Dynamics.Ax.Application.BatchRun.runJobStatic(Int64 batchId) in BatchRun.runJobStatic.xpp:line 13

at BatchRun::runJobStatic(Object[] )

at Microsoft.Dynamics.Ax.Xpp.ReflectionCallHelper.MakeStaticCall(Type type, String MethodName, Object[] parameters)

at BatchIL.taskThreadEntry(Object threadArg)
Старый 30.05.2013, 13:26   #2  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
OXML классы используют клиентский класс WinApi а сейчас Batch Server работает без клиента.

Нужно править код.
За это сообщение автора поблагодарили: Swordec (1).
Старый 30.05.2013, 18:36   #3  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5798 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от belugin Посмотреть сообщение
OXML классы используют клиентский класс WinApi а сейчас Batch Server работает без клиента.
Он уже пятый год как работает без клиента (или когда там официально 2009-я вышла).
Цитата:
Сообщение от belugin Посмотреть сообщение
Нужно править код.
Но это не будет сделано, пока кто-нить не напишет официальный запрос в поддержку?..
За это сообщение автора поблагодарили: Logger (1).
Старый 31.05.2013, 09:04   #4  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Сообщение от gl00mie Посмотреть сообщение
Но это не будет сделано, пока кто-нить не напишет официальный запрос в поддержку?..
Запрос поможет повысить приоритет такой работы так как подтверждает, что сценарий реально используется клиентами.
Старый 31.05.2013, 09:50   #5  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
Цитата:
Сообщение от belugin Посмотреть сообщение
Запрос поможет повысить приоритет такой работы так как подтверждает, что сценарий реально используется клиентами.
Я правильно понимаю, что сценарии пишутся с расчетом, что клиенты их использовать не будут?
Мне кажется любой реализованный сценарий должен корректно выполняться. Если считается, что все равно его использовать не будут, тогда не надо его реализовывать.

P.S. напомнило Первый тест-драйв Lada Kalina 2
в частности:
Цитата:
На тестовом полигоне при прохождении «змейки» у коллеги заклинил руль – представители завода заявили, что с потребителем такого не случится, он, мол, не будет крутить руль до упора на больших скоростях
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем

Последний раз редактировалось lev; 31.05.2013 в 10:16.
Старый 31.05.2013, 12:58   #6  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Сообщение от lev Посмотреть сообщение
Я правильно понимаю, что сценарии пишутся с расчетом, что клиенты их использовать не будут?
Я не про это

Цитата:
Мне кажется любой реализованный сценарий должен корректно выполняться. Если считается, что все равно его использовать не будут, тогда не надо его реализовывать.

- Может быть что сценарий не написан, но у клиента он возникает
- Может быть что сценарий написан, но в реализации ошибка

В этом случае возникает вопрос (упрощая), какую из таких ошибок править первой. Для этого надо расставлять приоритеты.

Возможна ситуация, когда функциональность пока никем не используется.

Регистрация ошибки в позволяет показать, что функциональность используется, а также сообщить важность самой ошибки.

Цитата:
P.S. напомнило Первый тест-драйв Lada Kalina 2
в частности:
Я бы сказал, что в данном случае официально обратиться к представителю завода можно посредством регистрации ошибки. К тому же вы обратитесь в отдел, который официально отвечает за поддержку пользователей.
Старый 11.06.2013, 13:47   #7  
Swordec is offline
Swordec
Участник
 
18 / 10 (1) +
Регистрация: 16.05.2013
Добрый день.
С помощью visual studio я попытался дебажить пакет, чтобы определить где используется WinApi и заменить на WinApiServer. Когда в методе run класса SalesPurchReport_Invoice_RU доходит до строки "reportPrint = XMLExcelReport_TORG12_RU::construct();"(рис. 1), то при нажатии на клавишу F11 я должен попасть в метод construct класса XMLExcelReport_TORG12_RU, но оно пропускает это и переходит в метод runJobStaticCode класса BatchRun(рис. 2).
Я попытался поставить точку останова в методе construct класса XMLExcelReport_TORG12_RU, возникает ошибка "The reakpoint will not currently be hit. No symbols have been loaded for this document."(рис.3).


Старый 11.06.2013, 13:54   #8  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Изменили ли вы runOn: client у класса XMLExcelReport_TORG12_RU?

Последний раз редактировалось belugin; 11.06.2013 в 13:58.
Старый 21.06.2013, 11:29   #9  
Swordec is offline
Swordec
Участник
 
18 / 10 (1) +
Регистрация: 16.05.2013
При попытке сделать разноску накладной и затем вывести ее на печать с помощью пакетной обработки, выдает ошибку:

X++:
System.NullReferenceException: Object reference not set to an instance of an object.

   at Microsoft.Dynamics.Ax.Xpp.Set.elements()

   at Dynamics.Ax.Application.FormletterJournalPrint.Printjournal(Set _journalList) in FormletterJournalPrint.printJournal.xpp:line 26

   at Dynamics.Ax.Application.SalesInvoiceJournalPrint.Printjournal(Set _journalList) in SalesInvoiceJournalPrint.printJournal.xpp:line 13

   at Dynamics.Ax.Application.FormLetterServiceController.Afteroperationprint() in FormLetterServiceController.afterOperationPrint.xpp:line 20

   at Dynamics.Ax.Application.FormLetterServiceController.Afteroperationbody() in FormLetterServiceController.afterOperationBody.xpp:line 6

   at Dynamics.Ax.Application.SalesFormLetter.Afteroperationbody() in SalesFormLetter.afterOperationBody.xpp:line 6

   at Dynamics.Ax.Application.SalesFormLetter_Invoice.Afteroperationbody() in SalesFormLetter_Invoice.afterOperationBody.xpp:line 6

   at Dynamics.Ax.Application.FormLetterServiceController.Afteroperation(SysOperationExecutionMode _executionMode, AifAsyncResult _asyncResult) in FormLetterServiceController.afterOperation.xpp:line 7

   at Dynamics.Ax.Application.SysOperationServiceController.Run() in SysOperationServiceController.run.xpp:line 70

   at Dynamics.Ax.Application.FormLetterServiceController.Run() in FormLetterServiceController.run.xpp:line 3

   at Dynamics.Ax.Application.SalesFormLetter.Run() in SalesFormLetter.run.xpp:line 72

   at Dynamics.Ax.Application.SalesFormLetter_Invoice.Run() in SalesFormLetter_Invoice.run.xpp:line 6

   at Dynamics.Ax.Application.BatchRun.runJobStaticCode(Int64 batchId) in BatchRun.runJobStaticCode.xpp:line 54

   at Dynamics.Ax.Application.BatchRun.runJobStatic(Int64 batchId) in BatchRun.runJobStatic.xpp:line 13

   at BatchRun::runJobStatic(Object[] )

   at Microsoft.Dynamics.Ax.Xpp.ReflectionCallHelper.MakeStaticCall(Type type, String MethodName, Object[] parameters)

   at BatchIL.taskThreadEntry(Object threadArg)

Последний раз редактировалось Swordec; 21.06.2013 в 11:51.
Старый 21.06.2013, 16:14   #10  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
1. Если отключит Il то работает?
2. Попробуйте поставить точку останова в vs
Старый 21.06.2013, 18:51   #11  
Swordec is offline
Swordec
Участник
 
18 / 10 (1) +
Регистрация: 16.05.2013
В обычном режиме все нормально, но в пакете в методе printJournal класса FormLetterJournalPrint доходит до строк
X++:
 if (journalList.len() > 0
        // <GEERU>
         || (SysCountryRegionCode::isLegalEntityInCountryRegion([#isoRU])
         && factureList.elements() > 0)
        // </GEERU>
         )
и vs выдает ошибку: "Object reference not set to an instance of an object."

Последний раз редактировалось Swordec; 21.06.2013 в 18:55.
Теги
ax2012, cil, excel, open xml, баг, ошибка, пакетная обработка, пакетный сервер

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Двухсторонняя печать в Excel EfimV DAX: Программирование 2 15.11.2010 13:26
Печать страниц Excel на отдельные листы kuvg DAX: Программирование 3 02.08.2010 10:55
Запрет на печать и сохранение документов doc, xls. 3oppo DAX: Программирование 23 27.05.2010 17:07
Печать документов по Заказам, Закупкам Swetik DAX: Функционал 8 11.04.2008 20:07
Печать отчета в Excel. Axapta 3.0 Fedr Kuzmich DAX: Функционал 2 19.05.2004 18:26

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 14:15.