It is currently Mon May 21, 2012 8:06 pm

All times are UTC + 2 hours




Post new topic Reply to topic  [ 2 posts ] 
Author Message
 Post subject: on_change
PostPosted: Tue Sep 27, 2011 10:08 am 
Offline

Joined: Wed Aug 17, 2011 5:52 pm
Posts: 56
Location: Maputo
Olá, comecei a pouco a trabalhar cm o OpenERP e tou com uma dúvida, por isso peço a vossa ajuda.

Tento actualizar um campo many2one após a criação/actualização de um outro campo many2one(partner e partner_address) mas simplesmente não tenho retorno.

Em anexo, o código:

CLASSE
Code:
# -*- coding: utf-8 -*-
from osv import fields, osv
import time

class requisicao_facturarecibo(osv.osv):
    _name ="requisicao.facturarecibo"
    _description = "Emissao de facturas"
    _columns = {
                'partner_id': fields.many2one('res.partner','Nome do Cliente',size=64,readonly=True, states={'estado_rascunho_aberto': [('readonly', False)]}, select=True,required=True),
                'address_id': fields.many2one('res.partner.address','Endereco',size=64,readonly=True, states={'estado_rascunho_aberto': [('readonly', False)]},select=False, required=False),

    def on_change_partner(self, cr, uid, ids,partner_id):
        address_id = self.pool.get('res.partner.address').browse(cr,uid,partner_id)
        if address_id:
            return {'value': {'address_id':'address_id'}}
       
requisicao_facturarecibo()


VIEW
Code:
<group colspan="4" col="6">
                  <separator string="Cliente" colspan="6" />
                  <field name="partner_id" on_change="on_change_partner(partner_id)"/>
                  <field name="address_id" />
               </group>

_________________
Dércio Duvane
DotCom, LDA
Maputo, Mozambique


Top
 Profile  
 
 Post subject: Re: on_change(RESOLVIDO)
PostPosted: Tue Sep 27, 2011 5:14 pm 
Offline

Joined: Wed Aug 17, 2011 5:52 pm
Posts: 56
Location: Maputo
O Método deve ficar desse jeito:

Code:
def on_change_partner(self, cr, uid, ids,partner_id):
        val = {}
        if partner_id:
            addr = self.pool.get('res.partner').address_get(cr, uid, [partner_id], ['default'])
            val = {'address_id': addr['default']},
            return {'value': val}

_________________
Dércio Duvane
DotCom, LDA
Maputo, Mozambique


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 2 posts ] 

All times are UTC + 2 hours


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:

Protected by Anti-Spam ACP