分享 员工过滤为当前组织下的员工
金蝶云社区-天冥异
天冥异
8人赞赏了该文章 1167次浏览 未经作者许可,禁止转载编辑于2018年06月22日 19:41:56

问题描述:在其他应付单   加 往来单位  ---选择员工以后结果出来的是所有组织下的员工,而我需要的是当前组织下的员工(ps:在过滤条件里面加使用组织=当前组织可以达到这个效果,但是我们不可能每次都让客户自己去选择方案,影响也不好),
解决:
插件开发的----在总部(汪文军)大牛的帮助下我写了个小插件实现了上述问题的解决办法,特分享出来

直接贴代码(代码很简单,不要嫌弃)

using Kingdee.BOS.Core.Bill.PlugIn;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;

namespace Blue.k3.BD.Comm.Employee.PlugIn
{
    public class EmployeeBLUE:AbstractBillPlugIn
    {
        public override void BeforeSetItemValueByNumber(BeforeSetItemValueByNumberArgs e)
        {
            base.BeforeSetItemValueByNumber(e);
            switch (e.BaseDataFieldKey.ToUpper())
            {
                case "FCONTACTUNIT":
                    e.Filter = "FUSERORGID" + this.Context.CurrentOrganizationInfo.ID;
                    break;

            }
        }

        public override void BeforeF7Select(BeforeF7SelectEventArgs e)
        {
            base.BeforeF7Select(e);
            switch (e.FieldKey.ToUpper())
            {
                case "FCONTACTUNIT":
                    e.ListFilterParameter.Filter = "FUSEORGID" + "=" + this.Context.CurrentOrganizationInfo.ID;
                    break;
            }
        }
    }
}

赞 8