学习:二开案例.表达式.表达式测试.仓位:https://vip.kingdee.com/link/s/l8j2d
【客户需求】仓库启用仓位设置仓位值必录:https://vip.kingdee.com/link/s/l8X1m
仓位及仓位值集-学习笔记:https://vip.kingdee.com/link/s/lp4XK
举例:其他出库单上,保存时判断:仓位不能等于1厂房;
首先用公式判断仓位1厂房所在的值集;
通过两个对比,可以看到货架所在的值集为F100001;厂房所在的值集为F100003;
值集在系统中的显示:
因此,校验公式为:
FStockLocId <> null AND FStockLocID.ActiveObject['F100003'] <> null AND FStockLocID.ActiveObject['F100003']['Name'].ToString()="1厂房"
或者:
FStockLocId <> null AND FStockLocID.ActiveObject['F100003'] <> null AND FStockLocID.ActiveObject['F100003']['Number']="01"
实现效果:多仓位值集也可以判断出来。
例2:需求:单据明细中仓位不能填某几个仓位
使用in()函数。在括号中填写需要比较的值。
注意比较值需要填写完全。
len(filter(lambda x:(x.FStockLocId <> null AND x.FStockLocID.ActiveObject['F100003'] <> null AND x.FStockLocID.ActiveObject['F100003']['Name'].ToString() in ( "2厂房","1厂房" )),FEntity)) > 0
推荐阅读