Dynamics AX 2012 SRSS报告:未初始化SysDictClass对象

时间:2021-08-14 08:09:07

I created a report Data Provider class that returns a temp table and a Data Contract for the parameters (as per http://technet.microsoft.com/en-us/library/gg731917.aspx). I created a report in Visual Studio. When I test the report in VS, it works perfectly, I get data etc. However, when I run the report in AX, the dialog requesting the parameters is displayed - but the report keeps on giving me a SysDictClass object not initialised error in the infolog.

我创建了一个报表数据提供程序类,它返回参数的临时表和数据协定(根据http://technet.microsoft.com/en-us/library/gg731917.aspx)。我在Visual Studio中创建了一个报表。当我在VS中测试报告时,它完美地工作,我得到数据等。但是,当我在AX中运行报告时,会显示请求参数的对话框 - 但报告继续给我一个SysDictClass对象而不是初始化的错误信息日志。

The stack trace I get is:

我得到的堆栈跟踪是:

Stack trace

(S)\Classes\SRSReportProviderMetadata\getDataContract - line 14
(S)\Classes\SRSReportProviderMetadata\initParameters - line 7
(S)\Classes\SRSReportProviderMetadata\new - line 20
(S)\Classes\SRSReportProviderMetadata\constructWithId - line 16
(S)\Classes\SRSReportProviderMetadata\constructWithName - line 16
(S)\Classes\SrsReportProviderQueryBuilder\initialize - line 10
(S)\Jobs\

Any ideas why this might occur?

有什么想法可能会发生吗?

2 个解决方案

#1


2  

This indicates that the SRSReportParameterAttribute.getContractId method does not return a valid class id. That is a mystery as the returned value is validated in its new method.

这表示SRSReportParameterAttribute.getContractId方法未返回有效的类ID。这是一个谜,因为返回的值在其新方法中得到验证。

Try to redeploy your report, right click your SSRS report in AX, then select "Deploy".

尝试重新部署报告,右键单击AX中的SSRS报告,然后选择“部署”。

If that does not work try a full recompile of the application.

如果这不起作用,请尝试完全重新编译应用程序。

#2


0  

Check the Properties of Data Contract class and make sure that RunOn property is set to Called from.

检查Data Contract类的属性,并确保RunOn属性设置为Called from。

#1


2  

This indicates that the SRSReportParameterAttribute.getContractId method does not return a valid class id. That is a mystery as the returned value is validated in its new method.

这表示SRSReportParameterAttribute.getContractId方法未返回有效的类ID。这是一个谜,因为返回的值在其新方法中得到验证。

Try to redeploy your report, right click your SSRS report in AX, then select "Deploy".

尝试重新部署报告,右键单击AX中的SSRS报告,然后选择“部署”。

If that does not work try a full recompile of the application.

如果这不起作用,请尝试完全重新编译应用程序。

#2


0  

Check the Properties of Data Contract class and make sure that RunOn property is set to Called from.

检查Data Contract类的属性,并确保RunOn属性设置为Called from。