第11天:用多维表格“手搓”一个简易ERP(MRP第一层运算篇)

古哥计划
古哥计划 Lv.2 潜力创作者KVP

Lv.2潜力创作者

第11天:用多维表格“手搓”一个简易ERP(MRP第一层运算篇)

系列第11篇|从零开始搭建标准ERP架构
👣 延续上一篇计划模块设计,今天我们正式进入 ERP最核心的功能之一:物料需求计划(MRP)
🔔 关注【古哥计划】,看懂如何让数据“动起来”

🔧 模块升级:古哥ERP_V1.3 进入深度阶段

在完成了销售订单到计划需求单的流转后,我们终于迎来了整个ERP系统中最关键的一环——MRP(物料需求计划)

今天,我们将开启 MRP的第一层运算,也就是:

基于销售订单,计算出直接构成产品的零部件需求

这一步看似简单,却是后续所有生产、采购、库存管理的基础。如果这一层算不准,后面的流程都会出问题。

而我们的目标是:不仅让系统“跑出来”,更要让人看得懂、控得住、调得动。


🎯 为什么要分层跑MRP?

传统的专业ERP系统往往一次性完成全部层级的MRP运算,

过程封闭、结果不可见。但作为“手搓”版本,

我们选择自上而下、逐层推进的方式:

先跑第1层需求 → 再跑第2层 → 依此类推

每一层都可独立查看、人工干预

支持灵活调整系数、考虑库存、设置优先级

这样做的好处是:

运算过程透明化

错误易于定位

PMC人员能真正参与决策


🔁 回顾:已有基础数据

在开始之前,我们已经具备以下两个关键数据表:

计划需求单

包含了所有需要排产的销售订单项次

字段包括:销售订单号-项次、物料代码、物料名称、物料数量、物料交期

父子型BOM表

记录了每个父件由哪些子件组成

包括:父件编码、子件编码、子件名称、子件用量

这些数据将成为本次MRP运算的输入源。


📌 扩展“计划需求单”:补充完整信息

昨天我们只通过自动化流程把“销售订单号-项次”同步到了计划需求单中。现在我们需要补充更多字段,以便后续查找与计算。

新增字段如下:

字段名

类型

来源

物料代码

查找引用

引用自「订单明细表」中的同名字段

物料名称

查找引用

同样来自订单明细表

物料数量

查找引用

直接关联原始订单数量

物料交期

查找引用

获取客户要求的交货时间

📌 所有字段的查找条件均为:

“销售订单号-项次” = 当前记录的“销售订单号-项次”
这样一来,每条计划需求单都能自动带出完整的物料信息,无需手动填写。


新增控制字段:是否跑第1层MRP

为了实现“按需运算”,我们在「计划需求单」表中新增一个字段:

类型:复选项

名称:跑第1层MRP

💡 用途:由PMC人员勾选,表示该订单项需要进行第一层物料需求计算。

例如:

如果某产品A的订单不需要拆解,则不勾选

若需分解为B、C等部件,则勾选 → 触发后续流程


📂 创建新表:第1层需求

接下来,我们新建一张数据表,命名为:

第1层需求

这张表将用于存储MRP第一层的毛需求结果。

字段设计如下:

销售订单号-项次(文本)

用于关联原始订单,确保来源可追溯

物料代码(文本)

存储第一层子件的编码,即BOM中的“子件”

这两个字段是后续所有查找与计算的基础。


⚙️ 自动化流程:从计划需求单 → 第1层需求

现在,我们配置自动化流程,实现:

当用户在「计划需求单」中勾选“跑第1层MRP”时
→ 自动创建对应的第1层需求记录

流程命名:跑1层MRP

步骤一:触发条件

当「计划需求单」中的某条记录被修改,且“跑第1层MRP”被勾选时

步骤二:查找内容

在「计划需求单」中查找当前触发的记录(即刚刚勾选的那条)

步骤三:再次查找

在「父子型BOM」表中查找匹配的数据:

  • 条件:父件 = 当前记录的“物料代码”

  • 项次:保持一致,确保对应关系准确

步骤四:新增记录

在「第1层需求」表中新增一条记录

填写字段:

  • 销售订单号-项次 = 来自计划需求单

  • 物料代码 = 来自BOM表中的“子件”

这样一来,系统就能自动将一个父件拆解为多个子件,并生成对应的需求条目。


🧮 计算第1层子件毛需求

仅仅知道子件是什么还不够,我们还需要知道要多少

因此,在「第1层需求」表中,我们新增一个公式字段:

字段名:第1层子件需求

类型:公式

其中:

@数量:指当前订单项的物料数量(如200台)

@第1层子件用量:来自BOM表中的“子件用量”字段(如每台需1个B件)

📌 示例:
订单数量:200台
每台需B件:1个
则第1层B件需求 = 200 × 1 = 200个

这个公式会自动计算每一行的毛需求,无需人工干预。


🔄 整体流程梳理:从订单到第1层需求

我们来回顾一下整个链路:

销售订单 → 生成销售订单明细

勾选“跑计划单” → 自动生成「计划需求单」

勾选“跑第1层MRP” → 触发自动化流程

查找BOM结构 → 获取子件信息

自动新增到「第1层需求」表

公式自动计算毛需求量

一个完整的“订单 → 需求”的闭环就此形成。

🌐 总结:为什么这个设计很聪明?

传统做法

我们的设计

MRP全自动运行,无法干预

保留人工选择权,灵活可控

结果一次性输出,过程不可见

分层展示,每一步都可审计

数据来源模糊

每条需求都有明确出处

不支持临时调整

可随时修改参数、重新运算

💡 核心价值在于:
把复杂的MRP运算,变成了可理解、可控制、可追溯的数字化流程

🔮 下一篇预告:第12篇来了!

开启MRP第二层运算设计
如何基于第1层需求,继续向下拆解?
如何处理多级BOM的嵌套关系?
如何考虑现有库存?

我们将一步步展开MRP的全貌,让你真正掌握“为什么需要这么多物料”。

广东省
浏览 780
1
7
分享
7 +1
1 +1
全部评论