s-HR 8.5及以上版本集团管控基础资料query在预警的F7控件上问题解答原创
金蝶云社区-杨天罡
杨天罡
3人赞赏了该文章 268次浏览 未经作者许可,禁止转载编辑于2023年08月02日 17:29:02

背景:s-HR产品从8.5开始,对基础资料进行了集团化管控改造,query和eas的query有原始区别,导致在GUI的一些界面上使用报错,如:预警\编码规则等

现象:F7过滤的name属性应该是BaseInfo.name,直接解析成name了

image.png

xecute query error: com.kingdee.bos.BOSException: Can't found propertyUnit: [name] in [com.kingdee.shr.base.syssetting.app.BaseItemRelHRCustom]!,  query : com.kingdee.eas.hr.emp.emp_page.app.WorkplaceQuery,  view : WHERE name = 'xxx'


原因是GUI的F7控件,对query元数据有严格要求,要求query必须包含三列:id,number,name

而s-HR基础资料里面没有number,name两个字段

同时预警这边还存在一个解析错误,目前引擎没解决

com.kingdee.bos.dao.InvalidDAOMetaDataException: com.kingdee.shr.base.syssetting.app.BaseItemRelationHR not define table 


com.kingdee.shr.base.syssetting.app.BaseItemRelationHR是一个抽象基类,预警这边应该需要解析出来,抽象基类实体不会有表的


碰上这类s-HR的集团管控基础资料,又需要在GUI上使用的,不会太多,建议自行在DEP新建query元数据来解决;

步奏如下:

1、找到对应基础资料所在dep的方案,将方案反启用

2、开始新建query,如果是DEP建的基础资料,按下图方式直接去建即可;如果是标准产品的实体需要建,可以找一个基础资料常用的方案去建

image.png


这里需要设置query元数据的包路径和名称

image.png

点击下一步后选择query的实体对象,这里通过实体名称过滤出来

image.png

完成后,会出现在业务数据源树上,双击进行编辑,如果要关联其他表,可以通过下图方式去增加关联

image.png

配置字段,基础资料的默认配置三个就行,id,name,number

image.png

配置完的结果

image.png

设置主键,这个一定要设置

image.png

完成后通过sql查看,可以将sql复制到查询分析器验证正确性

image.png


3、实体扩展属性修改,defaultF7Query扩展属性改成新的query

image.png

4、启动dep对应方案,去预警那边使用该query就好了

赞 3