diff options
| author | Azka Nathan <darizkyfaz@gmail.com> | 2025-11-19 15:46:35 +0700 |
|---|---|---|
| committer | Azka Nathan <darizkyfaz@gmail.com> | 2025-11-19 15:46:35 +0700 |
| commit | 19c89403f7ba9ba4ef47dfa1f8a7edc879aaeee6 (patch) | |
| tree | 5b6fd25801656223efc8be7942a91b911b2ace0f | |
| parent | 58623e9509789381dbe334969de647b4ad0302a4 (diff) | |
fix bug
| -rw-r--r-- | indoteknik_custom/models/partial_delivery.py | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/indoteknik_custom/models/partial_delivery.py b/indoteknik_custom/models/partial_delivery.py index 519f505c..4e8ddbda 100644 --- a/indoteknik_custom/models/partial_delivery.py +++ b/indoteknik_custom/models/partial_delivery.py @@ -213,14 +213,22 @@ class PartialDeliveryWizard(models.TransientModel): new_picking.action_assign() picking.action_assign() - existing_partials = self.env['stock.picking'].search([ - ('origin', '=', picking.origin), - ('state_reserve', '=', 'partial'), + origin_name = picking.name + + existing_siblings = self.env['stock.picking'].search([ + ('name', 'like', f"{origin_name}/%"), ('id', '!=', new_picking.id), - ], order='name asc') + ]) + + suffixes = [] + for p in existing_siblings: + match = re.search(r'/(\d+)$', p.name) + if match: + suffixes.append(int(match.group(1))) + + next_suffix = max(suffixes) + 1 if suffixes else 1 - suffix_number = len(existing_partials) + 1 - new_picking.name = f"{picking.name}/{suffix_number}" + new_picking.name = f"{origin_name}/{next_suffix}" if picking.origin: sale_order = self.env['sale.order'].search([('name', '=', picking.origin)], limit=1) |
