第15天:用多维表格“手搓”一个简易ERP(请购单主子表分离篇)

Lv.2潜力创作者
🚀 第15天:用多维表格“手搓”一个简易ERP(请购单主子表分离篇)
👣 延续上一篇自动合并需求,今天我们解决一个关键问题:
如何让一张请购单既有“总览”,又有“明细”?
🔔 关注【古哥计划】,看懂如何用主表+子表实现专业级数据管理
🔧 模块升级:古哥ERP_V1.5 支持主子表联动
昨天我们实现了“相同子件自动合并”,成功将多个订单的需求汇总为一条记录。
但还不够——
一张主表:记录请购单号、申请人、日期等基本信息
多条子表:记录每项物料的详细信息(如代码、名称、数量)
只有这样,才能支持:
自定义打印报表
分批采购跟踪
与财务系统对接
审批流控制
今天,我们要做的就是:
🎯 设计目标:一单多行,主子联动
我们希望达到的效果是:
PMC点击“转请购单”按钮
系统自动生成一张新的请购单(如 QG-00010)
主表中记录:
请购单号:QG-00010
请购人:古老师
子表中自动填充所有明细项:
项次:1, 2, 3...
子件代码、名称、需求数量、来源订单等
所有数据自动关联,形成完整结构
🏗️ 架构设计:新增“请购单汇总”主表
为了实现主子分离,我们新建一个数据表:
新建数据表:→ 请购单汇总
这个表的作用是请购单的主表,相当于一张“总单”。
字段设计如下:
字段名 | 类型 | 说明 |
请购单号 | 自动编号 | 自动生成,格式如 QG-00010 |
请购人 | 单选人员 | 记录谁发起的申请 |
📌 示例记录:
请购单号:QG-00010
请购人:古老师
🔁 表格联动:在“请购需求”表中增加字段
回到之前的“请购需求”表(即子表),我们需要增加一个新字段:
新增字段:→ A 请购单
类型:文本字段
用途:存放主表中的“请购单号”
默认值:空
⚙️ 自动化流程升级:新增两步操作
我们在原有的“点击按钮时 → 跑请购单”流程基础上,继续扩展:
第5步:新增记录 —— 创建主表记录
数据表:请购单汇总
设置字段内容:
请购人 = 触发人(即点击按钮的人)
单号规则 = 第1步 | A 单号规则(自动编号规则)
请购单号:QG-00010
请购人:古老师
第6步:修改记录 —— 把主表单号写回子表
这一步逻辑稍复杂,但非常关键:
数据表:请购需求
修改范围:第4步新增的记录(即去重后的所有子件需求)
修改字段:
请购单 = 第5步 | 编号(即刚刚生成的主表单号)
主表生成了 QG-00010
子表中有6条记录
系统会自动把这6条记录的“请购单”字段都填上 QG-00010
✅ 实现主子表关联!
🧪 实际测试:验证是否成功
我们来做一次真实测试:
场景一:点击“转请购单”按钮
用户进入“控制中心”
点击“点击按钮”
系统执行以下动作:
查找当前控制对象:“采购件”
在“全阶需求”中筛选并合并相同子件
生成6条请购需求(无单号)
新增一条主表记录:QG-00010,申请人:古老师
将 QG-00010 写入6条子表记录的“请购单”字段
🔍 结果:
主表(请购单汇总):
请购单号 | 请购人 |
QG-00010 | 古老师 |
子表(请购需求):
表格
项次 | 子件代码 | 子件名称 | 子件需求 | 请购单 |
1 | 10001 | A1-1 | 10 | QG-00010 |
2 | 10005 | A2-2 | 10 | QG-00010 |
... | ... | ... | ... | QG-00010 |
✅ 成功建立主子关系!
📊 为什么这种设计更优?
传统方式 | 我们的设计 |
所有信息挤在一个表里 | 主表+子表分离,结构清晰 |
不支持分页打印 | 支持按主表打印整张请购单 |
难以追踪变更 | 每条记录都有唯一归属 |
无法做审批流 | 为主表设置审批权限更合理 |
把“一堆数据”变成了“一张规范的单据”。