销售单确认后,Odoo 是怎样一路生成发货与补货动作的
从 sale.order._action_confirm 到 sale.order.line._action_launch_stock_rule,再到 stock.rule.run、_run_pull、_run_buy,讲清楚销售如何触发库存、采购与补货链。
TOPIC PICKS
从 sale.order._action_confirm 到 sale.order.line._action_launch_stock_rule,再到 stock.rule.run、_run_pull、_run_buy,讲清楚销售如何触发库存、采购与补货链。
可以顺着继续读的相邻方向
很多团队把报价模板当成“把历史报价复制一份”。但在官方源码里,模板真正继承到销售单的内容,和不会继承、只在模板层生效的内容,边界非常清楚。本文重点讲透条款、可选产品、公司默认模板与电商订单之间的继承边界。
很多人把取消销售单理解成“状态改回去就行”,但 Odoo 标准逻辑里,锁单、草稿发票、未完成出库、已触发的库存规则都会一起参与。本文把 unlock、action_cancel 与下游回撤边界讲透。
很多人看到销售单价格不对,第一反应是价目表错了;但标准 Odoo 里,真正影响结果的往往是整条顺序:先命中 pricelist rule,后生成 price_unit / discount,再映射 tax,最后按 fiscal position 与税显示口径落总价。本文把这条计算顺序讲透。
很多人知道 Odoo 有按订购数量和按已交付数量两种开票策略,却没意识到真正决定结果的往往是 qty_delivered 怎么算。手工交付、库存 move、分析行、服务工时,各自都会改变 qty_to_invoice 和 invoice_status 的来源。本文把这层边界讲透。
很多人把报价单理解成一张等待客户确认的 PDF,但在 Odoo 里,它其实是一台状态机:草稿、已发送、已确认、已取消、是否锁定、是否还在有效期内,都会改变后续签署、付款、取消与改单边界。本文把这套状态转换讲透。
很多 Odoo 开发会用序列,但不真正理解 ir.sequence 在解决什么问题。本文把单号生成、编号规则和业务对象之间的关系讲清楚。