from odoo import api, models class StockPicking(models.Model): _inherit = 'stock.picking' def button_validate(self): # """ # 调拨单若关联了质量检查单,验证调拨单时,应校验是否有不合格品,若存在,应弹窗提示: # “警告:存在不合格产品XXXX n 件、YYYYY m件,继续调拨请点“确认”,否则请取消?” # """ # if self.quality_check_ids.filtered(lambda qc: qc.quality_state == 'fail'): # return { # 'type': 'ir.actions.act_window', # 'res_model': 'sf.functional.tool.assembly.order', # 'name': ' ', # 'view_mode': 'form', # 'target': 'new', # 'context': {'': True} # } out_quality_check = self.env['quality.check'].search([('picking_id', '=', self.id), ('test_type_id.name', '=', '出厂检验报告')]) if not out_quality_check.is_factory_report_uploaded: if out_quality_check and self.state == 'assigned': out_quality_check.upload_factory_report() return super(StockPicking, self).button_validate()