cta_cte.py
2.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# -*- coding: utf-8 -*-
from odoo import models, fields, api, exceptions
from .qr import qrfiscal
from odoo.exceptions import UserError, ValidationError, Warning, RedirectWarning
import base64, datetime
class res_currency(models.Model):
_inherit = 'asw.cta_cte'
"""Heredo esta classe para modificar el comportamiento de la cuenta corriente
No quiero que se afecte Factura - Factura"""
@api.multi
def afectar(self, id_afectada=False):
""" si se pasa un id_afectada la afectacion se realiza sobre este
de otra manera se afecta a todos los comprobantes en orden de aparicion """
afectaciones = []
if (id_afectada is not False and isinstance(id_afectada, int)):
# Solo debe afectar por el monto adeudado del comprobante
cc_afectadora = self.search([('cc_comprobante', '=', id_afectada)])
afectacion = self.genera_afectacion(cc_afectadora)
afectaciones.append(afectacion)
elif (self.cc_cliente.id is False):
return
fac = ["fac","rem","rve","ped","pre","inv"]#Esto cambio el metodo de reintegro hay q pensar q hacemos
res = ["rec","rem","rve","ped","pre","inv"]
blokear = [] #Por puta seguridad
if self.cc_comprobante.comp_talonario.tal_menu == "fac":
blokear = fac # Si es factura blokea factura
else:
blokear = res # si no es factura es recibo blokero recibos
cc_cliente = self.search([('cc_cliente','=', self.cc_cliente.id),
('cc_tipo_relacionado','!=', self.cc_tipo_relacionado),
('cc_monto_adeudado','!=', 0)])
for cc_afectada in cc_cliente:
if cc_afectada.cc_comprobante.comp_talonario.tal_menu in blokear:#si esta en la lista me lo salto
break
cc_afectada._compute_cc_monto_adeudado()
if(self.cc_monto_adeudado != 0):
afectacion = self.genera_afectacion(cc_afectada)
afectaciones.append(afectacion)
else:
break
return afectaciones