BOS设计器中如何配置公式获取辅助属性或仓位下某个具体维度的值
说明:
系统中辅助属性、仓位为弹性域字段,单据使用需要录入启用的各个维度值,保存后会生成一个组合内码供存储。很多客户需要获取某维度下具体的值供实现其业务逻辑,下面针对辅助属性、仓位提供公式案例供参考。
新版本可以直接使用函数获取:GETFLEXDETAILVALUE函数
辅助属性:
(辅助属性来源分为三种,每种下属性名不同,需要按此维度类型定义不同公式获取)
文本时(获取某维度下文本值):
FAuxPropId.ActiveObject['F100001']
辅助资料时(获取某维度下编码、名称):
str(FAuxPropId.ActiveObject['F100001']['FNumber'])
str(FAuxPropId.ActiveObject['F100001']['FDataValue'])
基础资料时(获取某维度下编码、名称):
str(FAuxPropId.ActiveObject['F100001']['Number'])
str(FAuxPropId.ActiveObject['F100001']['Name'])
仓位:
获取某维度下内码、编码、名称:
FSTOCKLOCID.ActiveObject['F100001_Id']
str(FSTOCKLOCID.ActiveObject['F100001']['Name'])
str(FSTOCKLOCID.ActiveObject['F100001']['Number'])
注意:
要获取某个维度下具体的值就需要知道这个维度对应的属性名,属性名可以通过bos设计器中单据对应分维度展示的key、或者值集列表对应物料表查询获取、或者通过HttpWatcher跟踪、或者通过bos设计器-应用框架-弹性域-扩展的xml中查询获取(如下图所示)。
使用时,需要判断其对象不为空、对象下某维度也不为空才行,避免因为空导致异常,获取的值需要根据自身的需要转换类型赋值,避免类型不一致异常。
补充:
推荐阅读