summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIndoteknik . <it@fixcomart.co.id>2025-06-18 15:24:23 +0700
committerIndoteknik . <it@fixcomart.co.id>2025-06-18 15:24:23 +0700
commit4fc9dd9424b4b5665872a0386389278efada75f9 (patch)
treeeb13e4dc5e93baa6125dd3f8c87905fa686163d3
parentdf8995b1bca8cc55622621e73d46069507f09540 (diff)
(andri) fix date
-rw-r--r--indoteknik_custom/models/account_move.py40
1 files changed, 38 insertions, 2 deletions
diff --git a/indoteknik_custom/models/account_move.py b/indoteknik_custom/models/account_move.py
index 54eaabcf..66020a69 100644
--- a/indoteknik_custom/models/account_move.py
+++ b/indoteknik_custom/models/account_move.py
@@ -87,6 +87,17 @@ class AccountMove(models.Model):
# result.append((move.id, move.display_name))
# return result
+ @api.onchange('invoice_date')
+ def _onchange_invoice_date(self):
+ if self.invoice_date:
+ self.date = self.invoice_date
+
+ @api.onchange('date')
+ def _onchange_date(self):
+ if self.date:
+ self.invoice_date = self.date
+
+
def compute_length_of_payment(self):
for rec in self:
payment_term = rec.invoice_payment_term_id.line_ids[0].days
@@ -145,13 +156,38 @@ class AccountMove(models.Model):
}
template.send_mail(record.id, email_values=email_values, force_send=True)
+ # @api.model
+ # def create(self, vals):
+ # vals['nomor_kwitansi'] = self.env['ir.sequence'].next_by_code('nomor.kwitansi') or '0'
+ # result = super(AccountMove, self).create(vals)
+ # # result._update_line_name_from_ref()
+ # return result
+
@api.model
def create(self, vals):
- vals['nomor_kwitansi'] = self.env['ir.sequence'].next_by_code('nomor.kwitansi') or '0'
+ vals['nomor_kwitansi'] = self.env['ir.sequence'].next_by_code('nomor.kwitansi') or '0'
result = super(AccountMove, self).create(vals)
- # result._update_line_name_from_ref()
+
+ # Tambahan: jika ini Vendor Bill dan tanggal belum diisi
+ if result.move_type == 'in_invoice' and not vals.get('invoice_date') and not vals.get('date'):
+ po = result.purchase_order_id
+ if po:
+ # Cari receipt dari PO
+ picking = self.env['stock.picking'].search([
+ ('purchase_id', '=', po.id),
+ ('picking_type_code', '=', 'incoming'),
+ ('state', '=', 'done'),
+ ('date_done', '!=', False),
+ ], order='date_done desc', limit=1)
+
+ if picking:
+ receipt_date = picking.date_done
+ result.invoice_date = receipt_date
+ result.date = receipt_date
+
return result
+
def compute_so_shipping_paid_by(self):
for record in self:
record.so_shipping_paid_by = record.sale_id.shipping_paid_by