获取基础资料列表的数据
问题描述
列表点击按钮时,获取所有列信息
原因分析
这时候通过代码获取选中行信息,只能获取到模板预置的字段:id,单据体id,编码,名称,数据状态;想要获取列表更多列,需要通过QueryServiceHelper或BusinessDataServiceHelper进一步查询获取
BillList billList = this.getControl(AbstractListPlugin.BILLLISTID); ListSelectedRowCollection selectedRows = billList.getSelectedRows();
解决方案
在插件中通过QueryServiceHelper或BusinessDataServiceHelper获取列表完整信息
BillList billList = this.getControl(AbstractListPlugin.BILLLISTID); //获取选中行信息,只能拿到id,number,name,enable,status信息;要获取其他列信息,需要通过QueryServiceHelper或BusinessDataServiceHelper查询 ListSelectedRowCollection selectedRows = billList.getSelectedRows(); //获取选中行pkid Object[] primaryKeyValues = selectedRows.getPrimaryKeyValues(); StringBuffer str = new StringBuffer(); for (Object primaryKeyValue : primaryKeyValues) { //获取基础资料列表信息 QFilter qFilter = new QFilter("id", QCP.equals,primaryKeyValues); String selectFields = "id,number,name,enable,status,kdec_basedatafield1.name,kdec_entryentity.kdec_basedatafield.name,kdec_entryentity.kdec_mulbasedatafield.fbasedataid.name"; DynamicObjectCollection query = QueryServiceHelper.query(billList.getBillFormId(),selectFields,new QFilter[]{qFilter}); //DynamicObject dynamicObject1 = BusinessDataServiceHelper.loadSingle(primaryKeyValue, billList.getBillFormId()); for (DynamicObject dynamicObject : query) { Object id = dynamicObject.get("id"); DynamicObjectType dynamicObjectType = dynamicObject.getDynamicObjectType(); DataEntityPropertyCollection properties = dynamicObjectType.getProperties(); for (IDataEntityProperty property : properties) { String name = property.getName(); Object o = dynamicObject.get(name); str.append(name+":"); str.append(o); str.append(","); } } } this.getView().showMessage(str.toString());
注意事项
当有一些比较复杂的字段不知道如果获取时,如:单据体中的多选基础资料字段的名称或编码;
selectFields传空,可以获取到实体的所有值,再查看DynamicObject对象的结构分析,可以拿到想要数据的标识;
通过QueryServiceHelper获取的是一个平铺对象PlainObject,因为有两条分录信息,并且分录中有多选基础资料,每个多选基础资料选择了两项数据,所以查出来会包含四条信息
如果只想查询其中一条分录信息,在列表开启支持分录被选择,并在查询的时候QFilter添加单据体id
参考资料
获取基础资料列表的数据
问题描述列表点击按钮时,获取所有列信息原因分析这时候通过代码获取选中行信息,只能获取到模板预置的字段:id,单据体id,编码,名称,数...
点击下载文档
上一篇:您要读取的数据在系统中不存在,可能已经被删除下一篇:元数据不存在
本文2024-09-23 01:10:46发表“云苍穹知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-cangqiong-144275.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章