单据转换.二开案例.选单时避免重复选单

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

单据转换.二开案例.选单时避免重复选单

【场景】选单时避免重复选单 【案例】采购订单,选单时针对当前单据界面已有的分录行,做过滤处理,避免针对同一单或同一行分录下推生成多次 ![image.webp](/download/010051c594e9123b41f289953b0734e857bf.webp) ```csharp using Kingdee.BOS.Core.Metadata.ConvertElement.PlugIn; using Kingdee.BOS.Core.Metadata.ConvertElement.PlugIn.Args; using Kingdee.BOS.Orm.DataEntity; using Kingdee.BOS.Util; using System; using System.Collections.Generic; namespace DynamicFormPlugIn.BillConvert { [Kingdee.BOS.Util.HotUpdate] [System.ComponentModel.Description("根据下游数据包生成选单列表的过滤条件")] public class ConvertServicePlugIn_DrawFilterWithTgtBill : AbstractConvertPlugIn { Kingdee.BOS.Orm.DataEntity.DynamicObject targetObj; public override void OnInitVariable(InitVariableEventArgs e) { //选单操作 if (!string.Equals(this.OperationNumber, "Draw", StringComparison.OrdinalIgnoreCase)) return; var optionVar = this.Option.GetVariables(); if (optionVar == null || !optionVar.ContainsKey("TargetData")) return; targetObj = optionVar["TargetData"] as Kingdee.BOS.Orm.DataEntity.DynamicObject; } public override void OnParseFilter(ParseFilterEventArgs e) { if (targetObj == null) return; DynamicObjectCollection entityRows = targetObj["POOrderEntry"] as DynamicObjectCollection; if (entityRows == null) return; List<string> srcBillList = new List<string>(); foreach (var entityRow in entityRows) { string srcBillNo = ObjectUtils.Object2String(entityRow["SrcBillNo"]); if (srcBillNo.IsNullOrEmptyOrWhiteSpace()) continue; srcBillList.Add(srcBillNo); } if(srcBillList.Count >0) { string plugInFilter = string.Format("FBillNo not in ('{0}')", string.Join("','", srcBillList)); e.FilterPolicySQL = string.Format("{0} and {1}", e.FilterPolicySQL, plugInFilter); e.PlugFilterDesc = "不支持对同一个单据重复选单"; } } } } ``` 【效果】选单后数据在明细表体,针对还没保存的明细同样会在选单中过滤 ![20231009 1604.webp](/download/0100141d9d7d2b7740b6a7e53a98bac9ae74.webp)

如果单据保存后能,如果避免重复选,就是我选了一次,保存了,审核了,下次我又打开界面又要选单,如果过滤已经选过的单?

单据转换.二开案例.选单时避免重复选单

【场景】选单时避免重复选单【案例】采购订单,选单时针对当前单据界面已有的分录行,做过滤处理,避免针对同一单或同一行分录下推生成多次...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息