在银行、财务、销售等系统中,常常会看到这样一类报表,它们一般是从原来的手工报表年代沿袭而来,需要打印在固定大小的纸张上,有着固定的样式要求。具体的形式包括各种登记本册和票据等。
在没有报表工具之前,这类报表大部分使用Excel进行制作,费时费力还不易维护,每次都独自加班到很晚(一首凉凉送给自己)。今天,我要带一带新的节奏,展现一下神操作来制作这类单据报表。
这次我们拿公积金单据来进行具体操作演示。下图就是公积金管理中心为各单位提供的缴纳单据,一般要求单据的每一页上方都有单位信息,中间填写单位工作人员的具体公积金缴纳明细,最下面是合计和签章信息。一个手工年代的怀旧特点是,每页只显示7条数据,多了填到下一页,一页不够7行也要补上空行,而且要和纸质单据格式大小完全对应上:
好吧,为了按时下班,让我们用润乾报表赶紧开始吧:
首先,根据效果图绘制报表样式和框架,如下图:
【实用小技巧】因为单据类报表基本都需要打印在固定格式的单据上,也就是俗称的“套打”,所以在设计报表的时候就需要根据实际的单据来设计。具体做法是:用扫描仪扫描单据图片,然后把图片调好大小,设置为报表背景图(报表属性–>其他–>背景图),这样就可以比着图片的边框来调整报表的单元格。
接着,设计固定数据区域:
根据业务需求,要求第1行到第8行、第11行到14行的内容每页都显示,那么我们需要通过行属性设置实现此效果:
1-8行需要设计为分组表头。11行到14行设置为报表尾。
设置完后如下图所示:
然后,明细数据关联计算
业务要求按照流水号分组显示明细,所以我们添加上对应单元格表达式,并做数据关联
其中,
A1:=hnszgrkhdjqc.group(流水号;流水号:1),合并单元格后前八行数据都跟随流水号动态取数显示记录,D4、D5单元格如需从数据集取数,直接用取值表达式即可
B9:=hnszgrkhdjqc.select(id),并设置左主格为A1,表示跟随流水号动态取数
C9:=&B9,并设置左主格为B9,为序号实现方式的固定用法
D9之后的单元格表达式我们可以直接使用取值表达式,即:数据集.字段名称
最后,完美实现空行效果
实现每页固定显示7条明细数据,且不足7行时进行行补足,这需要分成两步:
1.补足空行:
我们在第10行位置插入一行,编辑补足空行表达式C10:=to((hnszgrkhdjqc.count()%7)+1,7),根据记录数判断是否补足,这里是需要跟随流水号进行判断的,所以需要设置A10的左主格为A1。
特殊的,当记录数够7行的时候,也会进行扩展,这个时候需要将多余扩展行隐藏掉,具体实现方法如下图所示(利用隐藏行表达式):
2.对于每页固定7行的效果,我们可以通过行后分页+按纸分页效果实现:
<1>在报表属性–》分页中设置为按纸分页,纸张大小根据实际业务需求进行设置
<2>在C10单元格右侧单元格属性中找到“行后分页”属性配置,并增加表达式:if(D1%7==0,TRUE,FALSE),表示如果分组内的数据记录数能被7整除,那么就隐藏,否则就显示扩展后的数据
好了,一个完美的单据类报表就完成了,我们来回顾一下其中遇到的问题和解决的技巧:
1.每页的固定表头表尾显示
【技巧】设置行属性为分组表头和报表尾
2.补足空白行,保证每页固定条数明细数据
【技巧】使用to()函数和动态隐藏行实现补足空白行,使用行后分页功能实现固定行数分页效果
至此,单据类报表制作就完成了,我们仅仅使用了润乾报表的左主格和行后分页功能就做好了单据报表,这一波操作6不6?神马银行汇款单、开户单、仓库出入库单·····都so easy,快来加入润乾大家庭,从此和加班say byebye。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。