显示单据转换操作页面事件OnShowConvertOpForm

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

显示单据转换操作页面事件OnShowConvertOpForm

事件:显示单据转换操作页面事件,OnShowConvertOpForm

所属插件:表单插件,列表插件

触发时机

1.下推,点击下推菜单,弹出选单页面之前触发

2.选单,点击选单菜单,弹出选单页面之前触发

3.上查,点击上查菜单,弹出联查页面之前触发

4.下查,点击下查菜单,弹出联查页面之前触发

作用

1.对可选单据进行干预,过滤,排序,改名等

2.第三方选单或下推

3.限定下推时目标单据可选的组织

4.对下推的单据数据进行干预

注意点

  1. 单据下推或选单,单据转换操作页显示的可选单据默认是按名称升序排序

  2. 此事件需要在表单和列表插件都实现

示例:单据A下推时,可选单据按名称倒序排序显示,并且过滤掉名称不含“单据”的单据。

  1. 没有插件干预情况下,单据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

事件:显示单据转换操作页面事件,OnShowConvertOpForm所属插件:表单插件,列表插件触发时机:1.下推,点击下推菜单,弹出选单页面之前触...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息