出库时的 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 拆行。
可以顺着继续读的相邻方向
很多库存和补货问题里都会看到 procurement.group,但不少人并不真正理解它在链路里扮演什么角色。本文把它讲成人话。
从 stock.move._action_assign() 和 stock.quant._gather() 看 Odoo 如何把可用库存变成 reservation,以及为什么 assigned 不等于 done。
从 purchase_stock 的 qty_received 计算、stock return picking 和账务回滚,解释退货为什么会同时影响收货数量、待开票数量和成本。
很多人知道销售单确认后会触发库存,但容易把这件事理解成“sale 直接生成 picking”。结合 sale_stock 与 stock 源码看,真实主线更像是:订单行先组织 procurement values,再交给 stock.rule.run 分流,最后由 move/picking 链路继续推进。
看懂 purchase.order.button_confirm、purchase_stock._create_picking 和 _run_buy,理解采购如何驱动收货与补货。
从 sale.order._action_confirm 到 sale.order.line._action_launch_stock_rule,再到 stock.rule.run,讲清楚销售需求如何分流成发货、采购或制造。