فهرست منبع

[ADD] Importar en registro de caja

adrielso 7 سال پیش
والد
کامیت
064651796c
1فایلهای تغییر یافته به همراه39 افزوده شده و 0 حذف شده
  1. 39 0
      models/account_voucher.py

+ 39 - 0
models/account_voucher.py

@@ -58,11 +58,50 @@ class AccountVoucher(models.Model):
         account_voucher = self.create(values)
         account_voucher.action_move_line_create()
 
+        # Si no tiene deuda actualizar  la factura  a pagada
         if  invoice.residual <= 0:
             invoice.write({
                 'state': 'paid'
             })
 
+        # Usuario id
+        user = self.env.user
+
+        # Fecha del servidor
+        today = fields.Date.context_today(self)
+
+        # Consultar Caja  Abierta, Método de Pagos, Fecha de Hoy
+        bank_statement = self.env['account.bank.statement'].search([('state', '=', 'open'), ('journal_id', '=', [journal.id]), ('date', '=', today)])
+
+        # Crea caja si no tiene caja con el método de pago  y la fecha de hoy
+        if not bank_statement:
+            bank = {
+                'journal_id': journal.id,
+                'period_id': int(period.id),
+                'date': today,
+                'user_id': user.id
+            }
+            bank_statement = bank_statement.create(bank)
+
+        # Crea la linea en la caja del pago realizado
+        line = {
+            'statement_id': bank_statement.id,
+            'name': account_voucher.reference,
+            'partner_id': account_voucher.partner_id.id,
+            'amount': account_voucher.amount,
+            'voucher_id': account_voucher.id,
+            'journal_id': account_voucher.journal_id.id,
+            'account_id': account_voucher.account_id.id,
+            'journal_entry_id': account_voucher.move_id.id,
+            'currency_id': account_voucher.currency_id.id,
+            'ref': 'NP'
+        }
+        statement_line = self.env['account.bank.statement.line'].create(line)
+
+        # Actualizar La caja en Estado Abierto
+        bank_statement.write({'state': 'open'})
+
+        # Retorna el ticket de pagos
         return {
             'action_id': self.env['ir.actions.report.xml'].search([('report_name', '=', 'voucher_print.report_voucher')]).id,
             'voucher_id': account_voucher.id