合并文本字段原创
金蝶云社区-小狐狸与ともり
小狐狸与ともり
33人赞赏了该文章 7937次浏览 未经作者许可,禁止转载编辑于2019年11月20日 02:02:23

相关词:合并文本字段,字符串拼接,字符串合并

相关方法社区问答中有答复,但是还是有人问,这里整理了一下,并配上了截图,希望能帮助到有需要的人。

文本字段合并的实现方法一(仅供参考):

实体服务规则配置服务【计算定义公式的值并填写到指定列】,公式如下:

F_PENQ_Text3  =  ('' if F_PENQ_Text1==None else F_PENQ_Text1) + ('' if F_PENQ_Text2==None else F_PENQ_Text2)

分析:先对要合并的文本字段进行,如果为None,则值为'',否则值为字符串本身。

 

图片1.png

实现的效果如下:

 图片2.png

文本字段合并的实现方法二(仅供参考):

实体服务规则配置服务【计算定义公式的值并填写到指定列】,公式如下:

 F_PENQ_Text3  = (str( F_PENQ_Text1  OR '') + str( F_PENQ_Text2  OR '') ).strip()

 

图片3.png

实现的效果如下:

 图片4.png

 

文本字段合并的实现方法三(仅供参考):

配置多条实体服务规则:(最复杂的,不建议用)

1)、文本一=null and 文本二<>null,合并文本=文本二;

2)、文本一<>null and 文本二=null,合并文本=文本一;

3)、文本一<>null and 文本<>=null,合并文本=文本一+文本二

 

图片5.png

实现的效果如下:

图片6.png


【常见的拼接报错】

1、表达式计算出错: F_PENQ_Text3  =   F_PENQ_Text1  +  F_PENQ_Text2  ( unsupported operand type(s) for +: 'str' and 'NoneType' )

【分析】两个文本字段直接拼接,其中一个为空则报错。

图片7.png

2、表达式计算出错: F_PENQ_Text3  =   str(F_PENQ_Text1)  +  srt(F_PENQ_Text2 ) ( 'ascii' codec can't decode byte 0 in position 0: ordinal not in range )

【分析】使用str()将两个文本字段转换成字符串,但此时其中一个输入中文,则报错;如果输入数字,另外一个为空,则拼接后会在数字后拼接“none”。

图片8.png

图片9.png

3、表达式计算出错: F_PENQ_Text3  =  F_PENQ_Text1[0:3] +  F_PENQ_Text2[0:2] ( 'NoneType' object is unsubscriptable )

【分析】当其中一个文本字段未填写时,文本字段是没有值的,此时对字符串进行截取拼接则会报错。

图片10.png


【相关链接】

更多Python字符串的操作,详见:https://vip.kingdee.com/article/34108

赞 33