diff options
| author | Azka Nathan <darizkyfaz@gmail.com> | 2025-04-22 10:10:58 +0700 |
|---|---|---|
| committer | Azka Nathan <darizkyfaz@gmail.com> | 2025-04-22 10:10:58 +0700 |
| commit | 19e32a22d394e0597278ee7e1c1373d7cb799ff5 (patch) | |
| tree | 040e6631b3b808538952c15524b062e0f55e4253 | |
| parent | b1f520b1b3b100deea99980b5781744411fe6936 (diff) | |
push
| -rw-r--r-- | indoteknik_custom/models/stock_picking.py | 57 |
1 files changed, 29 insertions, 28 deletions
diff --git a/indoteknik_custom/models/stock_picking.py b/indoteknik_custom/models/stock_picking.py index a860dd5d..95e0d59f 100644 --- a/indoteknik_custom/models/stock_picking.py +++ b/indoteknik_custom/models/stock_picking.py @@ -270,35 +270,36 @@ class StockPicking(models.Model): for rec in self: rec.calculate_line_no() - invoice = self.env['account.move'].search([('sale_id', '=', rec.sale_id.id), ('move_type', '=', 'out_invoice'), ('state', '=', 'posted')], limit=1, order='create_date desc') - - if invoice and not self.env.context.get('active_model') == 'stock.picking': - rec._check_date_doc_kirim_modification() - if rec.date_doc_kirim != invoice.invoice_date: - get_approval_invoice_date = self.env['approval.invoice.date'].search([('picking_id', '=', rec.id),('state', '=', 'draft')], limit=1) - - if get_approval_invoice_date and get_approval_invoice_date.state == 'draft': - get_approval_invoice_date.date_doc_do = rec.date_doc_kirim - else: - approval_invoice_date = self.env['approval.invoice.date'].create({ - 'picking_id': rec.id, - 'date_invoice': invoice.invoice_date, - 'date_doc_do': rec.date_doc_kirim, - 'sale_id': rec.sale_id.id, - 'move_id': invoice.id, - 'partner_id': rec.partner_id.id - }) - - rec.approval_invoice_date_id = approval_invoice_date.id - - if approval_invoice_date: - return { - 'type': 'ir.actions.client', - 'tag': 'display_notification', - 'params': { 'title': 'Notification', 'message': 'Invoice Date Tidak Sesuai, Document Approval Invoice Date Terbuat', 'next': {'type': 'ir.actions.act_window_close'} }, - } + if rec.picking_type_code == 'outgoing' and 'BU/OUT/' in rec.name: + invoice = self.env['account.move'].search([('sale_id', '=', rec.sale_id.id), ('move_type', '=', 'out_invoice'), ('state', '=', 'posted')], limit=1, order='create_date desc') + + if invoice and not self.env.context.get('active_model') == 'stock.picking': + rec._check_date_doc_kirim_modification() + if rec.date_doc_kirim != invoice.invoice_date: + get_approval_invoice_date = self.env['approval.invoice.date'].search([('picking_id', '=', rec.id),('state', '=', 'draft')], limit=1) + + if get_approval_invoice_date and get_approval_invoice_date.state == 'draft': + get_approval_invoice_date.date_doc_do = rec.date_doc_kirim + else: + approval_invoice_date = self.env['approval.invoice.date'].create({ + 'picking_id': rec.id, + 'date_invoice': invoice.invoice_date, + 'date_doc_do': rec.date_doc_kirim, + 'sale_id': rec.sale_id.id, + 'move_id': invoice.id, + 'partner_id': rec.partner_id.id + }) + + rec.approval_invoice_date_id = approval_invoice_date.id + + if approval_invoice_date: + return { + 'type': 'ir.actions.client', + 'tag': 'display_notification', + 'params': { 'title': 'Notification', 'message': 'Invoice Date Tidak Sesuai, Document Approval Invoice Date Terbuat', 'next': {'type': 'ir.actions.act_window_close'} }, + } - rec.last_update_date_doc_kirim = fields.Datetime.now() + rec.last_update_date_doc_kirim = fields.Datetime.now() @api.constrains('scan_koli_lines') |
