库存余额与追溯¶
适用基线:测试环境 /
dev分支 / 2026-07-15。 阅读对象:测试、实施、运维(主)。 具体查询操作见库存管理-维护与查询参考。
这项查询解决什么问题¶
库存余额展示当前可查询到的库存结果。查询时必须把物料、地点、库存状态、批次、托盘和包装作为一个整体理解,不能把同一物料的不同追溯单元简单相加后直接用于发料或盘点判断。读完本页,应能按完整业务键定位「现在有多少、在哪里、能否用」,并在异常时反查最近事务与业务记录。
与另外两层的边界:
| 本页(余额) | 不是本页 |
|---|---|
| 当前结果:过账后的结存 | 库存预期:尚未完成的入/出预期(预期仍在 ≠ 已在余额) |
| 回答「现在还有多少、在哪、什么状态」 | 库存事务:回答「这一次为什么变了」 |
| 差异应走盘点/退货/库内等源业务 | 不作日常改账入口(GAP-012) |
三类对象总览与粒度示意见库存管理;通例见库存管理精度与唯一粒度。
如何从余额追溯原因¶
flowchart RL
A["当前库存余额"] --> B["最近库存事务"]
B --> C["业务记录"]
C --> D["任务与来源单据"]
当余额异常时,先确认查询维度是否带齐,再追溯最近事务和业务记录;不要直接修改余额来掩盖来源业务、状态或地点错误。
写实示例:给定业务 → 期望行为
给定: 物料 A 在库位 L1(可用、批次 B1、包装 P1)余额 98;同物料在库位 L2(待检、批次 B2)另有 10;发料单要求「可用」状态。 期望:
- 列表至少拆成两条余额,不能用「物料 A 合计 108」直接当作可发量。
- 发料选择器应优先落到 L1/可用那一行;L2/待检通常不可当可用(硬拦截范围 ❓)。
- 若 L1 数量与预期不符:按完整业务键打开详情 → 看最近库存事务 → 再跳业务记录;反查时人工核对托盘/状态/库位是否带齐(
GAP-022)。
📝 示例数据占位
同一物料因库位、批次、包装和库存状态不同形成多条余额,并从其中一条反查收货/上架记录。
建议验证点¶
- 同一物料多库位/多状态拆行;漏维查询会误判可用量(
GAP-005)。 - 余额详情反查事务:人工带齐业务键,核对过滤是否漏托盘/状态/库位(
GAP-022)。 - 「有数不能用」:先看库存状态与冻结,再看下游业务选择条件,再查最近事务。
- 差异修正走盘点/退货/调拨等源业务,不在余额页直接改数(
GAP-012)。
查询时看什么¶
| 要点 | 说明 |
|---|---|
| 业务键 | 批次、托盘、包装、物料、库存状态、库位共同决定「是不是同一笔库存」 |
| 查询顺序 | 物料+库位+状态 → 批次/托盘/包装 → 数量 → 最近事务 |
| 动作边界 | 余额页不作日常改账入口(GAP-012);差异走盘点/退货/库内等源业务 |
| 反查风险 | 详情反查事务时过滤可能未带齐托盘/状态/库位等(GAP-022);须人工核对 |
| 唯一约束 | 业务键已确认,DDL 等价唯一约束仍待核验(GAP-005) |
完整字段语义见维护与查询参考。
查询与维护说明¶
| 目的 | 首要条件 | 详情应分组 | 快速跳转 |
|---|---|---|---|
| 查现有库存 | 物料、库位、库存状态 | 识别与数量、地点与状态、批次与包装、来源与最近变化 | 库位、库存事务、业务记录 |
| 查可用范围 | 库存状态、冻结信息、地点 | 可用/限制信息、质量或冻结线索 | 质量、冻结或异常处理(待补) |
| 查差异原因 | 批次、托盘、包装和最近事务 | 追溯维度、数量变化、来源与时间 | 事务、收货/退货/上架记录 |
当前余额业务粒度与查询匹配仍存在唯一性差距(GAP-005);从余额详情反查事务时,过滤条件可能未带齐托盘、库存状态、库位等维度(GAP-022)。在解决前,查询和业务判断必须完整带入追溯维度,并对详情中的事务列表做人工核对。
📷 截图占位
余额列表按业务键展示多行、详情反查最近事务与业务记录的入口;状态:待截图。