🚀 第10天:用多维表格“手搓”一个简易ERP(计划模块篇)
✨ 系列第10篇|从零开始搭建标准ERP架构
👣 延续上一篇销售订单打印设计,今天我们正式进入 计划模块 的构建
🔔 关注【信胜优】,看懂如何让数据“动起来”
🔧 模块升级:古哥ERP_V1.3 正式上线
在完成了客户管理、销售订单录入与合同打印后,我们迎来了整个ERP系统中最核心的环节——计划模块。
今天,我们将正式将项目版本升级为:
古哥ERP_V1.3
这个模块之所以复杂,是因为它承担着企业运营的“大脑”功能:把销售订单转化为可执行的生产任务。
传统的MRP(物料需求计划)虽然能自动计算出所需物料,但过程封闭、不可控、难以追溯。而我们的目标是:
打造一个透明、灵活、可干预的手搓式MRP系统
让PMC(生产计划部门)不仅能“看到结果”,还能“理解过程”,甚至“调整规则”。
🎯 计划模块的核心目标:从销售到生产的桥梁
简单来说,计划模块要解决的问题是:
销售下了订单 → 我们需要知道哪些物料要生产?
有多少数量?
是否有库存?
是否需要采购?
如何安排优先级?
而这一切,都始于一个关键动作:跑计划单。
📌 设计第一步:创建“计划需求单”表
我们新建一张数据表,命名为:
计划需求单
这张表将成为后续所有计划运算的基础,它的作用是:
接收来自销售订单的明细项
作为MRP运算的输入源
支持人工干预与调整
字段设计如下:
编号(系统自动生成)
类型:唯一ID
功能:确保每条记录都有独立标识,便于追踪
销售订单号-项次(文本字段)
示例值:SO-00001-1
用途:精确标识某张销售订单中的某一具体项次
后续用于关联BOM、库存、采购等模块
✅ 这个字段非常重要,它是连接销售与生产的“钥匙”。

🔁 实现机制:如何把销售订单“转”成计划需求?
接下来,我们需要建立一个自动化流程,实现:
当销售订单明细被确认 → 自动进入计划需求单
操作步骤如下:
1. 回到「订单明细表」
新增一个字段:
类型:复选项
名称:跑计划单
用途:由PMC人员勾选,表示该订单项已准备进入计划流程
💡 为什么不用自动触发?
因为有些订单可能暂时不需要排产,比如延期交付、客户取消等,保留人工控制权更灵活。

2. 创建自动化流程
点击顶部菜单 → 自动化流程 → 新建流程
命名:勾选 → 跑计划单
配置逻辑如下:
| 触发条件 | 执行动作 |
| 当「订单明细表」中某条记录被修改且“跑计划单”被勾选时 | 在「计划需求单」表中新增一条记录 |
参数设置:
新增记录的目标表:计划需求单
设置字段内容:
销售订单号-项次= 取自当前订单明细的“销售订单号-项次”字段
✅ 这样一来,只要PMC勾选了某个订单项,系统就会自动将其同步到计划需求单中。

⚠️ 防BUG设计:避免重复录入
为了防止同一个订单项被多次提交导致混乱,我们做了关键防护措施:
在「计划需求单」表中,对“销售订单号-项次”字段启用:
禁止录入重复值
这意味着:
如果已经有一条记录是 SO-00001-1
再次尝试添加相同的值,系统会提示错误并阻止提交
💡 这个设计保证了数据的唯一性与准确性,避免“重复跑计划”的问题。

🔄 实际运行效果:一键同步,清晰可控
当PMC人员在订单明细表中勾选“跑计划单”后:
系统自动检测到变更
触发自动化流程
在计划需求单中新增对应记录
所有操作留痕,支持回溯
例如:
SO-00001 的前两项被勾选 → 计划需求单中生成两条记录:SO-00001-1 和 SO-00001-2
SO-00002 的全部四项被勾选 → 生成四条新记录
✅ 整个过程无需手动复制粘贴,高效且准确。

🌐 总结:为什么这个设计很聪明?
| 传统做法 | 我们的设计 |
| MRP全自动运行,无法干预 | 保留人工选择权,灵活可控 |
| 一次性全量处理,缺乏颗粒度 | 以“项次”为单位,精细拆解 |
| 数据不透明,看不到来源 | 每条计划都有明确出处 |
| 容易重复计算 | 通过去重机制杜绝重复录入 |
💡 核心价值在于:
把复杂的MRP过程,变成了可理解、可控制、可审计的数字化流程。
🔮 下一篇预告:第11篇来了!
开启MRP第一层级运算设计
如何基于计划需求单,计算出第一层物料的需求?
如何考虑现有库存?
如何设置安全库存与补货策略?
我们将一步步展开MRP的运算逻辑,让你真正理解“为什么需要这么多物料”。
