¡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
1 Responder
1709 Vistas

deseo realizar una suma de todas de los totales a pagar de cada una la facturas perteneientes a un cliente

tengo la clase  de factura

    amount_total = fields.Monetary(string='Total a pagar', 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:')
    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)
  

utilice este metodo y me muestra los totales pertenecientes a un cliente pero lo quiero es realizar una suma de esos totales y mostrarla

 

    @api.multi
    def probar_metodo(self):
        for p in self:
            result = p.search([('worker','ilike','1212')])
            amount_total = []
            for record in result:
                amount_total.append(record.amount_total)
            raise ValidationError('result: %s' % amount_total)

 

y si saben como realizar ese metodo desde otra clase por favor me avisan x el momento solo e logrado utilizarla desde la misma clase y hacer ese mismo reorrido de la tabla fatura pero desde otro clase

Avatar
Descartar
Mejor respuesta

Hola Ribinson, primero fijate que la clase res.partner tiene el campo credit, que muesra el saldo del cluente, es lo que te debe, lo podes ver en la pestaña contabilidad del cliente.

Luego si queres hacer un recorrido para todos clientes podes

#buscar todos los clientes

clientes = self.env['res.partner'].search('customer','=',True)

#recorres todos los clientes para hacer algo

for cli in clientes:

    cli.HacerAlgo()

 

Espero que te sirva

Avatar
Descartar
Autor

gracias por tu ayuda lo colo que así @api.multi def test_method(self): # for p in self: result = self.env['dining.room'].search([('worker','=','1212')]) # result = p.search([('worker','=','1212')]) name = [] for record in result: for j in record.worker: h = j.name name.append(record.name) raise ValidationError('result: %s' % h)

Autor

me podrías dar un ejemplo de como utilizar el credit por favor... y no hay algún método para para seleccionar todos los registros que se encuentren en estatus lo que pasa el modulo que estoy realizando debe hacer estas dos cosas 1- tener un clase con un moto limite de credito se ingresara el monto limite que se le puede dar de crédito a un cliente la comparacion tiene que se entre la suma total de todos las facturas pertenecientes a un cliente si algún cliente sobre pasa el monto que muestre un mensaje 2- necesito poder seleccionar todos los registros que se encuentre en un estatus credito eso to quiero pasarlo a través del método que acabo de colocarte

1- credit es un campo de la base de datos, podes leerlo e cualquier momento. 2 - eso te conviene hacerlo sobreescribiendo el metodo validar, para poder dar el mensaje al validar, es mas facil hacerlo asi. 3 - Podes buscar las facturas por status, fijate si entras en modo desarrollador te va a mostrar los diferentes estados de las facturas, si estan en status "open", son las que tienen un residual distinto de 0, y esa es la deuda que tiene cada factura. Te recomiendo que centralices esa parte por Contabilidad/Facturas, ya que tiene toda la logica de cuenta corriente de clientes, o proveedores, segun sea el caso.