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

反写插件.二开案例.反写树形单据体的父分录

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

反写插件.二开案例.反写树形单据体的父分录

【场景】反写树形单据体的父分录 参考数据 ![image.webp](/download/0100cf2022d775374282beb59fc46bb90cf8.webp) 【二开案例】 (0)树形单据体开发,这里不做介绍 [二开案例.元模型.树形单据体](https://vip.kingdee.com/article/165462548668510976) (1)单据转换,控制仅子分录可以下推,然后配置关联的字段映射 ![image.webp](/download/0100e1dcc9ea8705408c8d32f24358fe9d83.webp) (2)反写规则,增加对源单的 关联下推数量的 反写 ![image.webp](/download/01004e79eef1d30c4bdeb231d13578342e22.webp) (3)反写插件,增加处理 反写源单时同时更新父分录的关联数量逻辑 ![image.webp](/download/0100767d74a5cbf14f9b959218c41f15d46e.webp) ```csharp using Kingdee.BOS.Core.BusinessFlow.PlugIn; using Kingdee.BOS.Core.BusinessFlow.PlugIn.Args; using Kingdee.BOS.Orm.DataEntity; using Kingdee.BOS.Util; using System.Collections.Generic; namespace DynamicFormPlugIn.WriteBack { [Kingdee.BOS.Util.HotUpdate] [System.ComponentModel.Description("反写源行的同时反写父分录")] public class WriteBackPlugIn_WriteBackParentRow : AbstractBusinessFlowServicePlugIn { /// <summary> /// 是否干预反写 /// </summary> private bool needHandle = false; /// <summary> /// 需要干预的反写规则 /// </summary> private static List<string> HandleRuleIds = new List<string>() { "67e43642-3270-469d-8e51-12b57910ccff" }; public override void BeforeWriteBack(BeforeWriteBackEventArgs e) { needHandle = false; if (!HandleRuleIds.Contains(e.Rule.Id)) return; needHandle = true; } /// <summary> /// 增加插件需要用到的字段,因为读取源单数据为片段数据包,仅提取反写规则用到的字段 /// </summary> /// <param name="e"></param> public override void AfterCustomReadFields(AfterCustomReadFieldsEventArgs e) { if (!needHandle) return; e.AddFieldKey("F_BHR_ParentId"); } public override void AfterCommitAmount(AfterCommitAmountEventArgs e) { base.AfterCommitAmount(e); } /// <summary> /// 源单更新前事件,可以用来调整源单数据包 /// </summary> /// <param name="e"></param> public override void BeforeSaveWriteBackData(BeforeSaveWriteBackDataEventArgs e) { if (!needHandle) return; var srcObjs = e.SourceDataEntitySet.FindByEntityKey("FBillHead"); foreach (var srcObj in srcObjs) { var srcBillData = srcObj.DataEntity; DynamicObjectCollection entityObjs = srcBillData["FEntity"] as DynamicObjectCollection; if (entityObjs == null

反写插件.二开案例.反写树形单据体的父分录

【场景】反写树形单据体的父分录参考数据![image.webp](/download/0100cf2022d775374282beb59fc46bb90cf8.webp)【二开案例】(0)树形单据...
点击下载文档文档为doc格式

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

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