电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

单据转换插件,无关联关联关系字段赋值,源单单据头字段到目标单单据体

来源:金蝶云社区作者:金蝶2024-09-1680

单据转换插件,无关联关联关系字段赋值,源单单据头字段到目标单单据体

有一点点基础的开发 1. 创建单据转换插件 2. 编写代码 ``` public class supplierBillSwitch : AbstractConvertPlugIn { //源单的数据包(在OnAfterCreateLink方法李没有找到获取源单数据的方法, 只能从OnGetSourceData获取源单数据,赋给私有属性) private DynamicObject sourceBill = null; //源单的fid(看情况使用) private object fid; public override void OnGetSourceData(GetSourceDataEventArgs e) { base.OnGetSourceData(e); fid = e.SourceData[0]["FId"]; if (fid != null && !"".Equals(fid)) { // 确定需要加载的源单字段(仅加载需要携带的字段) List<SelectorItemInfo> selector = new List<SelectorItemInfo>(); selector.Add(new SelectorItemInfo("源单字段标识")); selector.Add(new SelectorItemInfo("源单字段标识")); selector.Add(new SelectorItemInfo("源单字段标识")); //。。。 //筛选条件 string sfilter = string.Format("FID = {0} ", fid.ToString()); OQLFilter filter = OQLFilter.CreateHeadEntityFilter(sfilter); if (null == sourceBill) { //获取源单的数据包,selector可以填写为null,这样是源单的所有数据 IViewService viewService = ServiceHelper.GetService<IViewService>(); sourceBill = viewService.Load(this.Context, e.SourceBusinessInfo.GetForm().Id, selector, filter).FirstOrDefault(); } } } /// <summary> /// 关联关系子表已经创建并填写完毕后触发, /// 此时,已经在关联子表中,记录了源单与目标单之间的关系 /// </summary> /// <param name="e"></param> /// <remarks> /// 可以在此事件中,对关联关系子表内容进行调整, /// </remarks> public override void OnAfterCreateLink(CreateLinkEventArgs e) { // 目标单信息(getfield是获取字段的) Entity targetContactEntry = e.TargetBusinessInfo.GetEntity("目标单单据体标识"); Entity targetBankEntry = e.TargetBusinessInfo.GetEntity("FBankInfo"); // 目标单单据体的数据包 DynamicObject dataObject = e.TargetExtendedDataEntities.FindByEntityKey("FBillHead")[0].DataEntity; //下推单据体的信息(这里赋值的是单据体,单据头你们自己研究吧,应该差不离) DynamicObjectCollection tarContactEntryRows = targetContactEntry.DynamicProperty.GetValue(dataObject) as DynamicObjectCollection; tarContactEntryRows.Clear(); // 删除空行 DynamicObject newRowContact = new DynamicObject(targetContactEntry.DynamicObjectType); tarContactEntryRows.Add(newRowContact); newRowContact["字段标识(不带F)"] = sourceBill["字段标识"]; newRowContact["字段标识(不带F)"] = sourceBill["字段标识"]; //。。。 } } ``` 仅供参考 关联案例链接: [单据转换插件案例](https://wenku.my7c.com/article/229916094369502720?channel_level=%E9%87%91%E8%9D%B6%E4%BA%91%E7%A4%BE%E5%8C%BA%7C%E6%90%9C%E7%B4%A2%7C%E7%BB%BC%E5%90%88&productLineId=1)

using Kingdee.BOS.App;

using Kingdee.BOS.Contracts;

using Kingdee.BOS.Core.Metadata;

using Kingdee.BOS.Core.Metadata.ConvertElement.PlugIn;

using Kingdee.BOS.Core.Metadata.ConvertElement.PlugIn.Args;

using Kingdee.BOS.Core.Metadata.FieldElement;

using Kingdee.BOS.Orm.DataEntity;

using Kingdee.BOS.ServiceHelper;

using Kingdee.BOS.Util;

using System;

using System.ComponentModel;


namespace 我的模板

{

    [Description("【->】单据转换插件"), HotUpdate]

    public class 单据转换插件 : AbstractConvertPlugIn

    {

        private long srcBillId;//源单 内码

        private string srcFormId;//源单 表单唯一标识


        /// <summary>

        /// 获取 源单数据 时 调用

        /// </summary>

        public override void OnGetSourceData(GetS

单据转换插件,无关联关联关系字段赋值,源单单据头字段到目标单单据体

有一点点基础的开发1. 创建单据转换插件2. 编写代码```public class supplierBillSwitch : AbstractConvertPlugIn{ //源单的数据包(...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

已经是第一篇
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信