实体类型PlainObject中不存在名为xxx的属性
问题描述
实体类型PlainObject中不存在名为xxx的属性
原因分析
当出现这种错误是,一般是由于PlainObject中的字段别名写错,或者QueryServiceHelper没有获取相应字段,但在后续dynamicObject.get(xxx)获取报错
解决方案
首先需要了解BusinessDataServiceHelper与QueryServiceHelper有什么区别
QueryServiceHelper.query查出来的是平铺对象,也就是PlainObject。查询的时候需要我们传参数selectFields
如果是要查询单据体字段格式为:单据体标识.字段标识,如:
DynamicObjectCollection dynamicObjects = QueryServiceHelper.query("kdec_wfbbill1020_1", "id,billno,kdec_textfield,kdec_integerfield,entryentity.kdec_textfield1,entryentity.kdec_integerfield1 field1", new QFilter[]{qFilter});
其中entryentity.kdec_textfield1,entryentity.kdec_integerfield1 field1都是单据体字段,只不过第二个字段给了别名field1,这时候我们想要获取这两个单据体字段写法为:dynamicObject.get("entryentity.kdec_textfield1")和
dynamicObject.get("field1")。
如果用dynamicObject.get("entryentity1.kdec_textfield1")或者dynamicObject.get("entryentity.kdec_integerfield1") 获取,这时候就会报错:实体类型PlainObject中不存在名为xxx的属性。
总结:
只要我们获取的属性在平铺对象中定义了,才能在后续通过dynamicObject只能获取,如果用了别名,就通过别名去获取
也可以通过debug去查看我们的PlainObject对象有哪些属性
实体类型PlainObject中不存在名为xxx的属性
问题描述实体类型PlainObject中不存在名为xxx的属性原因分析当出现这种错误是,一般是由于PlainObject中的字段别名写错,或者QueryServiceH...
点击下载文档
本文2024-09-23 00:21:22发表“云苍穹知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-cangqiong-138937.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章