明细表设计
本章介绍明细区的定义、明细字段与汇总的配置、行操作的控制。
一张单据中可反复添加多行的部分(费用明细、订单商品行),在设计器中通过明细区实现。
1. 定义明细区
明细区是画布上一块连续的矩形区域,有两种排布方向:
| 方向 | 结构 | 适用 |
|---|---|---|
| 纵向 | 一行表头,下方若干行数据,每列对应一个明细字段 | 最常见,类似数据列表 |
| 横向 | 一列表头,右侧若干列数据,每行对应一个明细字段 | 字段少、需要横向平铺的场景 |
定义步骤
- 框选作为明细区的矩形范围(包含表头行或列);
- 打开字段定义面板,将「定义类型」切换到明细表;
- 选择新建明细表(首次定义)或补充到已有明细表。补充模式下排布方向自动锁定为目标明细表已有的方向,不可更改;
- 系统按方向拆出候选字段,字段名从相邻表头文字推断,可逐条勾选、改名、调整类型;
- 确认提交,字段落到该明细表对应的数据表。
⚠️ 明细区必须是连续矩形。 候选字段之间不连续时(例如中间空出一列未勾选),系统提示不连续并拒绝提交。
主表字段与明细字段分属两张数据表,关联由系统自动维护,设计时只需摆好位置。
设计建议:定义明细区时建议至少划出两行数据区。系统不强制校验,但只留一行会使填报态的行操作与样式表现不直观。

采购明细的向下扩展方向与字段结构

已保存的自动编号、日期与两行明细
2. 明细字段与汇总
明细区中的每一列(纵向)或每一行(横向)都是独立字段,配置方式与主表字段相同:可设类型、默认值,也可配置填写控件。
汇总字段放在明细区之外的表头区域,对某一列明细数据自动统计,例如"合计金额"对明细的"金额"列求和。
填报时使用者增删明细行,汇总值自动重新计算,无需手工维护。
3. 明细行内的计算
明细区内也可设置计算列,例如"金额 = 数量 × 单价"。修改同一行的数量或单价后,该行金额自动更新。
行内计算只作用于当前行,不影响其他行。
4. 控件在明细区的表现
明细行中同样可放置下拉、级联、列表等控件,配置方式与主表一致。
列表控件在明细区中只填充当前行的相关列,不影响其他行,便于逐行选择不同的明细项。
5. 设计建议
| 建议 | 说明 |
|---|---|
| 明细列不宜过多 | 列数过多时填报需要横向滚动,影响录入效率 |
| 汇总字段放在显眼位置 | 通常置于明细区下方或表头区,便于核对 |
| 需要行内计算时用计算列 | 不要让使用者手工填写可由公式得出的值 |
| 考虑行数上限 | 明细行数较多时会影响加载与保存速度 |
6. 相关章节
序号、间隔色与相同值合并
明细序号
在明细数值字段的默认值中选择「序号」。填报时按有效行顺序从 1 连续编号,插删行后重新计算,字段对用户只读。该配置只用于明细,不用于主表或普通单据编号;需要业务唯一编号时使用自动编号。
明细行间隔色
在数据绑定管理器中设置「明细行间隔色」,选择颜色并预览。扩展出的业务行沿用间隔色规则;发布后用多行数据核对屏幕和输出。
相同值合并
在数据绑定管理器选中扩展表,点击「相同值合并」,开启并给字段配置 1~3 级合并层级。同级字段分别按连续相同值合并;下级只在上级分组未断开的范围内继续合并,空值会打断分组。
合并只改变呈现,不合并业务行。点击块内某行会临时拆开以编辑当前行;打印、Excel 与 PDF 输出需单独核对跨页效果。
使用限制
超过 512 行的渐进加载场景仍有相同值合并未完整覆盖的问题。大明细表暂不依赖合并显示判断分组完整性;应按实际行值与导出结果核对。
扩行后的表尾与对象
明细扩展后,其下方主表字段、表尾合计、浮动对象和指定打印区域会随结构变化调整;引用扩展数据的区域图表也应核对新增行是否进入结果。设计验收至少覆盖零行、一行、多行及跨页打印,不只检查设计器里的初始样式行。