制作主子填报表

阅读(4503) 标签: 主子填报表, 公共维,

通过前面章节学习,我们知道了行式填报表和自由格式填报表的制作方法,对于主子填报表,简单来说,其实就是行式填报和自由格式填报表的组合。如下图所示,分上下两部分,上半部分为订单主表,下半部分为订单明细,这两部分数据分别来自不同的物理表。利用润乾报表的填报模型,即可实现在一张填报表填入的数据,同时保存到多张物理表中,并保持数据库事务一致性,主子填报表示例如下图:

目前自由格式的填报仅支持一条记录数据,因此报表上半部分需要设置成对一条记录的填报,下半部分设计成行式填报,并且创建有参数的数据来源脚本。详细步骤如下:

第一步:设计填报表

打开润乾报表设计器,启动示例数据库,连接demo数据源。

再点击【文件】à【新建填报表】,系统生成一张空白填报表。

编辑填报表内容和样式,内容如下图所示:

第二步:设置单元格类型

选中B2单元格,设置B2的单元格类型为维度格。

选中D2F2H2B4D4F4H4B6D6F6H6B8D8F8C12- G12C13- G13单元格,设置其单元格类型为数值格。

第三步:设置数据处理

点击【填报】à【数据处理】,设置数据来源和数据去向。数据来自订单表和订单明细表。

在弹出的数据处理窗体上再点击【使用向导生成脚本】。系统自动打开脚本编辑向导,点击增加按钮增加数据表类型的数据集,配置如下:

“模式名”下拉框中选择“DEMO”模式。

“数据表”下拉框中选择“订单”。

字段列表框选择主键“订单ID”,并选出全部字段。

最后把对象名修改为订单。

切换到“检索条件”tab页编辑检索条件,如下图:

检索条件中通过订单ID只查询某一个订单的信息。

切换到“参数”tab页添加参数arg1,如下图:

再点击数据集列表中的按钮,追加一个数据表类型的数据集。

“数据表”下拉框中选择“订单明细”。

字段列表框选择主键“订单ID”和“产品ID”,并选出全部字段。

最后把对象名修改为订单明细。

切换到“检索条件”tab页编辑检索条件,如下图:

检索条件中通过订单ID只查询某一个订单的明细信息。

切换到“参数”tab页添加参数arg1,如下图:

点击【确定】按钮系统自动配置数据来源、数据去向与保存对象的旧数据。

数据来源:

数据去向如下

保存对象的旧数据如下图:

其他tab页如下图:

公共维处理模式为自动增加到本页数据区序表中,因此当前报表中的公共维“订单 ID”字段会自动增加到订单明细中。

第四步:编辑维度格

选中B2单元格,编辑表达式:=订单.(订单ID),此时维度格表达式返回值是单值。B2单元格的返回值对应对象订单中的“订单ID”字段的字段值。该单元格不可扩展。可参考同序表采集规则小节,查看该填报表对应的分片结果,其中“订单ID”作为“公共维”将两个表关联起来。

第五步:设置字段名称

选中B2单元格,在右侧单元格属性栏的字段名称中输入“订单.订单ID”。

此处订单为数据来源返回的对象,表示这片区域的数据就取自订单。

上半部分区域中没有给数值格设置字段名称属性,按照字段名采集规则,程序会自动将数值格左侧的普通格内容作为对应的字段名。

选中C12单元格,在右侧单元格属性栏的字段名称中输入“订单明细.产品ID”。

此处订单明细为数据来源返回的对象,表示这片区域的数据就取自订单明细。

下半部分区域中没有给其他数值格设置字段名称属性,按照字段名采集规则,程序会自动将数值格上方的普通格内容作为对应的字段名。

第六步:设置编辑风格

设置H2B8D8单元格编辑风格为下拉日历,具体步骤可以参照编辑风格章节。

第七步:设置参数

点击【填报】à【参数】,打开参数编辑界面。添加参数arg1,设置缺省值为10327。订单和订单明细有外键关联。

第八步:自动计算

编辑H6单元格的表达式为=sum({G12})

编辑G12单元格的表达式为=D12*E12*(1-F12)

第九步:设置显示格式

选中H2B8D8单元格,设置显示格式为yyyyMMdd日。

选中D4H6D12G12单元格,设置显示格式为¥#.#

选中E12单元格,设置显示格式为#.#

选中F12单元格,设置显示格式为#0.00

保存该填报表文件为6.1.sht。文件内容如下图:

第十步:WEB预览

点击WEB预览按钮wps63BB.tmp,服务器自动启动。填报表WEB预览效果如下图所示: