diff options
| author | Azka Nathan <darizkyfaz@gmail.com> | 2025-04-21 16:10:11 +0700 |
|---|---|---|
| committer | Azka Nathan <darizkyfaz@gmail.com> | 2025-04-21 16:10:11 +0700 |
| commit | 758ce73a0f2bf8cf347d8e655954677d76349027 (patch) | |
| tree | be9624e291564df459d309082d847fbebe1896f5 | |
| parent | fc09c6c81351de405490301d0997e5ed87be5408 (diff) | |
push
| -rw-r--r-- | indoteknik_custom/models/stock_picking.py | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/indoteknik_custom/models/stock_picking.py b/indoteknik_custom/models/stock_picking.py index 495a9d11..977b79c0 100644 --- a/indoteknik_custom/models/stock_picking.py +++ b/indoteknik_custom/models/stock_picking.py @@ -1180,11 +1180,26 @@ class StockPicking(models.Model): def check_invoice_date(self): for picking in self: if picking.picking_type_code != 'outgoing' or 'BU/OUT/' not in picking.name: - invoice = self.env['account.move'].search([('sale_id', '=', picking.sale_id.id)]) - - if invoice: - if picking.date_doc_kirim.date() != invoice.invoice_date: - raise UserError("Tanggal Kirim tidak sesuai dengan Invoice") + continue # Skip non-relevant pickings + + invoice = self.env['account.move'].search([('sale_id', '=', picking.sale_id.id)], limit=1) + + if not invoice: + continue # Skip if no invoice found + + # Check if both dates exist + if not picking.date_doc_kirim or not invoice.invoice_date: + raise UserError("Tanggal Kirim atau Tanggal Invoice belum diisi!") + + # Convert to date objects for comparison + picking_date = fields.Date.to_date(picking.date_doc_kirim) + invoice_date = fields.Date.to_date(invoice.invoice_date) + + if picking_date != invoice_date: + raise UserError("Tanggal Kirim (%s) tidak sesuai dengan Tanggal Invoice (%s)!" % ( + picking_date.strftime('%d-%m-%Y'), + invoice_date.strftime('%d-%m-%Y') + )) def set_picking_code_out(self): for picking in self: |
