Как вызвать пункт меню «Вывод» и выполнить отчет в пакетном режиме? - PullRequest
0 голосов
/ 22 октября 2018

У меня проблема в режиме BATCH .Если я вызываю эту строковую команду:

Args         parameters = new Args();
MenuFunction menuFunction;

parameters.record(myCurrentTableRecord);
parameters.caller(this);
menuFunction = new MenuFunction(menuitemoutputstr(Report_Name), MenuItemType::Output);
menuFunction.run(parameters);

в режиме Клиент , это работает хорошо.Создайте отчет.

Если я выполню эту команду в режиме BATCH , я получу ошибку, подобную этой:

Произошло исключение типа 'System.InvalidCastException'в модуле Dynamics.Ax.Application.dll26.net, но не был обработан в коде пользователя

System.InvalidCastException: невозможно преобразовать объект типа 'Dynamics.Ax.Application.Report_NameContract' в тип 'Dynamics.Ax.Application.TradeDocumentReportContract »строка 65 в Dynamics.Ax.Application.ReportName.Runprintmgmt () в Report_Name.runPrintMgmt.xpp: строка 28 в Dynamics.Ax.Application.SrsPrintMgmtController.Run () в SrsPrintMgmtController.run.ppA.SysOperationController.Startoperation () в SysOperationController.startOperation.xpp: строка 10 в Dynamics.Ax.Application.SrsReportRunController.Startoperation () в SrsReportRunController.startOperation.xpp: строка 19 в Dynamics.Ax.Application.SrsPrintMgmtController.Startoperation () в качестве оператора операции () в SrsPr.в Dynamics.Ax.Application.SrsPrintMgmtFormLetterController.Startoperation () в SrsPrintMgmtFormLetterController.startOperation.xpp: строка 14 в Dynamics.Ax.Application.Report_Name.main (Args _args * * * * * 10) в строке Report_Name.

Класс, используемый для определения моего отчета extends класс TradeDocumentReportController.

Я выполнил Полный CIL , , перезапустил мой AOS / Службы отчетов и т. Д....

Есть ли способ выполнить отчет в режиме BACTH?Должен ли я передать какие-либо параметры?

Спасибо в совет.Наслаждайтесь.

1 Ответ

0 голосов
/ 22 октября 2018

Судя по всему, Report_NameContract не расширяется TradeDocumentReportContract.

Для вас может быть хорошей идеей отладить пакетное задание с помощью Visual Studio, подключив его к процессу Ax32Serv.exe,если вы хотите увидеть, что именно происходит и где процесс работает не так, как ожидалось.

...