from odoo import models, api class StockRule(models.Model): _inherit = 'stock.rule' def _run_buy(self, procurements): res = super(StockRule, self)._run_buy(procurements) # 判断是否根据规则生成新的采购申请单据,如果生成则修改状态为 approved origins = list(set([procurement[0].origin for procurement in procurements])) for origin in origins: pr_ids = self.env["purchase.request"].sudo().search( [('origin', 'like', origin), ('rule_new_add', '=', True), ('state', '=', 'draft')]) if pr_ids: pr_ids.write({'need_validation': False}) pr_ids.write({"state": "approved", 'need_validation': True, 'rule_new_add': False}) return res