zoukankan      html  css  js  c++  java
  • How to dynamically control the dimensions displayed on the report?

    Sometimes,we need to print a report how to  the dynamic control of the print dimensions display filed . Standards function the AX system, has been the standard way to achieve this demand, we need to do is small modifications.

    01)Create a report. and set second datasource properties

    Just as in the Form, you must add a InventDim(Table) as the report dataSource. And the properties of the dataSource  such as below:

    Firstonly   : Yes

    FirstFast   : Yes

    FetchMode: 1:1

    JoinMode  : InnerJoin

    Relations  : Yes

    02)as in the Form, as required under the Design Add "InventoryDimensions" field group, in our case, the group is added under the Body

    InventLocationId,ConfigId... ...

    03)OverWritten below method in the report.

    The following methods must be rewritten: classDeclaration, run, dialog, getFromDialog.

    Sure,Pack and unpack can also override the method, not to rewrite dynamic control of their dimensions, but to save the use of data that to Report a memory function.

    public class ReportRun extends ObjectRun
    {
    InventDimParm inventDimParm;
    DialogRunbase dialog;
    DialogGroup dialogInventoryDimensions;

    #define.CurrentVersion(1)
    #localmacro.CurrentList
    inventDimParm
    #endmacro
    }

    void updateDesign()
    {
    ;
    InventDimCtrl::updateReportVisible(element, inventDimParm);
    }

    public void run()
    {
    ;
    this.updateDesign();
    super();
    }

    public Object dialog(Object _dialog)
    {
    ;
    dialog = _dialog;
    dialogInventoryDimensions = inventDimParm.addFieldsToDialog(dialog,"@SYS53654",true, false, "@SYS102592");
    return dialog;
    }

    public boolean getFromDialog()
    {
    ;
    inventDimParm.getFromDialog(dialog, dialogInventoryDimensions);
    return true;
    }

    public container pack()
    {
    return [#CurrentVersion, #CurrentList];
    }

    public boolean unpack(container packedClass)
    {
    Version version = RunBase::getVersion(packedClass);
    ;
    switch(version)
    {
    case #CurrentVersion:
    [version,#CurrentList] = packedClass;
    break;
    default:
    return false;
    }
    return true;
    }
  • 相关阅读:
    Vue.js——60分钟组件快速入门(下篇)三
    ASP.NET Core 中的 ORM 之 Dapper
    .Net Core中Dapper的使用详解
    .NetCore与Vue
    Vue 导入文件import、路径@和.的区别
    Git常见命令
    JVM垃圾回收补充知识点
    Java虚拟机垃圾回收(三): 7种垃圾收集器(转载)
    Java虚拟机垃圾回收(二) :垃圾回收算法(转载)
    Java虚拟机垃圾回收:基础点(转载)
  • 原文地址:https://www.cnblogs.com/Fandyx/p/2047855.html
Copyright © 2011-2022 走看看