Dynamic 365中的财务维度添加相比2012要简单很多,使用维度的模板,省不少事。
假如你需要给某个界面添加财务维度,可按以下两个步骤就可以完成:
1.在所需界面的对应表添加维度字段,此字段继承系统的维度字段InventSiteLinkedDimensionValueSet。
2.在界面添加Tab页签,使用维度的模板,将对应的维度字段添加即可;
合并财务维度的方法与12不同,
12中是DimensionDefaultingService::serviceReplaceAttributeValue(),365中是LedgerDimensionDefaultFacade::serviceReplaceAttributeValue()来实现
假如库存转移日记账头表财务维度与行表合并:
可参考以下代码来实现:
[ ExtensionOf(tablestr(InventJournalTrans)) ] final class InventJournalTrans_Extension { [PostHandlerFor(tableStr(InventJournalTrans), tableMethodStr(InventJournalTrans, initFromInventTable))] public static void InventJournalTrans_Post_initFromInventTable(XppPrePostArgs args) { InventJournalTable inventJournalTable; InventJournalTrans inventJournalTrans; inventJournalTrans = args.getThis();//获取扩展表的当前记录 if(inventJournalTrans.JournalType == InventJournalType::Movement) { inventJournalTable = inventJournalTrans.inventJournalTable(); inventJournalTrans.MergeDimensionDefault(inventJournalTable.QAX_DefaultDimension); } } public void MergeDimensionDefault(InventSiteLinkedDimensionValueSet _dimension) { DimensionAttributeValueSetItemView dimensionAttributeValueSetItemView; while select dimensionAttributeValueSetItemView where dimensionAttributeValueSetItemView.DimensionAttributeValueSet == _dimension { //将库存日记账头的财务维度与行上的财务维度合并 this.DefaultDimension = LedgerDimensionDefaultFacade::serviceReplaceAttributeValue(this.DefaultDimension,_dimension,dimensionAttributeValueSetItemView.DimensionAttribute); } } }
这样就实现了财务维度的合并,哈,太详细了!