24、列表插件,过滤,PrepareFilterParameter,我的销售订单原创
金蝶云社区-林荫大道cc
林荫大道cc
20人赞赏了该文章 7770次浏览 未经作者许可,禁止转载编辑于2020年07月06日 22:38:39
封面

业务场景:仿标准产品“我的费用报销”,我的销售订单,只显示自己录入的销售订单




1、打开VS,新建一个类库,具体可以参考21.1 ,1-4步




2、参考,标准产品,我的费用报销,发布,自定义参数


image.png


image.png



3、


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Kingdee.BOS;
using Kingdee.BOS.Core.Bill.PlugIn;
using System.ComponentModel;
using Kingdee.BOS.Core.List.PlugIn;
using Kingdee.BOS.Core.List;

namespace Kingdee.Bos.ListMy
{
    [Description("我的销售订单")]
    
    [Kingdee.BOS.Util.HotUpdate]
    
    
    public class ClassName:AbstractListPlugIn
    {
        //过滤条件
        public override void PrepareFilterParameter(BOS.Core.List.PlugIn.Args.FilterArgs e)
        {
            base.PrepareFilterParameter(e);
            
            //定义过滤条件的字符串
            string filterString = "";
            
            //加载的时候,获取发布主控台设置的参数ListSet,My
            string listType = this.View.OpenParameter.GetCustomParameter("ListSet") as string;
            
            //判断字符串 listType的值是否为空,或者为空格,与My,不区分大小写对比
            if(!string.IsNullOrWhiteSpace(listType)&&listType.Equals("My",StringComparison.OrdinalIgnoreCase))
            {
                //创建人ID等于登录用户ID
                filterString = string.Format(" FCREATORID={0}", this.Context.UserId);
                   
            }
            //原本的过滤条件e.FilterString
            if(!string.IsNullOrWhiteSpace(e.FilterString)&& !string.IsNullOrWhiteSpace(filterString))
            {
                e.FilterString += "AND";
            }
            e.FilterString += filterString;
        }
    }
}


image.png



4、重新生成dll




5、最终效果,打开我的销售订单列表,只显示自己录入的销售订单;


image.png



总目录链接

https://vip.kingdee.com/article/64993872014591232



赞 20