✨ 系列第49篇|从零开始搭建标准ERP架构
👣 接续第48天“精细化欠料齐套计算”,今天我们进入版本化管理阶段
🔧 目标:实现“一键备份+清除”功能,支持多版本计划交替计算
🎯 关键点:按钮触发 → 查找记录 → 新增备份 → 删除原数据
💡 核心价值:让每一次计算都干净、独立、可追溯
🔍 回顾:我们已经做了什么?
在前一篇中,我们完成了:
建立了“按开工时间排序”的物料需求流
实现了“累计扣减库存”的动态逻辑
计算出了每条工单的“单日欠料”与“欠料定义”
现在,我们拥有了一套完整的 MPS 欠料分析模型,可以精准判断某一天(如3月8日)是否缺料。
但问题来了:
❓ 如果下一个版本是“3月9日”的计划,怎么办?
❓ 能不能直接覆盖之前的计算结果?
❓ 如果误操作,能不能找回之前的数据?
答案是:必须做版本控制!
于是,我们引入了一个新的核心模块:
✅ 欠料分析版本备份机制
✅ 步骤一:创建“欠料控制”主控表

✅ 表名:欠料控制
类型:主控表
字段:
计划版本号(如:3-5, 3-6, …, 3-10)线体生产任务号点击按钮时 → 备份后删除欠料分析
✅ 功能定位:
这不是存储业务数据的地方
它是一个“流程控制器”
每个版本对应一条记录
点击按钮即可启动自动化流程
✅ 步骤二:新增按钮字段 —— 触发自动化
✅ 第1步:点击按钮时 → 备份后删除欠料分析

类型:按钮
用途:触发自动化脚本
✅ 当用户点击该按钮时,自动执行以下四步操作:
| 步骤 | 操作 | 目的 |
| 1 | 点击按钮时 | 触发条件 |
| 2 | 查找内容 | 获取当前所有欠料分析数据 |
| 3 | 新增记录 | 将这些数据备份到“欠料分析版本备份”表 |
| 4 | 删除记录 | 清空“欠料分析”表中的原始数据 |
✅ 步骤三:配置自动化流程(详细说明)
🔹 第2步:查找内容

选择记录所在的数据表:欠料分析
设置查找范围:所有记录
选择查找内容:勾选所有字段(包括:版本号、线体、子件编码、未发数量、累计未发、单日欠料等)
✅ 目的:完整复制当前欠料分析的所有明细
🔹 第3步:新增记录

选择新增记录所在的数据表:欠料分析版本备份
设置记录内容:全部字段映射过来
- A 版本日期 → 取自“欠料控制”表的版本号
- A 线体 → 同上
- A 生产任务号 → 同上
- …
注意:这里会自动带入上下文信息(即当前点击按钮的那条记录)
✅ 示例:
当前点击的是“3-10”版本
所有备份数据都会带上 版本号=3-10 的标签
方便后续查询与对比
🔹 第4步:删除记录

选择要删除记录的数据表:欠料分析
删除范围:所有记录
✅ 注意:
删除的是整个表的数据
不影响其他表
是为了给新版本“腾地儿”
⚠️ 提醒:
必须先备份!否则就没了
不能只删不备!
✅ 步骤四:新建“欠料分析版本备份”表

✅ 表名:欠料分析版本备份
类型:数据表
字段:与“欠料分析”完全一致
作用:永久保存每个版本的欠料计算结果
✅ 优势:
支持历史回溯
支持对比不同版本差异
支持报表生成(如:各版本缺料汇总)
📊 实际测试效果(以图为例)

🟩 测试1:点击按钮 → 成功备份并删除
当前“欠料分析”表中有多个版本的数据(如3-8、3-9)
用户点击“3-10”版本的按钮
自动化执行:
查找所有“欠料分析”记录
全部复制到“欠料分析版本备份”表中(标记为3-10)
删除“欠料分析”表中所有数据
结果:
“欠料分析”表变为空
“欠料分析版本备份”表新增一批3-10的数据
状态提示:“✅ 备份删除成功”
✅ 成功!
🛠️ 为什么这样设计?背后逻辑解析
| 设计点 | 原因 |
| 使用“按钮+自动化”而非手动操作 | 避免人为遗漏或错误 |
| 先备份再删除 | 保证数据安全,防止丢失 |
| 分离“计算表”与“备份表” | 实现职责分离,便于维护 |
| 每个版本独立存储 | 支持多版本并行分析 |
| 自动关联版本号 | 方便后期追踪与审计 |
✅ 这种模式,其实就是一个微型的 “ERP 计算引擎” 的雏形!
