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 realizar una consulta utilizando search y ilike....?

por
robinson sosa
en 13/12/17 18:07 277 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


1
Adrián Borella
En 14/12/17 18:13

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

  • Marcar

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)

robinson sosa
de 15/12/17 01:48

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

robinson sosa
de 15/12/17 02:05

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.

Adrián Borella
de 15/12/17 14:46

Mantener informado

Acerca de esta comunidad

Esta comunidad es para profesionales y entusiastas de nuestros productos y servicios, compartir los mejores contenidos y nuevas ideas de marketing, construir su perfil profesional y mejorar el mercado para todos. Lea las directrices

Herramientas de las preguntas

77 seguidor(es)

Estadísticas

Preguntado: 13/12/17 18:07
Visto: 277 veces
Última actualización: 14/4/18 12:41