wizard_liquidacion_comprobante.py 1.88 KB
from odoo import models, fields, api
from datetime import datetime

class hgt_liquidacion_comprobante(models.TransientModel):
    _name = "hgt.liquidacion_comprobante"
    _inherit = ['asw.generador_comprobante','asw.generador_comprobante_linea']

    proovedor = fields.Many2one(
        string='Proovedor',
        comodel_name='asw.cliente',
        ondelete='restrict',
    )

    liquidacion = fields.Many2one(
        string=u'Liquidación',
        comodel_name='hgt.liquidacionestareas',
        ondelete='restrict',
    )

    total_liquidacion = fields.Float(
        string='Total Abonado',
        related = 'liquidacion.total',
    )

    cta_corriente = fields.Many2many(
        string='Cuenta Corriente Proovedor',
        comodel_name = 'asw.cta_cte',
    )

    @api.onchange('proovedor')
    def onchange_cta_corrienet(self):
        result = {}
        result['domain'] = []
        cta_ctes = self.env['asw.cta_cte'].search([])
        ids = cta_ctes.filtered(lambda l: l.cc_cliente.id == self.proovedor.id) 
        self.cta_corriente = ids
        result['domain'] = {'campo': [('id', 'in', ids)]}
        return result 

    def generar_comprobante_compra(self):
        cliente = self.proovedor
        total = self.total_liquidacion
        referencia = str(self.liquidacion.nombre)
        talonario = self.env['asw.talonario'].search([('tal_menu', '=', 'fac'),('tal_tipo','=', 'r')], limit=1)
        
        comprob = self.generar_comprobante(talonario, cliente, total, referencia)
        
        referencia2 = 'PRODUCTO/SERVICIO'
        linea = self.generar_linea_comprobante(referencia2, comprob, total)

        return {
            'type': 'ir.actions.act_window',
            'res_model': 'asw.comprobante',
            'view_mode': 'form',
            'view_type': 'form',
            'res_id': comprob.id,
            'views': [(False, 'form')],
            'target': 'new',
        }