基础资料之个性化控制器原创
6人赞赏了该文章
1,386次浏览
编辑于2022年12月21日 17:19:12
关键词:个性化控制器,模糊搜索,F7
一、需求
当一个基础资料被引用的时候,如:单据A引用了基础资料B,点击搜索框是会进入基础资料B的列表插件setFilter和单据A表单插件beforeF7Select事件
但是如果是模糊搜索的方式,只会进入单据A表单插件beforeF7Select事件,没有进入setFilter;
导致在基础资料B的列表插件setFilter添加的过滤条件没有生效。如果setFilter和beforeF7Select编写了不同的过滤条件,就会出现数据不一致的情况,模糊搜索的方式能查出来的数据在F7上没有;解决这种问题需要在beforeF7Select上添加过滤,如果是所有引用的地方都要添加一样的过滤,就要在每个单据的表单插件的beforeF7Select中编写相同的过滤逻辑
二、思路与方案
个性化控制器-AbstractBasedataController:基础资料全局配置,跟列表插件类似,但是作用范围更大,可作用于列表、F7、模糊查询等。
三、实现过程
1、创建基础资料(kdec_wfb_base1221_01)
2、编写个性化控制器插件继承AbstractBasedataController基类,重写buildBaseDataCoreFilter事件,添加过滤条件
public class Demo01Controller extends AbstractBasedataController { @Override public void buildBaseDataCoreFilter(BaseDataCustomControllerEvent event) { super.buildBaseDataCoreFilter(event); event.addQFilter(new QFilter("过滤字段", QCP.equals,"过滤条件")); } }3、注册个性化控制器插件
四、效果图
五、开发环境版本
本样例采用的轻量级环境,版本是: 苍穹版本号 COSMICV5.0.004 星瀚版本号 CONSTELLATIONV5.0.004,建议使用版本大于等于V4.0.000.0
六、参考资料
元数据及插件.zip(7.27KB)
赞 6
6人点赞
还没有人点赞,快来当第一个点赞的人吧!
打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!
推荐阅读