执行ReportRun.run()时,操作完成AX2012

执行ReportRun.run()时,操作完成AX2012,report,x++,dynamics-ax-2012-r3,Report,X++,Dynamics Ax 2012 R3,我想通过电子邮件附上一份报告。报告的格式为PDF。我使用此代码保存PDF格式的报告 Args args; reportRun reportRun; args = new args(); args.name(reportStr("InventTransferShipReport")); args.caller(this); args.parm(transferId); args.parmObject(setRecord);

我想通过电子邮件附上一份报告。报告的格式为PDF。我使用此代码保存PDF格式的报告

Args                args;
reportRun           reportRun;


args = new args();
args.name(reportStr("InventTransferShipReport"));
args.caller(this);
args.parm(transferId);
args.parmObject(setRecord);
args.menuItemName(menuitemOutputStr(InventTransferShipReport));

reportRun = new reportRun(args);
reportRun.init();
WinAPI::deleteFile("C:\\Temp\\Test.pdf");
reportRun.printJobSettings().setTarget(PrintMedium::File);
reportRun.printJobSettings().format(PrintFormat::PDF);
reportRun.printJobSettings().fileName("C:\\Temp\\Test.pdf");
reportRun.run();


if(WinAPI::fileExists("C:\\Temp\\Test.pdf"))
{
    info("done");
}
else
{
    info("error");
}

但是当我调试代码时,我注意到进程在reportRun.run()时结束;执行。那为什么呢?如何解决此问题?

请仔细检查并验证
InventTransferShipReport
报告是否已正确部署。您确定这是针对R3版本的吗?此代码不能在我的系统上编译。您可能希望使用报表控制器类来调用报表。谢谢您的回答@不幸的是,Sander report不是SSRS report。感谢您的回答@FH Inway您对R3有什么建议?正如我所写的,请尝试report controller类(请参阅)。