第1章 需求描述

具体需求如下:报表1显示单位的信息,报表2显示该单位的明细表,要求这两张报表定义在一个报表文件中,打印时循环打印多家单位,第一页只打印第一家单位的信息,第二页打印该单位的明细表,明细表的内容可能会很多,要求明细表分页时,在明细表的第二页显示对应的表头信息,依次循环打印多个单位的信息和明细信息。

单位信息报表样式如下:

1

单位明细表多页时样式如下:

第一页的样式:

2

第二页的样式:

3

第2章 如何定义此需求的报表

2.1 报表定义

1)定义报表1,样式如下:

4

在报表设计器中新建一个空白报表,新建数据集ds1,定义报表1对应的数据集。

2)在设计器中通过单元格合并、改变高宽、对齐方式、边框等操作,设计报表1的布局,由于显示时需要每个单位的信息显示一页,这里设置A1为隐藏行,合并A列的所有行,布局定义如下:

5

3)将数据集字段拖入相应的表格中

a) 单元格A1放入字段AAB003(单位代码对应的字段),设置为分组,即=group( 'ds1', 'AAB003', null, 'AAB003 asc'),单元格扩展方向属性为纵向扩展

b) 单元格C2放入字段BZE062,设置为取值,即=get( 'ds1', 'BZE062') ,单元格行依赖属性为A1

c) 单元格F2设置为条形码CODE 39,行依赖为A1

d) 单元格I8设置为=$currentTimes

e) 其它单元格的设置参考C2单元格,拖放对应的字段到单元格,设置为取值,单元格行依赖属性为A1 4)设置标题、表头

a) 设置第1行类型为标题

b) 设置第2—5行类型为表头

结果如下图所示:

6

5)报表1定义完成,发布查看效果

发布报表,查看效果如下:

7

6)定义报表2,样式如下:

8

在报表1的报表定义中,新建报表2的数据集ds2。

7)在设计器中通过添加行列、单元格合并、改变高宽、对齐方式、边框等操作,设计报表2的布局,由于显示时需要每个单位的明细信息显示一页,这里在A1后面添加一列,设置为隐藏行,合并A列的所有行,布局定义如下:

9

8)将数据集字段拖入相应的表格中

a) 合并A列的所有行所在的单元格

b) 设置单位代码、结算月份、单位名称、流水号、分中心、社保经办人、打印日期等,对应的值所在的单元格公式和报表1对应的内容一致,都取ds1数据集对应的字段值,并11、12、17行所有单元格行依赖A1

c) 第13—15行单元格行依赖A1

d) 单元格B16放入ds2数据集的字段BAZ621(单位代码对应的字段),设置为查询,即=select( 'ds2', 'BAZ621', {&get('ds2', 'AAB003') = CellRef('A1')}),过滤条件为ds2数据集中的字段AAB003的值等于A1单元格对应的值,单元格扩展方向属性为纵向扩展,行依赖A1

e) 单元格C16放入字段SEQNUM,设置为取值,即=get( 'ds2', 'SEQNUM') ,单元格行依赖属性为B16

f) 第16行其它单元格的设置参考C16单元格,拖放对应的字段到单元格,设置为取值,单元格行依赖属性为B16

g) 设置A和B列的宽度为0,显示标尺,按照标尺的范围调整单元格的宽度,使所有单元格都在标尺范围内,以便打印时宽度不会超出纸张的范围

9)设置标题、表头

a) 设置第10—12行类型为标题

b) 设置第13—15行类型为表头

结果如下图所示:

10

10)报表2定义完成,发布查看效果

发布报表,查看效果如下:

11

12

2.2 打印结果

打印效果如下图所示:

13

results matching ""

    No results matching ""

    results matching ""

      No results matching ""