如何将多个字段拼接到1个字段?如拼接文本、基础资料、辅助资料

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

如何将多个字段拼接到1个字段?如拼接文本、基础资料、辅助资料

【概述】

日常使用中,有时候我们需要在一个字段上体现多个字段拼接组合的结果,我们就可以通过配置值更新或者实体服务规则来实现

系统只有文本字段可以直接拼接,其他类型字段比如基础资料、辅助资料、数量等,要拼接起来需要先转化为文本形式,使用str()函数

以下我们通过举例的方式来展示如何实现多个不同类型字段的拼接

【案例】

一、多个文本字段拼接

1.拼接字段不为空

如果第个文本字段均有值,我们可以使用最简单的公式A=B+C+D,如果字段之前要用','间隔开,公式A=B+','+C+','+D,为实现效果如下:


这个公式有局限性,就是拼接的字段不能为空,不然空值如果是文本字段,就会显示空白、如果是基础资料字段,就会显示Null,如果是数量字段,就会显示为0

列如文本1为空值,所以在拼接字段中为空白;基础资料1为空值,所以在拼接字段中显示为null;数量1为空值,所以在拼接字段中展示为0;

2.拼接字段存在空值

多个字段文本字段拼接,中间有为空的字段可以设置自动忽略

表达式如下:';'.join ( x for x in ( ( A OR ''  ),( B OR ''  ),('')) if x !='' )

【join】函数说明:将多个字符串以指定的分隔符拼接成一个字符串,表达式前面的';'即为分隔符,根据需要我们可以修改为其他符号


列如文本2为空值,所以按以上设置,在拼接字段中不展示;

二、多个基础资料或者辅助资料拼接在一起

基础资料或者辅助资料无法简单的拼接,需要先转换为文本字段,再使用文件字段拼接的方式组合在一起。

表达式举例:str(基础资料1)+str(基础资料2)

【str】函数说明:将其他类型字段转换为字符串类型

三、多个数量字段拼接,尾0不显示

BOS中数量字段都勾选了不显示尾零,使用常规公式:文本= str(长)+'*'+str(宽)+'*'+str(高);在客户端显示的时候,还是会出现尾0的情况

原因是服务端存储是有尾零的,系统是在前端呈现时移除尾零,因此需要在实体服务中变通处理,文本= str(长).rstrip('0').rstrip('.')+'*'+str(宽).rstrip('0').rstrip('.')+'*'+str(高).rstrip('0').rstrip('.')

公式说明:rstrip('0'),移除右边的0;rstrip('.'),移除右边的小数点。


如何将多个字段拼接到1个字段?如拼接文本、基础资料、辅助资料

【概述】日常使用中,有时候我们需要在一个字段上体现多个字段拼接组合的结果,我们就可以通过配置值更新或者实体服务规则来实现系统只有文本...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息