Axapta AX 2012-MorpX报告发布

Axapta AX 2012-MorpX报告发布,axapta,dynamics-ax-2012,x++,Axapta,Dynamics Ax 2012,X++,我有一个从3.0导入的MorpX报告(AOT报告)。问题是启动报表的类基于RunBaseReport。然后从对话框中发送参数。这一切都在客户端工作。我想让它在批处理服务器上运行,并计划打印报告和发送电子邮件 问题在于init方法。其中SalesReport是覆盖RunBaseReport的上述类: SalesReport = element.args().caller(); 当来自批处理服务器时,此行不起作用。因此,当我尝试调用SalesReport.parmDate()时,我得到一个 此对象

我有一个从3.0导入的MorpX报告(AOT报告)。问题是启动报表的类基于RunBaseReport。然后从对话框中发送参数。这一切都在客户端工作。我想让它在批处理服务器上运行,并计划打印报告和发送电子邮件

问题在于init方法。其中SalesReport是覆盖RunBaseReport的上述类:

SalesReport = element.args().caller();
当来自批处理服务器时,此行不起作用。因此,当我尝试调用
SalesReport.parmDate()
时,我得到一个

此对象尚未初始化


错误。这不能再从批处理服务器上执行了吗?或者有什么替代方案吗?

这是AX 3.0中的自定义报告吗?您可以尝试将该行移动到类的main方法,并使用
#CurrentList
宏保存所需的所有参数。但我建议将报告重新实现为SSRS报告。是的,完全是自定义报告。我同意你关于重新安置的建议,但这不是我的决定,所以现在不在考虑之中。我不知道你移动这条线是什么意思,我能看到一个例子吗?你需要实现打包/解包模式,批处理服务器在2012年不像在3年那样运行客户端。这将保存批处理作业要使用的参数。记住要点并重写,我不确定这怎么会不是你的决定。有一种打包/解包模式。实际上,我已将此问题发送给Microsoft,因为它在服务器(批处理)上运行时会丢失调用者值。我对它的跟踪超出了允许它丢失值的方法,但是在批处理上运行这个RunBaseReport(实现了pack/unpack)会丢失调用者值。