基础资料之个性化控制器原创
金蝶云社区-开发者赋能部_吴富彪
开发者赋能部_吴富彪
6人赞赏了该文章 1,386次浏览 未经作者许可,禁止转载编辑于2022年12月21日 17:19:12

关键词:个性化控制器,模糊搜索,F7

一、需求

当一个基础资料被引用的时候,如:单据A引用了基础资料B,点击搜索框是会进入基础资料B的列表插件setFilter和单据A表单插件beforeF7Select事件

image.png

但是如果是模糊搜索的方式,只会进入单据A表单插件beforeF7Select事件,没有进入setFilter;

image.png

导致在基础资料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、注册个性化控制器插件

image.png

四、效果图

image.png


五、开发环境版本

本样例采用的轻量级环境,版本是: 苍穹版本号 COSMICV5.0.004 星瀚版本号 CONSTELLATIONV5.0.004,建议使用版本大于等于V4.0.000.0

六、参考资料

开发平台

学习成长中心

一学即会的基础资料F7开发小技巧

列表\F7数据过滤问题排查方案

图标赞 6
6人点赞
还没有人点赞,快来当第一个点赞的人吧!
图标打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!