单据转换.二开案例.选单时避免重复选单
【场景】选单时避免重复选单
【案例】采购订单,选单时针对当前单据界面已有的分录行,做过滤处理,避免针对同一单或同一行分录下推生成多次
![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)
如果单据保存后能,如果避免重复选,就是我选了一次,保存了,审核了,下次我又打开界面又要选单,如果过滤已经选过的单?
单据转换.二开案例.选单时避免重复选单
【场景】选单时避免重复选单【案例】采购订单,选单时针对当前单据界面已有的分录行,做过滤处理,避免针对同一单或同一行分录下推生成多次...
点击下载文档
本文2024-09-16 18:17:16发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-21161.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章