自定义岗位信息字段按员工任岗信息字段中的岗位信息进行过滤
@[TOC](目录)
### 0、背景
在采购订单上新增了岗位信息字段,如果按照界面上的申请人字段中的岗位信息对基础资料F7列表进行过滤呢?首先想到的就是在BOS中配置过滤条件,但是获取申请人岗位信息单据体中的所有岗位并不简单,可参考二开插件实现。
### 1、新增岗位信息类型的基础资料字段
![image.webp](/download/0100e11604bd87a242a19939deb12bb85f4c.webp)
### 2、界面申请人字段添加引用属性【人员】
![image.webp](/download/01005c987961280e4883995f8f6a970d44e6.webp)
### 3、C#代码示例
```c#
using Kingdee.BOS.Core.Bill.PlugIn;
using Kingdee.BOS.Core.Metadata;
using Kingdee.BOS.Core.SqlBuilder;
using Kingdee.BOS.Orm.DataEntity;
using Kingdee.BOS.ServiceHelper;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace TestDemo
{
public class AppEdit : AbstractBillPlugIn
{
public override void BeforeF7Select(Kingdee.BOS.Core.DynamicForm.PlugIn.Args.BeforeF7SelectEventArgs e)
{
base.BeforeF7Select(e);
switch (e.FieldKey.ToUpperInvariant())
{
case "FAPPPOST":
long personId = 0;
DynamicObject applicant = this.Model.GetValue("FApplicantId") as DynamicObject;
DynamicObject person = applicant["Person"] as DynamicObject;
if (null != person)
{
personId = Convert.ToInt64(person["Id"]);
}
string postFilter = string.Empty;
if (personId > 0)
{
long useOrgId = Convert.ToInt64(this.Model.DataObject["ApplicationOrgId_Id"]);
QueryBuilderParemeter param = new QueryBuilderParemeter
{
FormId = "BD_NEWSTAFF",
SelectItems = SelectorItemInfo.CreateItems("FPosition"),
FilterClauseWihtKey = string.Format(" FPERSONID = {0} AND FUSEORGID={1} ", personId, useOrgId)
};
DynamicObjectCollection query = QueryServiceHelper.GetDynamicObjectCollection(this.Context, param, null);
if (query == null || query.Count == 0) { return; }
List<string> postIds = new List<string>();
for (int i = 0; i < query.Count; i++)
{
DynamicObject post = query[i];
postIds.Add(Convert.ToString(post["FPosition"]));
}
postFilter = "FPOSTID IN ('" + string.Join("','", postIds) + "')";
}
if (string.IsNullOrEmpty(e.ListFilterParameter.Filter))
{
e.ListFilterParameter.Filter = postFilter;
}
else
{
e.ListFilterParameter.Filter += " AND " + postFilter;
}
break;
default:
break;
}
}
}
}
```
### 4、实现效果
![image.webp](/download/010096f1e39fd6954095a96f488aab648f5e.webp)
**其他更多文章入口:**[https://wenku.my7c.com/link/s/lbRPP](https://wenku.my7c.com/link/s/lbRPP)
自定义岗位信息字段按员工任岗信息字段中的岗位信息进行过滤
@[TOC](目录)### 0、背景在采购订单上新增了岗位信息字段,如果按照界面上的申请人字段中的岗位信息对基础资料F7列表进行过滤呢?首先想到...
点击下载文档
本文2024-09-16 19:04:55发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-26273.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章