zoukankan      html  css  js  c++  java
  • 财务维度的添加与合并

    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);
           }
            
        }
    
    }
    

    这样就实现了财务维度的合并,哈,太详细了! 

  • 相关阅读:
    configure: error: C++ preprocessor "/lib/cpp" fails sanity check See `config.log' for more details
    php7安装swoole
    Navicat 连接Mysql 8.0以上版本报错1251的详细解决方案
    1130
    linux中的 /etc/profile文件centos7
    linux安装php遇到的No package 'sqlite3' found,解决方法:
    ll: command not found
    每日一题 为了工作 2020 0325 第二十三题
    每日一题 为了工作 2020 0324 第二十二题
    每日一题 为了工作 2020 0323 第二十一题
  • 原文地址:https://www.cnblogs.com/sunny-technology/p/9327492.html
Copyright © 2011-2022 走看看