<0>概述:有时候针对某些特殊的基础资料,通过查看编码就有很好的辨识度,而名称则相对于冗长。
针对基础资料能够提供显示字段配置解决,但是位于辅助属性(标识:BD_FLEXSITEMDETAILV)下的基础资料无法进行元数据扩展调整。
(其他维度关联字段知识:维度关联字段介绍(开发向))
因此目前没有办法通过配置在单据体上显示编码而非名称。需要修改元数据调整其显示字段为编码字段。
<1>元数据插件
元数据插件是在元数据读取后对元数据进行统一修改的一个途径。
由于在星空系统中针对同一个业务对象的元数据是存在各式各样的,包括片段的元数据SubBusinessInfo,深拷贝的元数据,和标准运行元数据。而如果我们对一份未知的元数据进行修改,很难保证其他业务场景读到的元数据具有此修改。
因此,平台提供了一个在元数据读取后一个干预元数据的途径,也就是通过平台的MetaDataService.Load下的元数据进行修改(通常情况下我们认为此份元数据是标准运行元数据)。
元数据插件AbstractDynamicFormMetaServicePlugIn
备注:元数据插件中不建议进行元数据加载,避免死循环
<2>元数据插件实战:修改辅助属性的基础资料的编码显示
以“测试银行”为例,标识FF100018,银行基础资料下的编码FNumber
元数据插件注册:
断点调试(如果没有命中,尝试清除缓存再打开对应表单,部分基础资料加载时机过早):
效果验证:
<2>其他
并不是一定要通过这个方案才能够实现,但是通过元数据插件是我认为比较稳妥的,当然也可以通过深拷贝一个元数据替换进行修改(适用于当前表单)或其他方案,本文记录下元数据插件开发的步骤。如有其他更好的方案或意见可以留言。
推荐阅读