二开案例.表达式.表达式测试.辅助属性

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

二开案例.表达式.表达式测试.辅助属性

【应用场景】

编写表达式并验证表达式的正确性。


【案例演示】

采购订单,演示如何在表达式中获取辅助属性字段的各种值。

测试数据:

获取物料的辅助属性标识:

等级:

产地:

设置测试数据:



【实现步骤】

<1>登录BOSIDE,打开单据,进入到任意编写表达式的位置,点击按钮【表达式测试】。


<2>输入表达式,测试表达式。

基于单据头测试:

FAuxPropId

FAuxPropId.TargetObjects

获取单据体第一行数据的辅助属性的等级的编码:FAuxPropId.TargetObjects[0].F100001.FNumber

获取单据体第一行数据的辅助属性的等级的名称:filter(lambda x:x,FAuxPropId.TargetObjects[0].F100001['FDataValue'])[0].Value

用逗号拼接单据体所有行的等级编码:",".join(map(lambda x:x['F100001'].FNumber,FAuxPropId.TargetObjects))

用逗号拼接单据体所有行的等级编码和产地编码:",".join(map(lambda x:x['F100001'].FNumber+'.'+x['F100002'].FNumber,FAuxPropId.TargetObjects))

用逗号拼接单据体所有行的等级名称:",".join(map(lambda x:(filter(lambda y:y,x['F100001'].FDataValue)[0].Value),FAuxPropId.TargetObjects))

用逗号拼接单据体所有行的等级名称和产地名称:",".join(map(lambda x:(filter(lambda y:y,x['F100001'].FDataValue)[0].Value)+'.'+(filter(lambda y:y,x['F100002'].FDataValue)[0].Value),FAuxPropId.TargetObjects))

用逗号拼接单据体所有行的等级编码:",".join(map(lambda x:GETFLEXDETAILVALUE(x.FAuxPropId,'FF100001',1),FPOOrderEntry))

用逗号拼接单据体所有行的等级编码和产地编码:",".join(map(lambda x:GETFLEXDETAILVALUE(x.FAuxPropId,'FF100001',1)+'.'+GETFLEXDETAILVALUE(x.FAuxPropId,'FF100002',1),FPOOrderEntry))

用逗号拼接单据体所有行的等级名称:",".join(map(lambda x:GETFLEXDETAILVALUE(x.FAuxPropId,'FF100001',2),FPOOrderEntry))

用逗号拼接单据体所有行的等级名称和产地名称:",".join(map(lambda x:GETFLEXDETAILVALUE(x.FAuxPropId,'FF100001',2)+'.'+GETFLEXDETAILVALUE(x.FAuxPropId,'FF100002',2),FPOOrderEntry))

用逗号拼接单据体所有行的等级内码:",".join(map(lambda x:x['F100001'].Id,FAuxPropId.TargetObjects))




---------------------------------------------------------------------------------------------------------

基于单据体测试:

FPOOrderEntry

FPOOrderEntry.ActiveObject

FPOOrderEntry.ActiveObject.AuxPropId

FPOOrderEntry.ActiveObject.AuxPropId.F100001

获取当前行的辅助属性的等级的编码:FPOOrderEntry.ActiveObject.AuxPropId.F100001.FNumber

获取当前行的辅助属性的等级的名称:filter(lambda x:x,FPOOrderEntry.ActiveObject.AuxPropId.F100001.FDataValue)[0].Value


获取当前行的辅助属性的等级的编码:GETFLEXDETAILVALUE(FAuxPropId,'FF100001',1)

获取当前行的辅助属性的等级的名称:GETFLEXDETAILVALUE(FAuxPropId,'FF100001',2)

GETFLEXDETAILVALUE(FAuxPropId,'FF100001',2)+'.'+GETFLEXDETAILVALUE(FAuxPropId,'FF100002',2)


---------------------------------------------------------------------------------------------------------

基于单据体测试:

FPOOrderEntry


FAuxPropId.ActiveObject

辅助属性数据包:

辅助属性:

-- 查询辅助属性 

SELECT b.FNAME,a.* FROM T_BD_FLEXAUXPROPERTY a 

LEFT JOIN T_BD_FLEXAUXPROPERTY_L b ON a.FID=b.FID AND b.FLOCALEID=2052


FAuxPropId.ActiveObject.Id

FAuxPropId.ActiveObject['Id']


FAuxPropId.ActiveObject['F100001']


FAuxPropId.ActiveObject['F100001'].Id

FAuxPropId.ActiveObject['F100001']['Id']


FAuxPropId.ActiveObject['F100001'].FNumber

FAuxPropId.ActiveObject['F100001']['FNumber']


FAuxPropId.ActiveObject['F100001'].FDataValue.ToString()

FAuxPropId.ActiveObject['F100001']['FDataValue'].ToString()


---------------------------------------------------------------------------------------------------------













【金蝶云星空BOS二次开发案例演示】https://vip.kingdee.com/article/94751030918525696

二开案例.表达式.表达式测试.辅助属性

【应用场景】编写表达式并验证表达式的正确性。【案例演示】采购订单,演示如何在表达式中获取辅助属性字段的各种值。测试数据:获取物料的...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息