单据体Lambda 使用原创
78人赞赏了该文章
1,683次浏览
编辑于2023年10月13日 17:06:53
今天遇到一个需求,需要判断 当 单据体文本字段包含“XXXX”时,更新表头的复选框,当时想当然的就在单据体的实体服务规则里做了,但是报“DynamicRowModel is not iterable”,后来查询发现,是单据体不支持Lambda,需要做在单据头,于是做了实体服务规则,功能实现。
FEntity<>null AND FEntity.Count>0 AND F_JSDZ<>null AND len(filter(lambda row: row.F_JSDZ<>null and row.F_JSDZ.find('XXXX')>=0, FEntity))>0
解释下
FEntity 单据体的标识
F_JSDZ 表体需要判断的字段
lambda row: row.F_JSDZ<>null and row.F_JSDZ.find('XXXX')>=0 row 表示每一行,row.F_JSDZ 表示取到当前行的字段
row.F_JSDZ.find('XXXX')>=0 表示 检测到对应的字段里包含字符串XXXX,下标从0 开始
len(filter(lambda row: row.F_JSDZ<>null and row.F_JSDZ.find('XXXX')>=0, FEntity))>0 判断有多少行
赞 78
78人点赞
还没有人点赞,快来当第一个点赞的人吧!
打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!
推荐阅读