分享 员工过滤为当前组织下的员工
金蝶云社区-luyangtaol1
luyangtaol1
0人赞赏了该文章 2650次浏览 未经作者许可,禁止转载编辑于2016年02月16日 09:40:43

问题描述:在其他应付单 加 往来单位 ---选择员工以后结果出来的是所有组织下的员工,而我需要的是当前组织下的员工(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;
}
}
}
}