文本介绍了系统内辅助属性值来源及如何在选择辅助属性时携带其他自定义信息的方法。通过BOS配置和预置函数GETFLEXDETAILVALUE与GETPKVALUE,先获取辅助属性编码,再获取对应的基础或辅助资料,最后引用自定义信息并通过值更新携带到单据自定义字段上。
背景:系统内辅助属性的值来源通常有三种,文本、基础资料、辅助资料,当值来源为辅助资料或基础资料时,如何在选择辅助属性时携带其他自定义信息?如当选择辅助属性长度时,如何将对应的长度值字段携带至单据上。
需求实现:明白了大致需求后,通常我们会交给开发去实现,社区也能找到对应的二开实例,但其实通过BOS的巧妙配置也能达到对应的效果
实现逻辑
BOS两个系统预置函数:
获取弹性域维度属性(带参数)即:GETFLEXDETAILVALUE ( FAuxPropId ,"FF100002" ,1)
获取基础资料内码即:GETPKVALUE ( 基础资料字段名 , 编码来源字段名 )
那我们其实可以转变一下:
(1)先用获取弹性域维度属性(带参数)去获取对应辅助属性的编码;辅助属性值对应内码可以BOS直接搜索辅助属性维度数据进行查询确认
(2)再通过获取到的编码通过获取基础资料内码去获取对应的基础资料或辅助资料;例外知识:辅助资料不一定要用字段类型为单选辅助资料列表去承载,字段类型为基础资料也可以承载,选择基础资料进行承载,然后做一个过滤,过滤类型为对应想要的辅助资料类别,这样辅助资料也可以将自定义信息放在引用属性内,进行计算携带。
上面是为了分步骤说明,其实通过辅助属性获取编码,再通过编码获取对应的辅助资料,可以一步完成,没有必要通过中转字段备注去分两次写公式,但是接收辅助资料的中转字段还要要有一个的,可以增加后前台可见性设置为均不可见,如下图
(3)最后通过获取到的基础资料或辅助资料引用属性引用自定义信息,最后通过值更新将对应值携带到单据上的自定义字段上,也就完成了我们需求;
推荐阅读