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:

  1. 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.
  2. 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的更多相关文章

  1. Session for SSRS Report of Microsoft Dynamics AX

    Session for SSRS Report of Microsoft Dynamics AX 版权声明:本文为博主原创文章,未经博主允许不得转载. Contract •A data contrac ...

  2. 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 ...

  3. Microsoft Dynamics AX 2012 X++ Editor Extensions

    Microsoft Dynamics AX 2012 X++ Editor Extensions Initial version of this project is based on the MSD ...

  4. 在Microsoft Dynamic 365/2016环境使用LinqPad查询数据(不使用linqpad Microsoft Dynamic 365 Driver)

    在Microsoft Dynamic 365/2016环境使用LinqPad查询数据 老规矩,先上效果图: 实体集合: 实体属性: 属性值:  查询出的结果可以导出的格式: 操作步骤: 1.下载Lin ...

  5. [eBook]Inside Microsoft Dynamics AX 2012 R3发布

    最近一本关于Microsoft Dynamics AX 2012开发的书<Inside Microsoft Dynamics AX 2012 R3> 发布. Book Descriptio ...

  6. Microsoft Dynamics AX 7 新特性探索 - Demo 部署(Part 1)

    Dynamics AX 7已经发布了一段时间了,我们知道这次微软为我们带来了许多令人激动的新特性.在这个系列里,Reinhard将揭开New Dynamics AX的神秘面纱,和大家一起探索这些新的特 ...

  7. 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 ...

  8. Microsoft Dynamics AX 2009 White Paper: Close Non-Financial Transfers

    http://www.microsoft.com/en-us/download/confirmation.aspx?id=12174

  9. Dynamic AX 4.0 用户组权限SecurityKey

    UserId _userId = "IT001"; UserGroupId _userGroupId = "ABC_1"; DomainId _domainId ...

随机推荐

  1. java7-3 继承

    1.继承概述: 把多个类中相同的内容给提取出来定义到一个类中. 如何实现继承呢? Java提供了关键字:extends 格式: class 子类名 extends 父类名 {} 父类也称为基类.超类: ...

  2. Redis经验谈

    新浪作为全世界最大的Redis用户,在开发和运维方面有非常多的经验.本文作者来自新浪,希望能为业界提供一些亲身经历,让大家少走弯路. 使用初衷 从2010年上半年起,我们就开始尝试使用Redis,主要 ...

  3. HDU 2091 空心三角形(模拟)

    把一个字符三角形掏空,就能节省材料成本,减轻重量,但关键是为了追求另一种视觉效果.在设计的过程中,需要给出各种花纹的材料和大小尺寸的三角形样板,通过电脑临时做出来,以便看看效果.   Input 每行 ...

  4. Python 优雅的操作字典【转】

    Python 中的字典是Python中一个键值映射的数据结构,下面介绍一下如何优雅的操作字典. 1.1 创建字典 Python有两种方法可以创建字典,第一种是使用花括号,另一种是使用内建 函数dict ...

  5. ViewPager使用笔记

    1.ViewPager.setCurrentItem(position),即使已设置动画,但是没有动画效果 原因:因为ViewPager滑动之前的时间间隔太短,可以通过反射,去修改ViewPager自 ...

  6. Java [leetcode 32]Longest Valid Parentheses

    题目描述: Given a string containing just the characters '(' and ')', find the length of the longest vali ...

  7. WPF移动Window窗体(鼠标点击左键移动窗体自定义行为)

    XAML代码部分:1.引用System.Windows.Interactivity 2.为指定的控件添加一个拖动的行为 3.很简单的了解行为的作用和用法 <Window xmlns=" ...

  8. Docker存储驱动之OverlayFS简介

    简介 OverlayFS是一种和AUFS很类似的文件系统,与AUFS相比,OverlayFS有以下特性: 1) 更简单地设计: 2) 从3.18开始,就进入了Linux内核主线: 3) 可能更快一些. ...

  9. Easy UI下拉列表默认选中(多行)与为文本框赋值

    1.为单行文本框赋值 var data2 = $('#LoadArea').combobox("getData"); if (data2) { $('#id).combobox(' ...

  10. AutoMapper 使用心得

    在很久之前就已经有了解到AutoMapper 这一个组件了,但是却一直不明白这个东西要怎么使用,是用来干什么的.经过几经周折之后,看了资料大概5.6次吧,总算理解其中的用途和原理(请原谅我理解能力太差 ...