二开案例.实体服务规则.按条件拼接格式化后的多个字段
需求场景:
拼接物料的长、宽、高,希望实现可以四舍五入后拼接。
实现需求1的时候,又想到之前的一个常见需求。拼接多个字段,最简单的方法是A+","+B+","+...,但是如果字段为空会拼接出none、0等等的值。
如果用if条件一个一个判断的话,需要每个都做判断,并不方便。
之前有一个循环判断的条件,判断为空就不拼接';'.join ( x for x in ( ( A OR '' ),( B OR '' ),('')) if x !='' )。这个方法可以用,本文介绍另一个方法。
实现方案:
下面以拼接四舍五入后的长宽高为例。
表达式: FSpecification = '*'.join(map(lambda x:str(round(x,1)), filter(lambda x: x!=0,[FLENGTH,FWIDTH,FHEIGHT])))
[FLENGTH,FWIDTH,FHEIGHT]:长宽高的集合,可以按照需求添加字段。
x!=0:按条件取值,只取x!=0的值,如果集合里有文本、基础资料的话,可以用x<>null and x<>"" and x<>" " and x<>0,来做判断条件实现。
str(round(x,1)):因为join函数只能拼接str类型的字段,因此要把round四舍五入后的浮点数强制转换为str类型。如果集合中有文本字段,那么像这种round条件肯定是不合理的,所以这个处理条件,建议按需实现。
综上所述,长宽高是数据集合,x!=0是条件,round是处理,取满足条件的集合数据做处理后拼接字段。可以满足用户的个性化需求。
二开案例.实体服务规则.按条件拼接格式化后的多个字段
需求场景:拼接物料的长、宽、高,希望实现可以四舍五入后拼接。实现需求1的时候,又想到之前的一个常见需求。拼接多个字段,最简单的方法...
点击下载文档
本文2024-09-23 04:07:43发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-163313.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章