# -*- 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