第24天:用多维表格“手搓”一个简易ERP(仓库模块进阶篇)
优秀创作者
🚀 第24天:用多维表格“手搓”一个简易ERP(仓库模块进阶篇)
👣 延续上一篇“一键生成入库单”,今天我们继续深化 仓库管理模块
🔧 今天目标:实现“收货数量校验 + 入库状态自动判断 + 异常预警”
🎯 关键点:实收数量录入、统计字段联动、视图筛选、公式提醒
🌐 实现“采购订单→实际收货→异常监控”的全流程闭环
🔁 回顾:我们是如何一步步“手搓”出这个ERP的?
在开始今天的进阶设计之前,先带大家快速回顾整个项目的演进路径:
BOM模块 → 销售模块 → 计划模块 → 采购模块 → 仓库模块
→ 模拟一家新工厂无ERP的情况,一步一步构建企业核心业务流
昨天(第23天)完成了:
建立三表结构:入库单汇总表 + 入库配置表 + 入库明细表
实现“点击按钮 → 自动生成入库明细”的自动化流程
完成“有采购才能入库”的业务约束
今天(第24天)的目标是:
加入实收数量字段,支持仓管员手动确认到货量
通过统计字段反向反馈采购订单的收货进度
设计一键清除配置信息功能,提升操作灵活性
创建视图筛选机制,避免重复配置
添加公式字段自动判断入库状态并触发异常提醒
系统
🛠️ 功能一:新增“实收数量”字段,支持真实收货记录
✅ 在「入库明细表」中添加新字段
📌 字段名称:实收数量
📌 类型:数字(允许小数)
📌 说明:由仓管员手工填写实际收到的数量
不强制要求等于订单数量
支持部分收货、分批到货等场景
后续将用于计算“未入库数量”
🔄 功能二:在采购订单明细表中增加统计字段,实时查看收货情况
✅ 新建字段:入库数量
📌 字段类型:统计
📌 配置如下:
数据来源:入库明细表
统计字段:实收数量
统计方式:求和
统计条件:
采购订单号 = 当前行的采购订单号
项次 = 当前行的项次
每条采购订单明细会自动显示已入库总量
可直观对比“订单数量 vs 已入库数量”
为后续“未入库”计算提供基础
🧼 功能三:一键清除入库配置信息,方便重新配置
✅ 在「入库配置表」中添加按钮字段
📌 字段名称:清除入库配置信息
📌 类型:按钮
📌 触发器:“点击按钮时”
🔧 自动化流程配置:
第1步:触发器设置
触发条件:点击按钮时
所在数据表:入库配置表
所在字段:清除入库配置信息
第2步:查找内容
查找范围:当前记录关联的采购订单明细表记录
条件:关联:入库单 = 当前记录的入库单号
第3步:删除记录
删除上述查找到的所有记录
一键清空当前入库单对应的全部采购关联
方便重新选择或修改配置
避免误操作导致数据混乱
🔍 功能四:优化入库单号选择逻辑 —— 分配与未分配视图
✅ 在「入库单汇总表」中创建两个视图
未分配入库
筛选条件:入库单号 未被任何入库配置表引用
目的:确保在“入库配置表”中只能选择尚未使用的入库单号
已分配入库
筛选条件:入库单号 被至少一条入库配置表引用
目的:便于查看哪些单据已被使用
✅ 设置“入库配置表”中的单向关联字段限制
字段:入库单号
关联方式:单向关联
可关联记录范围:指定视图 → 未分配入库
用户无法选择已被使用的入库单号
避免重复生成同一单号的入库单
提升数据一致性与流程规范性
🔁 功能五:只关联“未完成”的采购订单 —— 控制收货范围
✅ 在「入库配置表」中配置双向关联字段
字段:关联采购订单明细表
类型:双向关联
来源:采购订单明细表
可关联记录范围:指定视图 → 入库未完成采购订单
✅ 创建视图:入库未完成采购订单
所在数据表:采购订单明细表
筛选条件:
未入库 > 0
或者:入库数量 < 订单数量
只能选择还未完全入库的采购项
防止重复入库或超额入库
实现“按需收货”的精细化管理
📊 功能六:自动判断入库状态并提示异常
✅ 在「入库明细表」中新建公式字段
📌 字段名称:是否完成
📌 类型:公式:IFS([@未入库数量]=0,"已完成",[@未入库数量]>0,"未完成",[@未入库数量]<0,"入库异常")
🎯 总结:今天完成了仓库日常管理中的关键功能
功能 | 实现方式 | 价值 |
✅ 实收数量录入 | 数字字段 | 支持真实收货记录 |
✅ 入库数量统计 | 统计字段 | 实时反馈采购收货进度 |
✅ 一键清除配置 | 按钮+自动化 | 提升操作灵活性 |
✅ 视图控制 | 未分配/已分配视图 | 避免重复使用单号 |
✅ 仅关联未完成订单 | 指定视图筛选 | 防止超额入库 |
✅ 入库状态自动判断 | 公式字段 | 实现异常预警 |
🌐 实际应用价值分析
传统方式 | 我们的设计 |
手工登记收货数量 | 自动记录 + 统计汇总 |
无法追踪收货进度 | 实时显示“已入库”与“未入库” |
出错后难以追溯 | 公式自动判断异常,及时提醒 |
无法防止重复配置 | 视图控制 + 单向关联限制 |
缺乏系统联动 | 多表联动,数据闭环 |
数据驱动决策
流程闭环可控
异常自动预警
操作简单高效