出库时的 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 拆行。
很多开发只知道字段加 tracking=True 会在 Chatter 里显示改动,却没看清中间其实还有字段筛选、旧值对比、tracking value 生成和消息落库几层机制。本文从官方源码把这条链讲透。
很多人知道 create 能收 list,却没真正理解 @api.model_create_multi 在 Odoo 里解决的是“批量入口一致性”和“批处理副作用”问题。本文从官方源码和常见重写误区讲透。
很多人以为访问 record.name 只是“拿个字段值”,但 Odoo 真正走的是缓存命中、CacheMiss、预取扩张、批量取数再回填缓存的一整条链。本文结合官方源码,讲清字段读取为什么会带出一串 SQL,以及这条链路该怎么调试。
很多人查库存只盯 location 和 on hand,但 Odoo 在保留和可用量里还会看 owner、package、lot 等维度。本文把这套边界讲透。
很多人把 Odoo 预付款理解成先开一张金额发票,但在销售链里它其实有独立行语义、专门向导和最终扣减逻辑。本文把它讲透。
很多人把 Odoo 付款条款理解成一个到期日设置,但在官方模型里,它还会牵涉分期拆分、现金折扣和税务口径。本文把它讲透。