我已经在AX 2012和Visual Studio中正确创建了一个报告,但是一旦我尝试打开它,就会出现以下错误列表: 谢谢
执行代码时出错:FormRun(数据源)在方法' new'中没有有效的可运行代码。
堆栈跟踪
(C)\类\ FormRun \新 (C)\ Classes \ SysSetupFormRun \ new - 第4行 (C)\ Classes \ ClassFactory \ formRunClassOnClient - 第10行 (C)\ Classes \ ClassFactory \ formRunClass - 第24行 (C)\ Classes \ DialogForm \ doInit - 第12行 (C)\ Classes \ Dialog \ doInit - 第12行 (C)\ Classes \ Dialog \ doRun - 第24行 (C)\ Classes \ SysOperationDialog \ run - 第12行 (C)\ Classes \ SysOperationController \ dialogShow - 第6行 (C)\ Classes \ SysOperationController \ dialogRun - 第40行 (C)\ Classes \ SysOperationController \ prompt - 第9行 (C)\ Classes \ SrsReportRunController \ runToScreen - 第26行 (C)\ Classes \ SrsReportRunController \ runReport - 第68行 (C)\ Classes \ SrsReportRunController \ run - 第27行 (C)\ Classes \ SysOperationController \ startOperation - 第10行 (C)\ Classes \ SrsReportRunController \ startOperation - 第12行
答案 0 :(得分:1)
对我而言,这主要是基本代码,因此很可能是编译或CIL编译问题。
您是否编译了CIL或执行了增量CIL编译?
刷新报告缓存(工具>缓存>刷新报告服务器)。
用于报表服务器的AXC中的WCF设置是否已刷新?
报表服务器是否使用可能无法刷新的特定AXC? (https://technet.microsoft.com/en-us/library/hh389774.aspx)
答案 1 :(得分:-1)
您可以发现问题与表单有关(如infolog建议的那样)。如果在类中调试代码,则可以找到表单的名称。
尝试将调试器放在DialogForm.doInit()
上。在此方法中,您可以在调用args.object(form)
时在此方法中使用对象变量“form”中找到表单的名称。
你必须编译这个表格;恢复它并生成报告。
请记住,DialogForm.doInit()
被调用2次,一次,启动输入UI表单,另一次尝试启动报表查看器。因此,如果输入/合同表单被打开并且在显示报表输出之前出现错误,那么它是您第二次有兴趣找到表单的名称。
就我而言,罪魁祸首是SysOperationTemplateForm
和SRSReportViewer
形式。