操作插件中创建关联数据包
说明
引入和批量保存接口不会走单据表单插件中的操作事件
API保存也只会运行BeforeSave和AfterSave
故在操作插件中创建关联数据包可以满足各种情况下的保存处理
操作代码
using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Text; using System.Transactions; using Kingdee.BOS.Core.DynamicForm.PlugIn; using Kingdee.BOS.Core.DynamicForm; using Kingdee.BOS.Core.DynamicForm.PlugIn.Args; using Kingdee.BOS.App.Data; using Kingdee.BOS.Core.Metadata.EntityElement; using Kingdee.BOS.Orm.DataEntity; namespace Kingdee.BOS.TestPlugIn.BillABillB { [Kingdee.BOS.Util.HotUpdate] [Description("单据A操作测试插件")] public class BillAOperationTestPlugIn : AbstractOperationServicePlugIn public override void BeforeExecuteOperationTransaction(BeforeExecuteOperationTransaction e) { if (this.FormOperation.Operation == "Save") { var linkInfo = this.BusinessInfo.GetForm().LinkSet.LinkEntitys[0]; //关联配置信息 var linkEntity = this.BusinessInfo.GetEntity(linkInfo.Key);//关联实体 var parentEntity = this.BusinessInfo.GetEntity(linkInfo.ParentEntityKey); //关联主实体,一般为单据体 if (parentEntity is EntryEntity) { foreach (var exBillData in e.SelectedRows) //单据数据包集合 { var parentObjs = parentEntity.DynamicProperty.GetValue(exBillData.DataEntity) as DynamicObjectCollection; //关联主实体数据报 foreach (var entryObj in parentObjs) { var linkEntityObjs = entryObj[linkInfo.Key] as DynamicObjectCollection; //关联实体数据报 if (linkEntityObjs.Count > 0) //如果存在则一般没有必要创建 { continue; } //一条下游单据由两行上游单据合并而来 for (int i = 0; i < 2; i++) { DynamicObject linkObj = new DynamicObject(linkEntity.DynamicObjectType); //创建管理实体数据包 linkObj["RuleId"] = 111; linkObj["STableName"] = 111; //上游单据关联表名 linkObj["SBillId"] = 111; //上游单据内码 linkObj["SId"] = 111; //上游单据分录内码 linkObj["控制字段Key1"] = 111; //下游单据(本单)控制字段反写值 linkObj["控制字段Key1+Old"] = 111;//上游单据携带到下游单据控制字段值 linkObj["控制字段Key2"] = 111; linkObj["控制字段Key3+Old"] = 111; linkEntityObjs.Add(linkObj); } } } } } }
相关参考
操作插件中创建关联数据包
说明引入和批量保存接口不会走单据表单插件中的操作事件API保存也只会运行BeforeSave和AfterSave故在操作插件中创建关联数据包可以满足各种...
点击下载文档
本文2024-09-23 03:37:40发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-160052.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章