diff options
| author | Miqdad <ahmadmiqdad27@gmail.com> | 2025-06-26 16:59:47 +0700 |
|---|---|---|
| committer | Miqdad <ahmadmiqdad27@gmail.com> | 2025-06-26 16:59:47 +0700 |
| commit | bc99ea265c50e22d0a6cd74e1e5a4d5f27988701 (patch) | |
| tree | 3313af0357cd35dddd51770dce3248f94d9eb634 | |
| parent | 69eed6936f7749809ee57bc4fa4f408fc93da6d3 (diff) | |
<miqdad> create ort only when retur from bu pick
| -rw-r--r-- | indoteknik_custom/models/tukar_guling.py | 40 |
1 files changed, 20 insertions, 20 deletions
diff --git a/indoteknik_custom/models/tukar_guling.py b/indoteknik_custom/models/tukar_guling.py index c1bd82bb..601603d7 100644 --- a/indoteknik_custom/models/tukar_guling.py +++ b/indoteknik_custom/models/tukar_guling.py @@ -24,8 +24,8 @@ class TukarGuling(models.Model): name = fields.Char('Number', required=True, copy=False, readonly=True, default='New') date = fields.Datetime('Date', default=fields.Datetime.now, required=True) operations = fields.Many2one('stock.picking', 'Operations', - domain=[('picking_type_id.sequence_code', 'in', 'OUT'), - ('state', '=', 'done')], help='Nomor BU/Out atau BU/Pick') + domain=[('picking_type_id.sequence_code', 'in', ['OUT', 'PICK']), + ('state', '=', 'done'), ('linked_manual_bu_out', '!=', 'done')], help='Nomor BU/Out atau BU/Pick') ba_num = fields.Text('Nomor BA') notes = fields.Text('Notes') return_type = fields.Selection(String='Return Type', selection=[ @@ -287,8 +287,6 @@ class TukarGuling(models.Model): if not record.operations: raise UserError("BU/OUT dari field operations tidak ditemukan.") - operation_picking = record.operations - related_pickings = self.env['stock.picking'].search([ ('origin', '=', record.origin), ('state', '=', 'done'), @@ -414,24 +412,26 @@ class TukarGuling(models.Model): return return_picking # Buat return dari BU/OUT - for picking in bu_out_to_return: - name = _create_return_from_picking(picking) - if name: - created_returns.append(name) + if record.operations.picking_type_id == 30: + for picking in [bu_pick_to_return]: + name = _create_return_from_picking(picking) + if name: + created_returns.append(name) # Buat return dari BU/PICK - for picking in bu_pick_to_return: - name = _create_return_from_picking(picking) - if name: - created_returns.append(name) - - # Buat return dari SRT dan ort - if record.return_type == 'tukar_guling': - target = [woi for woi in created_returns if woi.picking_type_id.id in (74, 73)] - for picking in target: - retur = _create_return_from_picking(picking) - if retur: - created_returns.append(retur) + else: + for picking in [bu_out_to_return]: + name = _create_return_from_picking(picking) + if name: + created_returns.append(name) + + # Buat return dari SRT dan ort + if record.return_type == 'tukar_guling' and record.operations.picking_type_id.id != 30: + target = [woi for woi in created_returns if woi.picking_type_id.id in (74, 73)] + for picking in target: + retur = _create_return_from_picking(picking) + if retur: + created_returns.append(retur) if not created_returns: |
