第23天:用多维表格“手搓”一个简易ERP(仓库模块篇)
优秀创作者
🚀 第23天:用多维表格“手搓”一个简易ERP(仓库模块篇)
👣 延续上一篇“采购闭环管理”,今天我们正式进入 仓库模块的设计阶段
🔧 今天目标:实现“采购→入库”的自动流转
🎯 关键点:主表+配置表+明细表结构 + 双向关联 + 自动化写入
🌐 实现“无采购订单,不能入库”的业务规则!
🔁 复习:我们是如何一步步“手搓”出这个ERP的?
在开始今天的仓库模块之前,先带大家快速回顾一下整个项目的演进路径。
这是一套完全从零开始、模拟一家新工厂上线ERP系统的真实过程:
BOM模块(第1~5天)
→ 搭建产品结构树,定义父子件关系,支持多层展开
→ 解决“要生产什么,需要哪些物料”的问题
销售模块(第6~8天)
→ 录入客户订单,生成销售需求
→ 为后续计划提供源头数据
计划模块(第9~17天)
→ 展开BOM生成全阶需求
→ 区分自制件与采购件
→ PMC跑MRP,自动转请购单并备份原始需求
采购模块(第18~22天)
→ 请购转采购订单
→ 配置供应商、下发合同
→ 支持供应商协同确认交期、上传发票
→ 财务审核 → 出纳付款,形成完整闭环
仓库模块(今天!第23天)
→ 接收采购到货,生成入库单
→ 确保“有单才能入库”,规范操作流程
→ 为后续库存管理打下基础
如果你是第一次看这个系列,现在你应该明白了:
这不是一个静态的表格,而是一个正在“生长”的ERP系统。
🏗️ 模块升级:古哥ERP_V1.8 正式接入仓库管理系统
昨天我们完成了 采购全流程闭环 的设计,实现了:
合同生成
仓库确认收货
发票上传
财务审核
出纳付款
但还有一个关键环节未打通:
传统方式:
手工填写入库单
重复录入物料信息
容易出错,效率低下
缺乏与采购订单的联动
而今天我们通过 多维表格 + 主从表结构 + 自动化流程,实现“一键生成入库单”,真正解放仓库人员双手!
📂 数据结构设计:仓库模块三表联动模型
我们采用经典的 主表 + 配置表 + 明细表 架构,确保数据清晰、权限可控、流程严谨。
✅ 1. 入库单汇总表(主表)
📌 字段设置:
入库单号:编号类型 → 自定义拼接
固定字符:CK-
创建日期:202602
自增数字:3位(如001, 002...)
✅ 2. 入库配置表(中间控制表)
必须在入库单汇总表有入库单→单向关联
必须先在采购订单中创建了明细记录→双向关联
才能在本表中选择对应的采购项
从根本上杜绝“无单入库”
✅ 3. 入库明细表(最终执行表)
📌 字段设置:
不能使用公式字段(如求和、计算等),因为自动化无法写入
所有字段必须支持“直接赋值”
推荐使用“文本”、“数字”、“关联”等基础类型
🔁 流程设计:一键生成入库单的完整路径
🛠️ 自动化流程配置详解
我们现在来配置“点击按钮 → 自动生成入库单”的自动化流程。
Step 1:在「入库配置表」添加按钮字段
📌 操作:
添加字段:生成入库单
类型:按钮
设置触发器:“点击按钮时”
Step 2:配置自动化流程
第1步:触发器设置
触发条件:点击按钮时
所在数据表:入库配置表
所在字段:生成入库单
第2步:查找内容
📌 目标:找到所有与当前入库单相关联的采购订单明细。
数据表:采购订单明细表
查找范围:满足条件的记录
筛选条件:
关联:入库单 ≠ 空(即已被关联)
或者更精确地:关联:入库单 = 当前记录的入库单号
第3步:新增记录
📌 目标:将查到的每一行采购明细,自动写入「入库明细表」。
新增记录所在数据表:入库明细表
设置记录内容:
物料代码 ← 第2步 | A 物料代码
物料名称 ← 第2步 | A 物料名称
订单数量 ← 第2步 | 123 订单数量
单价 ← 第2步 | ¥ 单价
供应商名称 ← 第2步 | A 供应商名称
采购订单号 ← 第2步 | A 采购订单号
项次 ← 第2步 | A 项次
入库单号 ← 当前记录的入库单号(来自“入库配置表”)
🧪 测试验证:一键生成成功!
我们进行一次完整测试:
在「入库配置表」中新建一条记录:
入库日期:2026/02/12
入库单号:CK-202602001
关联采购订单明细表:选择多个采购项(如P-20260208006、P-20260208007)
点击「生成入库单」按钮
结果:
「入库明细表」中自动新增三条记录
所有字段均正确写入
提示:“生单成功”
🌐 实际应用价值分析
传统方式 | 我们的设计 |
手工录入入库单 | 一键生成,节省大量时间 |
容易漏填或错填 | 自动继承数据,减少人为错误 |
无法追溯来源 | 每条记录都关联采购订单,可查可溯 |
无业务约束 | 强制要求“有采购才能入库”,规范管理 |
数据驱动,流程闭环
主从表结构清晰,易于维护
自动化提升效率,降低出错率
支持未来扩展(如扫码入库、库存预警)
🔁 未来可拓展方向
虽然目前是手动触发,但我们已经为自动化打好了基础:
功能 | 实现方式 |
自动提醒 | 当采购订单状态变为“已到货” → 自动创建入库单 |
扫码入库 | 接入扫码设备,扫描物料二维码自动填充 |
库存更新 | 入库完成后自动增加库存数量 |
异常报警 | 如果入库数量 > 订单数量 → 触发警告 |
📌 总结:仓库模块的完整落地
今天我们完成了 仓库模块的核心设计:
建立三表结构:入库单汇总表 + 入库配置表 + 入库明细表
实现业务约束:必须有采购订单才能入库
配置自动化流程:点击按钮 → 查找采购明细 → 写入入库明细
测试验证成功:数据准确、流程顺畅
✅ 实现了从“采购订单”到“入库明细”的无缝衔接。