【学习】单据转换插件

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-16浏览:1

【学习】单据转换插件

扩展单据转换

首先要进行单据转换的扩展



image.webp


继承类 重写方法

AbstractConvertPlugIn //继承单据转换类

AfterConvert  //重写单据转换后方法 最后触发:单据转换后 

public class Class6 : AbstractConvertPlugIn
    {
        public override void AfterConvert(AfterConvertEventArgs e)//最后触发:单据转换后 
        {
            base.AfterConvert(e);
            var Head = e.Result.FindByEntityKey("FBillHead");//获取转换后单据中的所有信息
            foreach (var item in Head)//有可能是多张单据同时下推
            {
                var SupplierId = item.DataEntity["SupplierId"] as DynamicObject;//基础资料转换信息
                var FDate = item.DataEntity["Date"].ToString();//普通文本字段 不需要转换
                var Entry = item.DataEntity["InStockEntry"] as DynamicObjectCollection;//单据体转换信息

                string SupplierName = SupplierId["Name"].ToString();
                foreach (var item2 in Entry)//循环明细
                {
                    var FMaterialId = item2["MaterialId"] as DynamicObject;
                    string FMaterialName = FMaterialId["Name"].ToString();

                    item2["Note"] = FDate + " | " + SupplierName + " | " + FMaterialName;//赋值给备注字段
                }
            }
        }
    }

获取下推后的采购入库中 供应商名称 日期 明细信息 物料名称 字段 赋值给 明细信息中的 备注 字段 


注册插件

在单据转换中 选择插件策略 将刚刚生成的插件注册进去

Snipaste_2024-04-22_11-18-37.webp



下推

image.webpimage.webp


代码分享

using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.ComponentModel;
using Kingdee.BOS.Core.Metadata.ConvertElement.PlugIn;
using Kingdee.BOS.Core.Metadata.ConvertElement.PlugIn.Args;
using Kingdee.BOS.Orm.DataEntity;
using Kingdee.BOS.Util;

namespace XueXi
{
    [Description("学习单据转换"), HotUpdate]
    public class Class6 : AbstractConvertPlugIn
    {
        public override void AfterConvert(AfterConvertEventArgs e)//最后触发:单据转换后 
        {
            base.AfterConvert(e);
            var Head = e.Result.FindByEntityKey("FBillHead");//获取转换后单据中的所有信息
            foreach (var item in Head)//有可能是多张单据同时下推
            {
                var SupplierId = item.DataEntity["SupplierId"] as DynamicObject;//基础资料转换信息
                var FDate = item.DataEntity["Date"].ToString();//普通文本字段 不需要转换
                var Entry = item.DataEntity["InStockEntry"] as DynamicObjectCollection;//单据体转换信息

                string SupplierName = SupplierId["Name"].ToString();
                foreach (var item2 in Entry)//循环明细
                {
                    var FMaterialId = item2["MaterialId"] as DynamicObject;
                    string FMaterialName = FMaterialId["Name"].ToString();

                    item2["Note"] = FDate + " | " + SupplierName + " | " + FMaterialName;//赋值给备注字段
                }
            }
        }
    }
}


【学习】单据转换插件

扩展单据转换首先要进行单据转换的扩展继承类 重写方法AbstractConvertPlugIn //继承单据转换类AfterConvert //重写单据转换后方法 最...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息