通过beforePackageData构建自定义单据列表数据时基础资料如何构建原创
金蝶云社区-cosmicstudio
cosmicstudio
4人赞赏了该文章 1,083次浏览 未经作者许可,禁止转载编辑于2022年03月01日 11:15:51

  • 单据列表-基础资料数据存引用属性,引用属性是配置的存在可变性

  • 通过拿到基础资料的DynamicObjectType(含界面配置引用属性)来查询基础资料

  • 不需要关注具体的配置哪些引用属性,也能避免查询基础资料所有字段(查询所有字段存在性能问题)


@Override
public void beforePackageData(BeforePackageDataEvent e) {
    DynamicObjectCollection dObject = e.getPageData();
    DynamicObject row = dObject.addNew();

    // 通过这种方法获取基础资料DynamicObjectType包含了页面配置的所有引用属性
    DynamicObjectType versionEntityType = ((BasedataProp)row.getDataEntityType().getProperties().get("dmp_pro_version")).getDynamicComplexPropertyType();
    DynamicObject version = BusinessDataServiceHelper.loadSingle(Long.parseLong(dmp_pro_version_id),versionEntityType);
    row.set("dmp_pro_version",version);
}


赞 4