AX 2012 Computed column IIF语句使用
阅读原文时间:2023年07月13日阅读:1

涉及Dynamics ax 行业已经好几年了,准备总结一些有用的处理方法供大家来参考

首先先介绍下Computed column技术,该技术是微软在AX2012版本中提供的新技术,可以让SQL语句在AX view中使用,这样就可以将想要的值拼接在一条交易记录上,这样就可以针对数据进行批量处理,所以想要报表处理速度快,尽量使用批量处理。

首先介绍IIF SQL语句应该怎么写,如下

//当合计科目是C1开头时,金额要取反
static server str CurrencyAmount()
{
#define.viewName('Test_CustLedgerTransView') // 追加Computed column字段View
#define.dataSourceName('Test_CompanyBULedgerTrans') // 此处是在view中字段属性的数据源
str expresion;
;

expresion = @"iif(substring(%1, 1, 2) = 'C1', %2, %2 \* (-1))"; // 此处IIF语句是SQL 语句写法  
expresion = strFmt(expresion,  
    SysComputedColumn::returnField(#viewName,  
        #dataSourceName,  
        fieldStr(Test\_CompanyBULedgerTrans, MainAccountId)),  
    SysComputedColumn::returnField(#viewName,  
        #dataSourceName,  
        fieldStr(Test\_CompanyBULedgerTrans, AccountingCurrencyAmount)));  
return expresion;  

}   

 上方方法现在view\Methods下追加,之后再Fields节点下追加Real Computed字段,设置viewMethod选为上方方法,并设置扩展类型即可,在SQL Server中查询该View,你会发现该View多了一个字段,并且该字段是计算出来的。

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器