Hello Community,
I was creating a function 'onchange' wich must return the address of the selected partner,
I have this three fields :
- 'client_id' : fields.many2one('res.partner', u'Client', change_default=True, required=True),
- 'client_address_id': fields.many2one('res.partner', u'Adresse du client', readonly=True),
- 'delivery_address_id': fields.many2one('res.partner', u'Adresse de livraison',readonly=True, help="La distance est calculée à partir de l'adresse de votre entreprise jusqu'à l'adresse de livraison du client. Google Map est utilisé pour calculer la distance."),
here is the function (*.py):
def onchange_partner_id(self, cr, uid, ids, part, context=None):
if not part :
return{'value' :{'client_address_id':False, 'delivery_addres_id':False}}
partner=self.pool.get('res.partner').browse(cr, uid, part, context=context)
addr= self.pool.get('res_partner').address_get(cr, uid, [partner.id],['delivery', 'invoice', 'contact', 'default', 'other'])
val= {
'client_address_id':addr ['default'],
'delivery_addres_id':addr['delivery']
}
return {'value':val}
(*.xml):
<field name="client_id" colspan="2" on_change="onchange_partner_id(client_id, context)" attrs="{'readonly':[('state', '=', 'done')]}"
context="{'show_address': 1, 'default_customer': False}"
options='{"always_reload": True, "highlight_first_line": True}'/>
<field name="client_address_id" colspan="2" attrs="{'readonly':[('state', '=', 'done')]}"/>
<field name="delivery_address_id" colspan="2" attrs="{'readonly':[('state', '=', 'done')]}"/>
After choosing the partner I got this error :
addr= self.pool.get('res_partner').address_get(cr, uid, [partner.id],['delivery', 'invoice', 'contact', 'default', 'other']) AttributeError: 'NoneType' object has no attribute 'address_get'
The function address_get already exist ( for example they are using it in the class 'sale_order' to do the same job) , so why it returns that error in the class that i have created?
Help me please !!
Best resgards,
Thank you !!
it works now but in the field 'client_address_id' I got the name of the partner not address
what should I do to obtaint that result ??
------------------------------------------------------------------------------------
Cordialement ,
Amna RAGHEB
Ingénieur en Informatique Industrielle et Automatique
(+216)21 99 85 16