ODOO 13.0
1.訂單路由發起 ( addons/sale-stock/sale_order.py ) [ sale.line --> _action_launch_stock_rule() ]
2.路由選擇( addons/stock/stock_rule.py ) [ procurement.group --> run() ]
------> { 378: rule = self._get_rule(procurement.product_id, procurement.location_id, procurement.values) 選擇執行路徑 ._run_pull() ._run_buy() ._run_manufacture() }
3.選擇執行(1)庫移 (2)採購 (3) 製造
(1)庫移( addons/stock/stock_rule.py ) [ stock.rule --> _run_pull() ]
---->[stock.move -->_action_confirm() ]{ 1033: self.env['procurement.group'].run(procurement_requests) 閉環
根據rule.procure_method = ‘make_to_stock' | 'mark_to_order' 來確定是完成庫位移動(make_to_stock),還是繼續 下 一個規則(make_to_order) 選擇。
}
(2) 採購 ( addons/purchase_stock/stock_ruls.py )[ stock.rule --> _run_buy() ]
(3) 製造 ( addons/mrp/stock_rule.py )[ stock.rule --> _run_manufacture() ]