2015-10-23 156 views
0

我在AX 2012和Visual Studio正确创建一份报告,但有一次我尝试打开它出现以下erors列表错误列表: 谢谢报告AX 2012不开;

错误执行代码:FormRun(数据源)在方法'new'中没有有效的可运行代码。

堆栈跟踪

(C)\类\ FormRun \新 (C)\类\ SysSetupFormRun \新 - 线4 (C)\类\的ClassFactory \ formRunClassOnClient - 线10 (C)\ (C)\ Classes \ DialogForm \ doInit - 行12 (C)\ Classes \ Dialog \ doInit - line 12 (C)\ Classes \ Dialog \ doRun - line 24 (C)\ Class ClassFactory \ formRunClass - line 24 )\ Classes \ SysOperationDialog \ run - line 12 (C)\ Classes \ SysOperationController \ dialogShow - line 6 (C)\ Classes \ SysOperationController \ dialogRun - line 40(C)\ Classes \ SrsReportRunController \ runReport - 第68行 (C)\ Classes \ SrsReportRunController \ run -(C)\ Classes \ SysOperationController \ prompt - line 9 (C)\ Classes \ SrsReportRunController \ runToScreen - line 26 线27 (C)\类\ SysOperationController \ startOperation - 线10 (C)\类\ SrsReportRunController \ startOperation - 线12

+0

您是否尝试调试错误?如果不能访问你的系统,堆栈跟踪是非常有用的。疯狂的猜测是,有时在使用axbuild进行编译之后,如果您在开发环境中编译表单,某些表单会显示一个虚假的编译错误,该编译错误将消失。这些假编译错误可能导致类似的堆栈跟踪。但其原因可能完全是另一回事。 –

+0

是的,我试图编译窗体,我做了Incremental Cil,因为我不允许做全CIL – AXING

回答

1

对我来说,这主要是基础代码,所以这是一个编译或CIL编译问题最有可能的。

你编译过你的CIL还是执行了增量CIL编译?

刷新您的报告缓存(工具>缓存>刷新报告服务器)。

用于刷新报表服务器的AXC中的WCF设置是否已刷新?

报表服务器是否使用可能无法刷新的特定AXC? (https://technet.microsoft.com/en-us/library/hh389774.aspx

+0

我尝试了两个,增量Cil和刷新缓存,错误仍然显示 – AXING

+0

我想尝试一个完整的系统编译和填充CIL构建。 –

+0

[您的应用程序是否完全编译?](http://dynamicsuser.net/forums/p/74843/408433.aspx#408433)是一个很好的建议。 –

-1

你可以发现问题是与形式(如信息提示)。如果您在类中调试代码,可以找到表单的名称。请使用DialogForm.doInit()。在此方法中,您可以在调用args.object(form)时在此方法内使用的对象变量“form”中找到表单的名称。

您必须编译此表单;恢复它并生成报告。

记住,DialogForm.doInit()被调用2次,一次启动输入UI表单和另一个尝试启动报表查看器时。因此,如果输入/合同表单被打开,并且在显示报表输出之前出现错误,那么当您有兴趣查找表单的名称时,这是第二次。

在我的情况下,罪魁祸首的形式是,SysOperationTemplateFormSRSReportViewer的形式。