通过代码获取单据列表数据原创
金蝶云社区-cosmicstudio
cosmicstudio
26人赞赏了该文章 8884次浏览 未经作者许可,禁止转载编辑于2021年09月30日 10:45:16


  1. 可以在单据列表插件通过代码获取单据列表数据

  2. 获取的数据跟单据列表数据结构完全一致,不用关心界面配了那些字段

  3. 可以拿到过滤面板过滤参数并同时可以添加自己的过滤参数filterParameter


// 获取单据列表
BillList billList = this.getControl(AbstractListPlugin.BILLLISTID);
// 清除页面行缓存,否则拿到的数据不是最新的
PageRowCacheUtils.clearPageRowcache(this.getView().getPageId(), AbstractListPlugin.BILLLISTID);

// 查询行数据
IListModel model = billList.getListModel();
model.setFieldCotnrolRules(billList.getFieldControlRules());
// 获取过滤参数
FilterParameter generalFilterParameter = billList.generalFilterParameter();
// 获取列表字段
List<ListField> listFields = billList.getListFields();
model.setFilterParameter(generalFilterParameter);
model.setNeedKeyFields(true);
model.setListFields(listFields);
// 自定义过滤参数
model.getProvider().getQFilters().add(new QFilter("id", QCP.equals, id));
// 构建查询这里可以设置分页查询记录数
QueryBuilder queryBuilder = QueryBuilderFactory.createQueryBuilder(model.getProvider(), 0, 10, false, false);
model.getProvider().setQueryBuilder(queryBuilder);
// 获取单据列表数据
DynamicObjectCollection data = model.getProvider().getData(0, 10);


赞 26