单据套打如何实现多个单据合并套打时,单据编号也合并打印?原创
金蝶云社区-我在终点等你
我在终点等你
7人赞赏了该文章 391次浏览 未经作者许可,禁止转载编辑于2024年11月09日 10:32:54
summary-icon摘要由AI智能服务提供

本文描述了生产领料单多个单据合并套打时单据编号的打印问题,提出通过添加动态实体字段、设置动态和聚合字段集合及其表达式,并绑定该字段来实现。同时介绍了单据体字段合并套打的逻辑,并提醒注意单据体字段的绑定位置及取值函数。

【需求描述】

生产领料单选择多个单据合并套打时,单据编号如何合并打印?

image.pngimage.png

image.png

【解决方案】

由于合并套打的时候,直接打印的话,系统是默认取的最前面的那个单据编号,合并打印三个单据,只会显示一个单据编号。

可以通过添加动态实体字段来进行实现多个单据合并套打。

一、右键单据头,增加实体动态字段。

image.png

二、设置动态字段集合和聚合字段集合。

image.png

三、设置聚合字段集合表达式,' '.join ( set ( FBillNo   )  ) ,前面第一个表示连接符,可以用换行、空格等字符去连接,我这设置的是空格。set是去除重复值的意思。

image.png

四、绑定动态实体字段即可。

image.png

五、为了打印能完整显示,可以设置此行为行高自适应,嵌套文本自适应,以及自动换行。

image.png

六、查看效果,已实现合并套打单据编号多个显示。

image.png

【扩展】

如何实现单据体字段合并套打显示?
逻辑其实是一样的,也是通过动态聚合字段集合来设置函数来设置即可。以打印生产订单号来举例:

聚合字段集合表达式为:','.join(set(map( lambda x: x.FMoBillNo,ActiveObject )))

【注意】

单据体字段合并套打时,需要把字段绑定在数据表格的普通行里面,不能绑定在单据头上面的布局表格加文本字段里面,否则没效果。

表达式取值也是用lambda函数。

image.png

image.png

image.png

【补充说明】

如果发现设置了单据头合并套打没效果,在套打配置里面看下是否勾选了合并套打只取首张单据的单据头信息。

8ed9669d6a429a9b34c306a95d00f8ad_0109a5ed7af4f51d463380a7fb569777fd78.png

5a0169859b4c34b5075221c4e1152a82_0109e1a4619a177c4eaba33e7cc19d6c0666.png



图标赞 7
7人点赞
还没有人点赞,快来当第一个点赞的人吧!
图标打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!