Ir al contenido

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

Para poder participar, debés estar registrado así los miembros de la comunidad pueden interactuar con tus preguntas. 

¿No estás registrado? Registrate acá

Se marcó esta pregunta
2275 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