
【场景】选单时避免重复选单
【案例】采购订单,选单时针对当前单据界面已有的分录行,做过滤处理,避免针对同一单或同一行分录下推生成多次

```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 Dyn