出库时的 stock.move.line 是如何确定的
用通俗但不失源码细节的方式,讲清楚 Odoo 出库时 stock.move.line 的生成逻辑:从 stock.move、stock.quant、移除策略到 lot/serial 拆行。
CATEGORY FOCUS
聚合 Odoo 开发基础、源码理解、ORM、模型、视图、安全与扩展实践。
TOPIC PICKS
用通俗但不失源码细节的方式,讲清楚 Odoo 出库时 stock.move.line 的生成逻辑:从 stock.move、stock.quant、移除策略到 lot/serial 拆行。
很多人以为 Odoo 的 Inventory at Date 是把当前库存数字往回算一遍。源码里更准确的逻辑是:给库存计算注入一个 to_date 历史上下文,让 qty_available 等字段以“截止某时点”的视角重算。本文把这个历史视角讲透。
很多人把 Odoo 的预留方法当成一个不起眼的操作类型配置,但它实际决定了系统何时尝试锁货、何时只是等待、何时要靠计划日期倒推 reservation_date。本文把这层“时机语义”讲透。
很多人以为 putaway 只是“给产品配一个默认目的库位”。但 Odoo 真正在算的是:产品是谁、包裹类型是什么、子库位当前已经塞了多少、这次是散货还是整包。本文把上架策略的真实决策链讲透。
很多人以为 Odoo Attendance 只是在记录 check in 和 check out。源码显示,它还在防重叠、防忘签退、补技术性缺勤,并把这些结果送进加班逻辑。真正管理的是“出勤事实的可计算性”。
很多用户以为批准请假只是把状态改成已批准。实际上,Odoo 还会重算这一段时间里的 work entries:哪些保留,哪些归档,哪些变成请假工时,取消后又怎样恢复。
收货价和账单价不一样时,Odoo 不是只改一个单价字段。本文把标准成本、价差科目、Anglo-Saxon 分录和库存价值边界讲清楚。