Hello Odoo Community,
I got a issue i was trying to return the results, the strange thing is on the log i can see corrent value Result 58.77 but if i add return the same value it get
new_values = dict(values)
ValueError: dictionary update sequence element #0 has length 1; 2 is required
If i add
return {'distance':("%.2f" % round(distance,2))}
I get error:
vals[f] = res2[vals['id']]
KeyError: 276
My code:
class launch_map(osv.osv):
_inherit = "res.partner"
def open_map2(self, cr, uid, ids, R, lat1, lon1, context=None):
R = 3961.0
partner = self.browse(cr, uid, ids[0], context=context)
lat2 = radians(partner.partner_latitude)
lon2 = radians(partner.partner_longitude)
lat1 = radians(51.749204)
lon1 = radians(-1.258504)
dlon = lon2 - lon1
dlat = lat2 - lat1
a = (sin(dlat/2))**2 + cos(lat1) * cos(lat2) * (sin(dlon/2))**2
c = 2 * atan2(sqrt(a), sqrt(1-a))
distance = R * c
print partner.partner_latitude
print partner.partner_longitude
print "Result", distance
print ("%.2f" % round(distance,2))
return ("%.2f" % round(distance,2))
Any examples and assistance would be appreaciated
Thank you,
could you please provide the field defined also?
I think the call to the method you have defined is coming from the functional field. If yes, then from your functional field, please remove the attribute 'multi'.