zoukankan      html  css  js  c++  java
  • Visual Studio Dynamics AX 报表如何关联x++类获取数据集

    Visual Studio Dynamics AX 报表中的数据集筛选器在面对一些复杂的筛选条件时,就显得力不从心了。。。

    select * from InventTrans where DatePhysical < _paramDate && (DateFinancial == datenull() || DateFinancial > _paramDate) 

    我们可以这样做

    1.创建一个类,名称InventTransReport并定义方法:

    public InventTrans returnData(str parmDate) 
    { 
          InventTrans InvTr; 
          date parm; 
          ; 
          parm = str2date(parmDate,123); 
          select * from InvTr where (invTr.DateFinancial < parm) && (invTr.DateFinancial == str2date("",123) || invTr.DatePhysical > parm); 
          return InvTr; 
    } 

    2.在Visual Studio Dynamics AX报表的项目中创建方法:

    [DataMethod(), AxSessionPermission(SecurityAction.Assert)] 
    public static DataTable ReportInventTrans(string paramDate) 
    { 
          // Call AX to get the report data 
          AxaptaWrapper ax = SessionManager.GetSession(); 
          AxaptaObjectWrapper axClass = ax.CreateAxaptaObject("InventTransReport"); 
          AxaptaRecordWrapper axRecord = ax.CreateAxaptaRecord(axClass.Call("returnData", paramDate)); 
          // Prepare the DataTable structure DataTable resTable = new DataTable(); 
          resTable.Locale = CultureInfo.InvariantCulture; 
          resTable.Columns.Add("ItemID", typeof(String)); 
          resTable.Columns.Add("DatePhysical", typeof(DateTime)); 
          resTable.Columns.Add("DateFinancial", typeof(DateTime)); 
          while (axRecord.Found) 
         { 
              resTable.Rows.Add(axRecord.GetField("ItemID"), axRecord.GetField("DatePhysical"), axRecord.GetField("DateFinancial")); 
              axRecord.Next(); 
         }  
         return resTable;  
          
    } 

    最后就可以在报表中添加类型为Business Logic的数据集了

  • 相关阅读:
    pip 8 安装
    zabbix server配置文件
    双代号网络图、双代号时标网络图
    logrotate
    tsql 执行存储过程
    dos 加用户
    Visual Studio (VS IDE) 你必须知道的功能和技巧
    格式化数字字符串 与C#变量
    .NET中的字符串你了解多少?
    新手如何有效地学习.NET
  • 原文地址:https://www.cnblogs.com/huaen/p/2679731.html
Copyright © 2011-2022 走看看