Foro de Odoo Argentina


¡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

0

¿Como pasar el valor de un campo como id al metodo browse?

Avatar
Francisco Tobar

Hola, estoy modificando el modelo account.invoice. Dentro del mismo cree un metodo para que me traiga por default la situacion fiscal del cliente al cual se le esta realizando la factura, que es el siguiente:

def _get_default_sit_fiscal_cl(self, cr, uid,context=None):       
        res = self.pool.get('res.partner').browse(cr, uid, [6], context=context).responsability_id
        return res or False

Pero, en el metodo browse usada arriba, donde le paso el id [6] necesito pasarle el id del cliente al que se le realiza la factura asi me trae por default la situacion fiscal de dicho cliente.

Probe escribiendolo de la siguiente manera pero me genera error:

res = self.pool.get('res.partner').browse(cr, uid, partner_id, context=context).responsability_id.

Donde partner_id es el nombre del campo de la factura donde se selecciona el partner a facturar.

¿De que forma puedo obtener el id del partner al cual estoy facturando para pasarselo al metodo browse?

Gracias

 

Avatar
Descartar
1 Respuesta
0
Avatar
Kelvin Farfan
Best Answer

Se puede utilizar el on_change de partner_id, pero account.invoice ya tiene esta funcion definida por lo tanto se tendria que usar un super, quedaria mas o menos asi

@api.multi

def onchange_partner_id(self, type, partner_id, date_invoice=False, payment_term=False, partner_bank_id=False, company_id=False):

    res = super(nombre de la clase, self).onchange_partner_id(type, partner_id, date_invoice, payment_term, partner_bank_id, company_id)

    fiscal = self.pool.get('res.partner').browse(cr, uid, [partner_id], context=context).responsability_id

    res['responsability_id'] = fiscal

    return res

 

espero que te sirva de algo

Avatar
Descartar