一句话
子表单适合随主记录一起保存的从属明细。设计时要分清三件事:当前行与整列数组、来源事实与现场结果,以及重算、追加、保留历史三种数据规则。
当前行和整列分开算
- 子表单里的行金额只算当前行:数量 × 单价。
- 主表的总金额拿到的是整列数组,要用求和或乘积求和。
- 保留行金额字段,方便业务人员逐行核对。
- 两个不同子表单的数组不会按行自动配对,跨明细配对要先建立稳定的关联键。
订单事实整体带入,现场结果单独填
选中采购订单后,单号、供应商和明细可以整体带入到货核对单;但关联到主表不等于自动复制子表行,子字段映射要逐项配置。实到数量、异常和处理结果是现场事实,由仓库核对后填写,不能用采购数量直接代替。
多选拆成多行:四层逻辑
COUNT 算出选了几个 ↓ 行数基础表提供 1…N 序号 ↓ 整表联动生成 N 行明细 ↓ SPLIT 生成数组,序号减一后逐项取值
实用技巧
- 序号从 1 开始,数组下标从 0 开始,取值时记得减一。
- 电脑端可以把 Excel 多行数据直接粘贴进子表单(快速填报),粘贴后核对字段对应;公式列不作为输入列。
- 自动行号只代表当前顺序,插入、删除会变;要长期识别明细,保存物料编码或独立明细编号。
| 判断 | 子表单 | 关联子表 |
|---|---|---|
| 数据身份 | 主记录内部的从属行 | 另一张表里的独立记录 |
| 生命周期 | 和主记录同生共死 | 可持续追加、单独保存 |
| 流程和权限 | 跟随主记录 | 可单独流程、授权、触发 |
| 典型场景 | 报销费用、订单明细 | 分批到货、逐项维修、合并付款 |
关键不是界面像不像表格,而是明细将来要不要独立存在、继续流转。
常见错误
- 在主表直接用普通乘法处理两列子表数组。
- 只联动了单号和供应商,没配子表字段映射。
- 把实到数量直接复制成采购数量,掩盖短装和分批到货。
- 已经填了人工处理结果,还允许上游多选随意重算覆盖。
资料来源:jdy-knowledge《采购入库子表单进阶》(课程第 1—9 集学员稿提炼)。
笔记配合视频看效果更好,视频在 B 站「AI企业管理研究员」等平台。