【整理总结】前提条件设置部分分录自动下推原创
7人赞赏了该文章
1,099次浏览
编辑于2023年02月06日 11:31:56
举例:生产退料单审核时各分录自动下推批号调整单,但如果单据分录中批号为空,则该分录不会自动下推
直接写FLot !=null 会报错,因为他取到的是所有分录批号的集合,所以需要用lambda表达式对单据体行进行循环,逐行取字段值进行比较
根据单据提字段判断是否要下推,使用 len(filter(lambda x:(x.FLot!=null ),FEntity)) > 0
其中
FEntity是单据体标识,公式中取到的是 BOSDynamicRow 集合
x 代表单据体当前行,类型为BOSDynamicRow,允许直接使用"."取字段值FLOT为单据中批号字段的
Filter 返回符合条件的值列表
Len 判断filter返回列表的值个数
根据分录中基础资料的属性判断,使用 len(filter(lambda x:(x['Flot']['Name'].ToString()='123322' ),FEntity)) > 0(未试过)
相关参考:小技巧 - 判断条件中,如何比较字段值
推荐阅读