文档首页 / 子报表与明细

子报表与明细

在单据模板中用「网格报表」组件内嵌明细表格,以及用分组区域按字段分组,含宽度、高度、空结果策略和分组分页选项。

概述

单据的主体是按毫米定位的字段,一对多的明细(处方药品、费用项目、出库清单)需要用表格表达。单据模板提供两种方式:

方式 适用场景
「网格报表」组件 在单据中嵌入一张网格报表,明细行数随数据增长。内嵌网格的设计方式与网格报表一致
「分组」区域 按数据集字段分组,每组由组头、明细、组尾构成,适合"一个患者多条记录""一张订单多个商品"的分段展示

功能入口

  • 「网格报表」组件:单据设计器左侧组件工具栏,拖到画布。选中后右侧属性面板出现「网格报表策略」,点击「进入内嵌网格设计」编辑。
  • 「分组」区域:在画布区域的右键菜单中选择「添加分组」或「在后面添加分组」,也可使用设计器工具栏的添加分组。选中分组区域后,属性面板中设置数据集、分组字段和分页选项。

操作步骤

添加明细表格

  1. 从组件工具栏把「网格报表」拖到内容区或报表尾等区域。
  2. 选中该组件,点击「网格报表策略」中的「进入内嵌网格设计」,进入内嵌网格设计界面。
  3. 在内嵌网格中按网格报表方式设置列、表头,并把明细单元格绑定到数据集字段,设置扩展方向。内嵌网格使用当前单据模板的数据集和报表参数,界面顶部的「返回单据模板」按钮用于退出。
  4. 返回后,属性面板的「当前状态」显示「已配置网格内容」。
  5. 设置宽度、高度和空结果策略(见下表),保存并预览。

按字段分组

  1. 在右键菜单选择「添加分组」,选中新增的分组区域。
  2. 选择「数据集」和「分组字段」,需要排序时点击「新增排序」,选择字段和升序或降序。
  3. 在分组的组头、明细、组尾中放置组件。组头、组尾内可使用 $$group.字段名(当前分组值)、$$group.$index(分组序号)、$$group.$count(分组总数);组尾中还可选择聚合函数(求和、计数、平均、最小、最大)自动生成如 $$group.$sum('amount') 的表达式。
  4. 在「分页选项」中设置分组的分页行为(见下表)。

参数说明

网格报表组件策略

属性 说明 取值/默认值
宽度策略 表格宽度与主内容区的关系 适应主内容(默认)、动态
窄于主内容 仅「动态」宽度下出现,表格比主内容窄时的处理 适应主内容(默认)、保持原宽
宽于主内容 仅「动态」宽度下出现,表格比主内容宽时的处理 适应主内容(默认)、截断
高度策略 表格高度如何确定 自动扩展(默认)、固定设计高度、自然高度
最大高度 仅「自动扩展」下出现,单位 mm 0 或留空表示不限制
空结果 数据集没有数据时的表现 保留占位(默认)、隐藏组件、显示占位提示
占位提示 空结果选「显示占位提示」时出现,填写显示文案 文本
终止线 明细结束处画斜线或「以下空白」 见 终止线 / 处方线

分组区域

属性 说明 取值/默认值
分组名称 分组的名称 文本
数据集 分组使用的数据集 当前模板的数据集
分组字段 按此字段分组 数据集字段
启用 是否启用该分组 开关
排序 组内排序字段与方向 升序、降序,可添加多项
跨页重复组头 分组跨页时是否在新页重复组头 开关
分组分页方式 分组与分页的关系 正常分页、组头跟首条数据、整组尽量同页
分组前换页 每个分组前另起一页 开关
重启页号 每个分组重新从 1 编页码 开关
过滤条件 点击「配置过滤条件」,对分组数据筛选 条件列表

分组内可定义分组变量,在组头、明细、组尾中通过 $$groupVars.变量名 引用;表达式中 dataset('数据集') 读取当前组数据,rawDataset('数据集') 读取分组前的原始数据。

示例

处方单:上方为患者信息,中间为药品明细,下方为医师签字栏。

  1. 单据内容区放置患者姓名、性别、年龄等文本组件,绑定到主数据集字段。
  2. 在其下拖入「网格报表」组件,「宽度策略」保持「适应主内容」,「高度策略」选「固定设计高度」。
  3. 进入内嵌网格设计,第一行写表头「药品名称」「规格」「数量」,第二行分别绑定数据集 drug_list 的 drug_name、spec、qty 字段,扩展方向向下。
  4. 「空结果」选「显示占位提示」,占位提示填「无药品」。
  5. 报表尾放置签字栏文本组件。预览时药品行随数据增长;没有药品时显示「无药品」。

注意事项

注意:「高度策略」为「自动扩展」时组件随明细增高,不会有剩余空白,也就不会出现终止线。需要终止线时使用「固定设计高度」或「自然高度」。

提示:内嵌网格里父格、子格的扩展关系与网格报表相同,见 父子格与数据绑定。

相关文档

联系我们

请填写您的信息,我们将在 1 个工作日内与您联系。