第48天:用多维表格“手搓”一个简易ERP(欠料齐套计算篇)

古哥计划
古哥计划

优秀创作者

🚀 第48天:用多维表格“手搓”一个简易ERP(欠料齐套计算篇)

系列第48篇|从零开始搭建标准ERP架构
👣 接续第47天“欠料分析自动触发”,今天我们进入生产执行的核心环节——物料齐套性计算
🔧 目标:实现“按开工顺序累计扣减库存,精准识别欠料项”
🎯 关键点:排序 → 累计需求 → 库存引用 → 扣减逻辑 → 欠料判断
💡 核心价值:让每一笔物料需求都“按时间流”动态计算

🔍 回顾:我们已经做了什么?

在前一篇中,我们完成了:

建立了“欠料控制”与“欠料分析”两个核心表

实现了“点击按钮 → 自动生成该版本所有用料明细”

完成了“计划版本号绑定 + 自动化拉取”

现在,我们拥有了:

每个计划版本下所有的生产任务

每个任务对应的BOM用料清单

一条条“未发数量”记录

但还缺最后一步:

如何根据“开工时间先后”进行库存扣减?
如何避免同一物料被重复扣减?
如何判断某一天是否真正“缺料”?

这就是本篇要解决的问题:建立“时间序列+累计扣减”的欠料计算模型


步骤一:排序 —— 让数据按“时间流”排列

双条件排序配置:

主排序字段A 子件编码 → 升序(A→Z)

次排序字段开工时间 → 升序(早→晚)

目的:
先把相同子件归类在一起
再按开工时间排序,确保先生产的任务优先消耗库存
示例效果:
表格
这样才能保证:
第一次使用A1时,消耗100
第二次再消耗200
第三次继续累加……
不会因为乱序导致“提前扣完库存”

步骤二:新增统计字段 —— 累计需求

字段名称:累计需求

类型:统计

统计来源:欠料分析

统计字段:123 未发数量

统计方式:求和

统计条件:

  • A 子件编码 = 当前行

  • 123 序号 ≤ 当前行

效果:
对每个子件,按开工时间顺序累计其“未发数量”
实现“逐批消耗”逻辑

步骤三:引用库存数据 —— 实时获取可用量

新增统计字段:现存量

类型:统计

来源表:现存量明细表

统计字段:Σ 现存量

统计条件:

  • 物料编码 = A 子件编码

注意:
必须是“实时引用”,不能手动填
否则无法反映真实库存变化

步骤四:计算“累计未发” —— 动态扣减逻辑

新增公式字段:累计未发

解读:
用总库存减去已累计消耗的需求
得到当前剩余可支持的产量
若结果为负数,则表示“不够用了”
⚠️ 注意:
“累计未发”是全局视角下的剩余能力
它决定了后续能否继续排产

步骤五:计算“单日欠料” —— 精准判断缺料

新增公式字段:单日欠料

分步解读:

条件

结果

累计未发 > 0

说明库存足够 → 返回 0(不欠料)

否则(库存不足)

判断缺口大小

如果 `

累计未发

否则

说明这个订单完全缺料 → 返回 -未发数量

重点:
“单日欠料”代表的是当前这一条记录是否缺料
负值表示“缺”,正值或0表示“不缺”

步骤六:定义“欠料状态” —— 最终结论输出

新增公式字段:欠料定义

简洁明了:
小于0 → 缺料
大于等于0 → 齐套

📊 实际效果演示(以图为例)

解读:
前四条任务都能满足
第五条任务因库存不足,出现“欠料”
且系统能准确识别出“缺100个”
上海
浏览 67
收藏
5
分享
5 +1
+1
全部评论