二开案例.列表插件.使用PrepareFilterParameter事件干预列表查询

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

二开案例.列表插件.使用PrepareFilterParameter事件干预列表查询

【应用场景】使用列表插件对列表查询进行干预。

【案例演示】采购订单,列表查询,在列表插件中对列表查询强制增加一些过滤条件。

【实现步骤】

<1>编写列表插件,实现列表查询强制干预的功能,代码如下。

using Kingdee.BOS.Core.List.PlugIn;

using Kingdee.BOS.Core.List.PlugIn.Args;

using Kingdee.BOS.Util;

using System.ComponentModel;


namespace Jac.XkDemo.BOS.Business.PlugIn

{

    /// <summary>

    /// 【列表插件】使用PrepareFilterParameter事件干预列表查询

    /// </summary>

    [Description("【列表插件】使用PrepareFilterParameter事件干预列表查询"), HotUpdate]

    public class AddListQueryFilterStringListPlugIn : AbstractListPlugIn

    {

        public override void PrepareFilterParameter(FilterArgs e)

        {

            base.PrepareFilterParameter(e);

            // 文本字段(字段标识)

            e.FilterString = e.FilterString.JoinFilterString("FBillNo LIKE 'CG%'");

            // 基础资料字段(基础资料字段标识.引用字段标识)

            e.FilterString = e.FilterString.JoinFilterString("FMaterialId.FNumber LIKE '%0.0000.01%'");

            // 单据体主键字段(单据体标识_分录主键标识)

            e.FilterString = e.FilterString.JoinFilterString("FPOOrderEntry_FEntryID NOT IN (1,2,3)");

            // 子单据体主键字段(子单据体标识_分录主键标识)

            e.FilterString = e.FilterString.JoinFilterString("FEntryDeliveryPlan_FDetailId NOT IN (5,6,7)");

        }

    }

}


<2>拷贝插件组件到应用站点的WebSite\Bin目录下,重启IIS。


<3>BOSIDE扩展采购订单,注册列表插件,保存元数据,开发完毕。


现在可以登录业务站点,打开采购订单列表,检验一下插件效果啦。




【参考资料】

【二开案例.列表插件.使用AfterCreateSqlBuilderParameter事件干预列表查询】https://vip.kingdee.com/article/117584149329817344

















【金蝶云星空BOS二次开发案例演示】https://vip.kingdee.com/article/94751030918525696


二开案例.列表插件.使用PrepareFilterParameter事件干预列表查询

【应用场景】使用列表插件对列表查询进行干预。【案例演示】采购订单,列表查询,在列表插件中对列表查询强制增加一些过滤条件。【实现步骤...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息