
【场景】干预套打模板列表
【数据准备】
模板id


【案例1】针对采购申请单,仅干预选择模板界面的模板列表
```csharp
using Kingdee.BOS.Core.Bill.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Core.Metadata;
using System.Collections.Generic;
using System.Linq;
namespace DynamicFormPlugIn.NotePrint
{
[Kingdee.BOS.Util.HotUpdate]
public class NotePrintPlugIn_GetValidNoteTemplates : AbstractBillPlugIn
{
public string[] templateIds = { "e9aad141-0ad2-409c-a9e6-9156c704b0c6", "4a587727-6695-47be-9688-aa0492f89a49" };
/// <summary>
/// 仅针对选择模板界面
/// 说明:当GetValidNoteTemplatesAll借口的模板数大于等于原始模板数时 才会触发;
/// </summary>
/// <param name="e"></param>
/// <returns></returns>
public override List<EnumItem> GetValidNoteTemplates(ValidNoteTemplatesEventArgs e)
{
List<EnumItem> filterItems = new List<EnumItem>();
foreach (EnumItem templateItem in e.Items)
{
if (templateItem == null)
continue;
if (templateIds.Contains(templateItem.EnumId))
{
filterItems.Add(templateItem);
}
}
e.Items = filterItems;
return filterItems;
}
/// <summary>
/// 针对选择模板界面和套打设置
/// </summary>
/// <param name="e"></param>
/// <returns></returns>
public override List<EnumItem> GetValidNoteTemplatesAll(ValidNoteTemplatesEventArgs e)
{
return base.GetValidNoteTemplatesAll(e);
}
}
}
```

【案例2】针对采购申请单,干预套打设置和选择模板界面的模板列表
```csharp
using Kingdee.BOS.Core.Bill.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Core.Metadata;
using System.Collections.Generic;
using System.Linq;
namespace DynamicFormPlugIn.NotePrint
{
[Ki