单据转换插件--字段映射完后事件(OnAfterFieldMapping)原创
金蝶云社区-eris
eris
3人赞赏了该文章 252次浏览 未经作者许可,禁止转载编辑于2023年11月22日 14:59:33

一、说明

1、字段映射完后事件,在按照字段映射策略、所有字段赋值完后触发,可以对目标单据数据包进行干预

2、事件参数AfterFieldMappingEventArgs,属性说明

1)TargetExtendDataEntitySet 目标单据数据包扩展集合

2)TargetBusinessInfo 目标单元数据

3、主要作用

1)对目标单据数据包进行干预

二、示例

1、说明

1)在事件中得到每张单据数据包

2、转换插件代码

using System;
using System.ComponentModel;
using System.Text;
using System.Linq;
using System.Collections.Generic;
using Kingdee.BOS.Core;
using Kingdee.BOS.Util;
using Kingdee.BOS.Core.Metadata.ConvertElement.PlugIn;
using Kingdee.BOS.Core.Metadata.ConvertElement.PlugIn.Args;
using Kingdee.BOS.Orm.DataEntity;
namespace Kingdee.BOS.TestPlugIn.BillABillB
{
    [HotUpdate]
    [Description("单据转换插件")]
    public class BillConvertPlugIn : AbstractConvertPlugIn
    {
        /// <summary>
        /// 
        /// </summary>
        /// <param name="e"></param>
        public override void OnAfterFieldMapping(AfterFieldMappingEventArgs e)
        {
            base.OnAfterFieldMapping(e);
            //得到所有扩展数据包集合
            var exDataObjs = e.TargetExtendDataEntitySet.FindByEntityKey("FBillHead");
            foreach (var exObj in exDataObjs)
            {
                //得到数据包
                var billDataObj = exObj.DataEntity; 
            }
        }
    }
}


赞 3