¡BIENVENIDO AL FORO DE ODOO ARGENTINA!

BRINDAMOS UN ESPACIO A LA COMUNIDAD ARGENTINA DE ODOO PARA CENTRALIZAR EL DEBATE, COMPARTIR IDEAS, DESARROLLOS, Y FORMAR PARTE DE UNA COMUNIDAD QUE CRECE DÍA A DÍA

¿No estás registrado?  REGISTRATE

Se marcó esta pregunta
2054 Vistas

Hola quiero necesito ayuda quiero saber cual seria el mejor metodo a utilzar y como realizarlo.

tengo una clase heredada del empleado y tengo una clase de facturacion....

====== clase empleado =======

class claseempleado(models.Model):

    _rec_name = 'ficha'
    _inherit = ['hr.employee']

    ficha = fields.Integer(string='Ficha', required=True)
    prueba = fields.Char(string='Base imponible', compute='_amount_all' )
    fact_id = fields.Many2one('dining.room', 'factura' )


    @api.multi
    def _amount_all(self):
        for r in self:
            #  prueba = 0.0
            for l in r.fact_id:
                prueba = l.name
            r.update({
                'prueba': prueba,
                })

========= clase factura =======

class DiningRoom(models.Model):

    _name = 'dining.room'
    _order = 'create_date desc'
    _rec_name = 'name'

    @api.depends('product_ids', 'state')
    def _amount_all(self):
        for r in self:
            amount_untaxed = 0.0
            for l in r.product_ids:
                amount_untaxed += l.price_subtotal
            r.update({
                'amount_untaxed': amount_untaxed,
                'amount_total': amount_untaxed,
                })

    #dining_id = fields.Many2one('dining.room.id')
    name = fields.Char(default=lambda self: _('New'), required=True, string='Nro. de Factura')
    amount_untaxed = fields.Monetary(string='Base imponible', readonly=True, track_visibility='always', compute='_amount_all', store=True)
    amount_total = fields.Monetary(string='Total', readonly=True, track_visibility='always', compute='_amount_all', store=True)

    worker = fields.Many2one('hr.employee', 'Ficha del Trabajador:')
    client = fields.Many2one('dining.room.client', 'Cedula del Cliente:')
    currency_id = fields.Many2one('res.currency', 'Currency',
        default=lambda self: self.env.user.company_id.currency_id.id, required=True)
    product_id = fields.Many2one('dining.products', related='product_ids.product_id', string='Comida')
    product_ids = fields.One2many('dining.room.order', 'order_id', string='Productos', required=True, copy=True, store=True)
    state = fields.Selection([
        ('draft', 'Borrador'),
        ('done', 'Vendido'),
        ], string=_('Status'), readonly=True, copy=False, index=True, default='draft')
    model_room = fields.Selection([
        ('efec','Efectivo'),
        ('trans','Tranferencia'),
        ('debi','Credito'),
    ],string="Pago", required=True)
    date = fields.Datetime(string='Fecha', default=fields.Datetime.now)
    date2 = fields.Date(string='Fecha')
    option = fields.Selection([
        ('worker','trabajador'),
        ('client','cliente')
    ],string="opcion", required=True, default='worker')

lo que deseo saber es como puedo recorrer la tabla de las facturas y octener una suma total de todas las facturas que pertenescan un empleado en espesifico

ejemplo quiero ver buscar a jose y saber cuantas facturas tiene y sumar el total de cada factura para saber cuanto gasto..

==== clase de prueba ====

cree una clase de prueba y utilizo este metodo:

worker = fields.Many2one('hr.employee', 'Ficha del Trabajador:', compute='_get_vehicle' )
    fact_id = fields.Many2one('dining.room', 'factura',  )
    # fact = fields.Many2one('dining.room', 'factura', )
    ficha = fields.Char(string='ficha', compute='_get_vehicle')

con ete metodo accedo a la clasefactura y al selecionar una factura automaticamente me retorna el empledo perteneciente a esta factura

    @api.one
    @api.depends('fact_id')
    def _get_vehicle(self):
        if self.fact_id:
            self.worker = self.fact_id.worker
            # self.factura = self.fact_id.factura
        else:
            self.fact_id = None

 

Espero que alguien sepa como quiero realizar esta operacion.

Avatar
Descartar