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() ]