出库时的 stock.move.line 是如何确定的
用通俗但不失源码细节的方式,讲清楚 Odoo 出库时 stock.move.line 的生成逻辑:从 stock.move、stock.quant、移除策略到 lot/serial 拆行。
TOPIC PICKS
用通俗但不失源码细节的方式,讲清楚 Odoo 出库时 stock.move.line 的生成逻辑:从 stock.move、stock.quant、移除策略到 lot/serial 拆行。
可以顺着继续读的相邻方向
很多人知道 Odoo 可以把货报废到 scrap location,却没想清它为什么属于 virtual location,以及这层设计为什么会影响库存可用量、追溯和估值理解。本文把 scrap location 的真实语义讲透。
许多团队排查库存单状态异常时,只盯着“有没有货”或“有没有点 Check Availability”。其实更稳的顺序,是先看计划日期,再看 reservation method,再看 move state 与 quant。本文把这条排错顺序讲透。
许多人知道 Odoo 库存校验时会弹出 backorder 向导,却没真正搞清“创建补单”和“取消剩余量”分别在表达什么业务事实。本文把部分校验后的两个分支讲透。
许多团队把 package type、产品重量、包裹重量和 delivery carrier 的运费逻辑混成一层,结果不是仓库打包异常,就是运费报价和现场实际脱节。本文把这几层边界一次讲清。
很多人第一次在 Odoo 里给 move line 补 lot,会看到一个很反直觉的现象:系统像是把原本未追踪的库存,悄悄挪成了某个 lot 的库存。本文从 stock.move.line._synchronize_quant 出发,解释这种“补偿”何时发生、为什么不是 bug,以及它的业务边界。
很多人学了 route 和 rule,还是会在 push rule 上反复迷路:为什么有的下一步 move 是事后冒出来的,有的只是改目标库位,有的又会把下游链路接过去。本文从 _push_apply 出发,把 push rule 的真实触发时机和调试顺序讲透。