样例 - 组织人员联动原创
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()));// 将过滤条件加入 } }
四、效果图
五、开发环境版本
4.0及以上
六、注意事项
一定到注册监听
七、参考资料
推荐阅读