记一次的单据体中的基础资料查询失败的问题原创
2人赞赏了该文章
485次浏览
未经作者许可,禁止转载编辑于2023年06月01日 13:30:50
背景:被问到一个问题,说他查单据体中的基础资料,但是报错没有这个属性。他确定元数据里有属性,核心代码就是
BusinessDataServiceHelper.load
最后深入沟通发现是查询的时候没有查出来,然后后面使用的时候报错没有属性。
分析:看他的代码,直接三层的.去查询属性,乍一看好像没啥问题,但是隐约记得这么写好像是有点不行,那就自己手动去测试一下。
过程:
我们本地复现。
1.界面如下,单据体中放入物料和一个基础资料,单据头放入基础资料(作为对比)。
2.代码查询数据。直接上断点吧。我们看单据头数据能查询出来。单据体的两个基础资料写法不一致(物料也是基础资料,封装了而已),物料能查询出来,基础资料查询不出来。
3.我们把基础资料的写法也改成物料的写法,发现数据能查询出来。我们发现基础资料(绑定的书籍)数据也能查出来了。
结论:
ORM查询单据体中的基础资料的属性时,查询的字段必须要查询该基础资料。否则查不出来基础资料数据。
格式:单据体标识.基础资料标识,单据体标识.基础资料标识.基础资料属性标识1,单据体标识.基础资料标识.基础资料属性标识2,...
示例:entryentity.kdec_basedatafield,entryentity.kdec_basedatafield.name
附件是之前写的数据增删改查的文档,初学者可以参考
快速开发系列-操作数据.docx(1.41MB)
赞 2
2人点赞
还没有人点赞,快来当第一个点赞的人吧!
打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!
推荐阅读