diff options
| author | Miqdad <ahmadmiqdad27@gmail.com> | 2025-07-22 13:00:41 +0700 |
|---|---|---|
| committer | Miqdad <ahmadmiqdad27@gmail.com> | 2025-07-22 13:00:41 +0700 |
| commit | 69f0fbf98183ea00bb069df3ecd40e91df7081c3 (patch) | |
| tree | d092d242d080c2f5a87ec47d0842f24780cce7b0 | |
| parent | 92187628f1971ba1f4ee3283cae94090ac4c1e8a (diff) | |
<miqdad> fix error when 2 item return
| -rw-r--r-- | indoteknik_custom/models/tukar_guling.py | 48 |
1 files changed, 24 insertions, 24 deletions
diff --git a/indoteknik_custom/models/tukar_guling.py b/indoteknik_custom/models/tukar_guling.py index a08d29bd..e546ad9c 100644 --- a/indoteknik_custom/models/tukar_guling.py +++ b/indoteknik_custom/models/tukar_guling.py @@ -99,16 +99,16 @@ class TukarGuling(models.Model): tg_product_ids = self.line_ids.mapped('product_id.id') for koli_line in self.operations.konfirm_koli_lines: - pick_move = koli_line.pick_id.move_line_ids_without_package - if pick_move.product_id.id in tg_product_ids: - mapping_koli_data.append((0, 0, { - 'sequence': sequence, - 'pick_id': koli_line.pick_id.id, - 'product_id': pick_move.product_id.id, - 'qty_done': pick_move.qty_done, - 'qty_return': 0 - })) - sequence += 10 + for move in koli_line.pick_id.move_line_ids_without_package: + if move.product_id.id in tg_product_ids: + mapping_koli_data.append((0, 0, { + 'sequence': sequence, + 'pick_id': koli_line.pick_id.id, + 'product_id': move.product_id.id, + 'qty_done': move.qty_done, + 'qty_return': 0 + })) + sequence += 10 self.mapping_koli_ids = mapping_koli_data _logger.info(f"✅ Created {len(mapping_koli_data)} mapping koli lines (from return wizard)") @@ -128,7 +128,6 @@ class TukarGuling(models.Model): # Untuk Odoo 14, gunakan move_ids_without_package atau move_lines moves_to_check = [] - if hasattr(self.operations, 'move_ids_without_package') and self.operations.move_ids_without_package: moves_to_check = self.operations.move_ids_without_package elif hasattr(self.operations, 'move_lines') and self.operations.move_lines: @@ -160,7 +159,7 @@ class TukarGuling(models.Model): if lines_data: self.line_ids = lines_data - _logger.info(f"Created {len(lines_data)} product lines") + _logger.info(f"✅ Created {len(lines_data)} product lines") # Prepare mapping koli jika BU/OUT mapping_koli_data = [] @@ -169,23 +168,23 @@ class TukarGuling(models.Model): if self.operations.picking_type_id.id == 29: tg_product_ids = [p for p in product_data] for koli_line in self.operations.konfirm_koli_lines: - pick_move = koli_line.pick_id.move_line_ids_without_package - if pick_move.product_id.id in tg_product_ids: - mapping_koli_data.append((0, 0, { - 'sequence': sequence, - 'pick_id': koli_line.pick_id.id, - 'product_id': pick_move.product_id.id, - 'qty_done': pick_move.qty_done - })) - sequence += 10 + for move in koli_line.pick_id.move_line_ids_without_package: + if move.product_id.id in tg_product_ids: + mapping_koli_data.append((0, 0, { + 'sequence': sequence, + 'pick_id': koli_line.pick_id.id, + 'product_id': move.product_id.id, + 'qty_done': move.qty_done + })) + sequence += 10 if mapping_koli_data: self.mapping_koli_ids = mapping_koli_data - _logger.info(f"Created {len(mapping_koli_data)} mapping koli lines") + _logger.info(f"✅ Created {len(mapping_koli_data)} mapping koli lines") else: - _logger.info("No mapping koli lines created") + _logger.info("⚠️ No mapping koli lines created") else: - _logger.info("No product lines created - no valid moves found") + _logger.info("⚠️ No product lines created - no valid moves found") else: from_return_picking = self.env.context.get('from_return_picking', False) or \ self.env.context.get('default_line_ids', False) @@ -196,6 +195,7 @@ class TukarGuling(models.Model): self.origin = False + def action_populate_lines(self): """Manual button untuk populate lines - sebagai alternatif""" self.ensure_one() |
