样例 - 组织人员联动原创
金蝶云社区-丨Nick丨
丨Nick丨
10人赞赏了该文章 2,962次浏览 未经作者许可,禁止转载编辑于2022年03月08日 18:23:39

关键词:组织字段、用户字段

一、需求

在单据选择人员时候需要通过前面录入的组织字段过滤人员

二、思路与方案

beforeF7Select事件中获取组织字段值塞到人员过滤中

三、实现过程

1、新建单据

2、在单据中加组织、用户字段

3、插件实现逻辑

public class OrgFilterUserPlugIn extends AbstractBillPlugIn implements BeforeF7SelectListener {

	@Override
	public void registerListener(EventObject e) {
		super.registerListener(e);
		UserEdit edit = this.getControl("kdec_user");
		edit.addBeforeF7SelectListener(this);// 对人员控件加f7监听
	}

	/**
	 * 基础资料f7打开前事件
	 */
	@Override
	public void beforeF7Select(BeforeF7SelectEvent beforeF7SelectEvent) {
		ListShowParameter listShowParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter();// 获取f7页面打开参数
		DynamicObject org = (DynamicObject) this.getModel().getValue("kdec_org");// 获取已选组织
		listShowParameter.setF7Style(3);// 过滤无用组织
		listShowParameter.getListFilterParameter().getQFilters()
				.add(new QFilter("entryentity.dpt.id", QCP.equals, org.getPkValue()));// 将过滤条件加入
	}

}

四、效果图

image.png

五、开发环境版本

4.0及以上


六、注意事项

一定到注册监听

七、参考资料

开发平台

学习成长中心


赞 10