Report processing of Microsoft Dynamic AX
Report processing of Microsoft Dynamic AX
版权声明:本文为博主原创文章,未经博主允许不得转载。
The implementation of a general electronic report usually has four classes.

Contract:
Comment: Contract class is data contract class for SSRS report .
Intent: Gets or sets the value of the data contract parameter.
Controller:
Comment: Controller class for SSRS report that is used to control the report execution as well as preprocessing of the report data. The SSRS reporting framework uses this class to modify the report dialogs, calling the SQL Server reporting services, as well preprocessing parameters for the report. Controller class extends SrsReportRunController .follow is the controller class can be used:
1. Modifying a report query based on the input data
2. Modifying report contract data based on the input data
3. Control a report parameters dialog
4. Open different reports/designs from the same menu item based on the input data
5. Reports that are opened from a form
Intent: The main class for report, but one report should not include this class, beacase this kind of report directly call SrsReportRunController (Under normal circumstances, method main of controller class always call this framework class.)
DP:
Comment: DP class is a data provider class for report.
Intent: The key method ‘ProcessReport’ is in DP class, DP class include all process of data processing, eg: processes the report business logic and insert data to table.
Two important attributes are used in DP classes:
- SRSReportQueryAttribute: specifies which AOT query will be used in this report. If the DP class uses an AOT query to process data, define this attribute at the beginning of the class.
- SRSReportParameterAttribute: defines the data contract class that will be used by this report to prompt for parameter values. If the DP class contains any parameters this define this attribute at the beginning of the class.
Both the attributes are optional. If the report does not use any query or does not want any parameter to filter report data, these attributes do not need to be used.
UIBuilder :
Comment: User Interface (UI) Builder class builds the UI for SSRS report , this Class is used to define the layout of the parameter dialog box that opens before a report is run in Microsoft Dynamics AX. It is used to add the customizations as well as additional fields in the dialog. follow is the UIBuilder class can be used:
1. Grouping dialog fields
2. Overriding dialog field events
3. Adding a customized lookup to a dialog field
4. Binding dialog fields with Report contract parameters
5. Changing the layout of the dialog
6. Adding custom controls to the dialog
Intent: Build a UI dialog, user can use this dialog to input some data parameter to print report.
About SSRSReport(CustDueReportDetail):
MenuItem(Output)---- CustDueReportDetail properties:
Use properties we can known this output menuitem’s appearance, behavior and data, we should pay attention to Object and Object type, this properties let us known this menuitem which will caller. For instance, CustDueReportDetail menuitem called class CustDueReportDetailController, and this linked permission object is SSRS CustDueReportDetail, SSRS CustDueReportDetail is a design for report, we can check design in AOT, we also can get server method of this report.

From the above analysis, we known next caller class that is controller class, the controller class include main method in class under normal environment. When we click menuitem, the reference UIBuilder class will operate until report is printed, this class is used to define the layout, user should set value in form, and DP class can get those value to process data processing, DP class have an essential method called “processReport”, this method is the main in DP class, and most data processing in it.
For Dynamics AX7, the report design we can find in AOT, and design use label to achieve different language, we can check the meaning of label by tool find labels, and there are two types of label in AX. And parameter of a report is in XML document.



But for Dynamic AX6, the report design we can find in AOT, and design also use label to achieve different language, but label didn’t used in XML document, XML document use the string of names with numbers, We can't see the meaning represented by the numbered string.

We didn’t know what does the ‘DiffAmount32’ meaning. We must go report URLs to check the meaning.
We should go reporting sevices configuration manager :

And click URLS, find reference report to download it to local and open it with notepad and find what’s meaning of ‘DiffAmount32’.


博主:海宁
联系:whnsspu@163.com
Report processing of Microsoft Dynamic AX的更多相关文章
- Session for SSRS Report of Microsoft Dynamics AX
Session for SSRS Report of Microsoft Dynamics AX 版权声明:本文为博主原创文章,未经博主允许不得转载. Contract •A data contrac ...
- Resolve the error: an error occurred during local report processing
Issue: an error occurred during local report processing.the definition of the report'Main Report'is ...
- Microsoft Dynamics AX 2012 X++ Editor Extensions
Microsoft Dynamics AX 2012 X++ Editor Extensions Initial version of this project is based on the MSD ...
- 在Microsoft Dynamic 365/2016环境使用LinqPad查询数据(不使用linqpad Microsoft Dynamic 365 Driver)
在Microsoft Dynamic 365/2016环境使用LinqPad查询数据 老规矩,先上效果图: 实体集合: 实体属性: 属性值: 查询出的结果可以导出的格式: 操作步骤: 1.下载Lin ...
- [eBook]Inside Microsoft Dynamics AX 2012 R3发布
最近一本关于Microsoft Dynamics AX 2012开发的书<Inside Microsoft Dynamics AX 2012 R3> 发布. Book Descriptio ...
- 转:Microsoft Dynamics AX内部版本号概述
Overview of Microsoft Dynamics AX build numbers 转自:https://community.dynamics.com/ax/b/axsupport/arc ...
- Microsoft Dynamics AX 7 新特性探索 - Demo 部署(Part 1)
Dynamics AX 7已经发布了一段时间了,我们知道这次微软为我们带来了许多令人激动的新特性.在这个系列里,Reinhard将揭开New Dynamics AX的神秘面纱,和大家一起探索这些新的特 ...
- Microsoft Dynamics AX 2012: How to get Company,Customer and Vendor address in AX 2012
Scenario: “How to get Addresses of “Customer, Vendor and Company” 1) First we need to identify ...
- Microsoft Dynamics AX 2009 White Paper: Close Non-Financial Transfers
http://www.microsoft.com/en-us/download/confirmation.aspx?id=12174
随机推荐
- hoj 2662 经典状压dp // MyFirst 状压dp
题目链接:http://acm.hit.edu.cn/hoj/problem/view?id=2662 1.引言:用dp解决一个问题的时候很重要的一环就是状态的表示,一般来说,一个数组即可保存状态. ...
- Unity.Interception(AOP)
在前面我们学习到的是Unity依赖注入(DI)与统一容器来松散耦合,这个设计已经对我们系统带来了很多的好处.但是我们还会想尝试和遵循单一职责,开放封闭原则.比如我们不应该在我们的Bus ...
- Hoops随便记的
段 包含图形的段·几何·属性:颜色,可见性,选择功能等等·子段:更低层的段段的名称·段可以进行命名·可以像文件系统一样表示路径:绝对路径.相对路径.通配符当前段(激活的段)·你可以在任何一个时间来处理 ...
- 诡异的localhost无法连接
上午试了localhost发现提示无法连接,ping了下localhost,能够ping通. 重启了Apache,还是无法解决. 试着停止了Apache服务,然后再连接localhost,发现浏览器提 ...
- C# SQL 面试题自我总结
1,asp.net单点登录机制 2,多线程同步机制 3,写一个冒泡排序算法 4,写一个递归算法 5,字符串反转 字符串分隔后调用reverse 方法. 6,sql 中ID自动增长,查询31到40条记录 ...
- #研发解决方案#分布式并行计算调度和管理系统Summoner
郑昀 创建于2015/11/10 最后更新于2015/11/12 关键词:佣金计算.定时任务.数据抽取.数据清洗.数据计算.Java.Redis.MySQL.Zookeeper.azkaban2.oo ...
- SQL Server
1.通过触发器来级联删除: 具体的触发器代码如下: Create TRIGGER [dbo].[DeleteRelatedProducts] ON [dbo].[ProductCategory] A ...
- Excel数据导入数据库的SQL快速生成
=CONCATENATE("insert into table_name(id, code, name, remark) values (uuid(),'",B2,"', ...
- 20145337 GDB调试汇编堆栈过程分析
20145337 GDB调试汇编堆栈过程分析 测试代码 #include<stdio.h> short addend1 = 1; static int addend2 = 2; const ...
- Windows驱动开发技术详解HelloWDM例子win7下无法安装
HelloWDM例子编译完成之后,在win7下安装显示 查看setupapi.dev看到如下信息 这个C:\MyDriver_Check目录完全不是我指定的,我放到c盘根目录下 查看inf [Sour ...