【学习】单据转换插件原创
5人赞赏了该文章
504次浏览
编辑于2024年04月23日 09:42:10
扩展单据转换
首先要进行单据转换的扩展
继承类 重写方法
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;//赋值给备注字段 } } } }
获取下推后的采购入库中 供应商名称 日期 明细信息 物料名称 字段 赋值给 明细信息中的 备注 字段
注册插件
在单据转换中 选择插件策略 将刚刚生成的插件注册进去
下推
代码分享
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;//赋值给备注字段 } } } } }
赞 5
5人点赞
还没有人点赞,快来当第一个点赞的人吧!
打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!