显示单据转换操作页面事件OnShowConvertOpForm
事件:显示单据转换操作页面事件,OnShowConvertOpForm
所属插件:表单插件,列表插件
触发时机:
1.下推,点击下推菜单,弹出选单页面之前触发
2.选单,点击选单菜单,弹出选单页面之前触发
3.上查,点击上查菜单,弹出联查页面之前触发
4.下查,点击下查菜单,弹出联查页面之前触发
作用:
1.对可选单据进行干预,过滤,排序,改名等
2.第三方选单或下推
3.限定下推时目标单据可选的组织
4.对下推的单据数据进行干预
注意点:
单据下推或选单,单据转换操作页显示的可选单据默认是按名称升序排序
此事件需要在表单和列表插件都实现
示例:单据A下推时,可选单据按名称倒序排序显示,并且过滤掉名称不含“单据”的单据。
没有插件干预情况下,单据A下推选单页面显示情况:
2. 插件代码,这里需要注意表单插件和列表插件都需要重载此事件
表单插件代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;
using Kingdee.BOS.Util;
using Kingdee.BOS.Core.Bill.PlugIn;
using Kingdee.BOS.Core.List.PlugIn.Args;
using Kingdee.BOS.Core.Metadata.ConvertElement;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Core.DynamicForm;
namespace Kingdee.BOS.TestPlugIn
{
[HotUpdate]
[Description("单据A表单插件")]
public class BillAFormPlugIn : AbstractBillPlugIn
{
/// <summary>
/// 下推时按名称倒序显示可选单据
/// </summary>
/// <param name="e"></param>
public override void OnShowConvertOpForm(ShowConvertOpFormEventArgs e)
{
//首先判定是什么操作触发此事件
if (e.ConvertOperation == FormOperationEnum.Push)
{
var bills = e.BillList.Where(x => x.Name.ToString().Contains("单据"));
e.BillList = bills.OrderByDescending(x => x.Name).ToList();
}
}
}
列表插件代码:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.ComponentModel; using Kingdee.BOS.Util; using Kingdee.BOS.Core.List.PlugIn; using Kingdee.BOS.Core.List.PlugIn.Args; using Kingdee.BOS.Core.DynamicForm; namespace Kingdee.BOS.TestPlugIn { [HotUpdate] [Description("单据A列表插件")] public class BillAListPlugIn : AbstractListPlugIn { public override void OnShowConvertOpForm(ShowConvertOpFormEventArgs e) { base.OnShowConvertOpForm(e); //首先判定是什么操作触发此事件 if (e.ConvertOperation == FormOperationEnum.Push) { var bills = e.BillList.Where(x => x.Name.ToString().Contains("单据")); e.BillList = bills.OrderByDescending(x => x.Name).ToList(); } }
3. 注册插件
4. 插件干预后的显示效果:
显示单据转换操作页面事件OnShowConvertOpForm
本文2024-09-23 04:08:51发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-163440.html