BOS如何配置公式获取辅助属性、仓位的值原创
金蝶云社区-陈元喜
陈元喜
11人赞赏了该文章 1,584次浏览 未经作者许可,禁止转载编辑于2021年12月13日 14:50:49

BOS设计器中如何配置公式获取辅助属性或仓位下某个具体维度的值


说明:

  1. 系统中辅助属性、仓位为弹性域字段,单据使用需要录入启用的各个维度值,保存后会生成一个组合内码供存储。很多客户需要获取某维度下具体的值供实现其业务逻辑,下面针对辅助属性、仓位提供公式案例供参考。

  2. 新版本可以直接使用函数获取: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'])


注意:

  1. 要获取某个维度下具体的值就需要知道这个维度对应的属性名,属性名可以通过bos设计器中单据对应分维度展示的key、或者值集列表对应物料表查询获取、或者通过HttpWatcher跟踪、或者通过bos设计器-应用框架-弹性域-扩展的xml中查询获取(如下图所示)。image.png

  2. 使用时,需要判断其对象不为空、对象下某维度也不为空才行,避免因为空导致异常,获取的值需要根据自身的需要转换类型赋值,避免类型不一致异常。


补充:

赞 11