涉及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多了一个字段,并且该字段是计算出来的。
手机扫一扫
移动阅读更方便
你可能感兴趣的文章