diff --git a/quality_control_stock/models/stock_picking.py b/quality_control_stock/models/stock_picking.py index 1583d9bd6..a62923bf7 100644 --- a/quality_control_stock/models/stock_picking.py +++ b/quality_control_stock/models/stock_picking.py @@ -37,18 +37,19 @@ class StockPicking(models.Model): def do_transfer(self): res = super(StockPicking, self).do_transfer() inspection_model = self.env['qc.inspection'] - for operation in self.pack_operation_ids: - qc_trigger = self.env['qc.trigger'].search( - [('picking_type', '=', self.picking_type_id.id)]) - trigger_lines = set() - for model in ['qc.trigger.product_category_line', - 'qc.trigger.product_template_line', - 'qc.trigger.product_line']: - partner = (self.partner_id - if qc_trigger.partner_selectable else False) - trigger_lines = trigger_lines.union( - self.env[model].get_trigger_line_for_product( - qc_trigger, operation.product_id, partner=partner)) - for trigger_line in _filter_trigger_lines(trigger_lines): - inspection_model._make_inspection(operation, trigger_line) + for picking in self: + for operation in picking.pack_operation_ids: + qc_trigger = self.env['qc.trigger'].search( + [('picking_type', '=', picking.picking_type_id.id)]) + trigger_lines = set() + for model in ['qc.trigger.product_category_line', + 'qc.trigger.product_template_line', + 'qc.trigger.product_line']: + partner = (picking.partner_id + if qc_trigger.partner_selectable else False) + trigger_lines = trigger_lines.union( + self.env[model].get_trigger_line_for_product( + qc_trigger, operation.product_id, partner=partner)) + for trigger_line in _filter_trigger_lines(trigger_lines): + inspection_model._make_inspection(operation, trigger_line) return res