报该错的问题有多种,具体什么原因还跟代码看异常信息是什么。
业务场景:在NC预置单据上增加扩展字段,使用工具UAP6.5。
操作步骤:
1,将modules下对应的bmf文件备份后删除,然后在UAP中重新导入模型文件。
2,对模型文件进行字段添加后保存,将bmf文件拷出,然后到NC元数据管理中进行升级。PS:升级的版本必须要大于NC元数据中当前版本,可以直接右键编辑bmf修改下version值。
(如果是全单据全开发 直接在UAP中发布数据源,新增字段 就拷出后升级)
3,修改对应的VO类文件,追加新增字段属性及对应的get set方法。
直接在UAP里发布元数据和在NC客户端选中bmf文件升级是一样的作用,都是将对应的字段存入数据库表中。(md_component,md_accessorPara,md_bean_power,md_class,md_property)。
奇怪的问题出现:
升级完成后点击查询报错 提示找不到类型文件 导致报 “没有定义查询所有pk的接口或者定义不规范,请检查”。
异常信息是找不到类文件 AggContractScheduleHeadVO。
UAP中显示包装类名 nc.vo.pcm.contractschedule.AggContractScheduleHeadVO
文本打开聚合VO名字为:nc.vo.pcm.contractschedule.ContractScheduleBillVO
反复几次 使用UAP工具打开后 都是AggContractScheduleHeadVO 非ContractScheduleBillVO。
原因:UAP6.5工具的问题,右键打开bmf文件 显示都是ContractScheduleBillVO但是UAP打开就是显示AggContractScheduleHeadVO。
<accessor classFullname="nc.md.model.access.javamap.AggVOStyle" displayName="AggVO" name="AggVO">
<properties>
<property classid="c56a2ab1-d05e-4bbf-abe0-f2cc03000b52" displayName="包装类名" name="wrapclsname" sequence="0" value="nc.vo.pcm.contractschedule.ContractScheduleBillVO"/>
</properties>
</accessor>
解决方法:元数据添加字段保存完成后,不要在UAP中发布。导出修改后的bmf文件 到NC中通过元数据升级完成操作。