Welcome!

This community is for professionals and enthusiasts of our products and services. Share and discuss the best content and new marketing ideas, build your professional profile and become a better marketer together.

0

¿ como recorrer una tabla y hacer comparaciones o como guardar varios datos de un campo ? -- odoo 11

por
robinson sosa
en 12/12/17 03:21 548 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.

Mantener informado

Acerca de esta comunidad

¡Hola! Este foro tiene la finalidad de compartir con la comunidad de Odoo Argentina preguntas y respuestas funcionales y técnicas. Lea las directrices

Herramientas de las preguntas

77 seguidor(es)

Estadísticas

Preguntado: 12/12/17 03:21
Visto: 548 veces
Última actualización: 14/4/18 12:41