summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAzka Nathan <darizkyfaz@gmail.com>2025-04-21 16:10:11 +0700
committerAzka Nathan <darizkyfaz@gmail.com>2025-04-21 16:10:11 +0700
commit758ce73a0f2bf8cf347d8e655954677d76349027 (patch)
treebe9624e291564df459d309082d847fbebe1896f5
parentfc09c6c81351de405490301d0997e5ed87be5408 (diff)
push
-rw-r--r--indoteknik_custom/models/stock_picking.py25
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: