you need to understand concept of fields and what that field contains:
- field float contains a float number, usable imediatley
- many2many contains ids (from relation table) , you need to get the desired value of other model first...
so you could for example:
for m2m in many2many_field:
res[m2m.id] = field.float * m2m.some_value_field
# NOTE: some_value_field need to be of type float or integer , othervise you will get an error
wich wil return a list of m2m field values multiplied with field.float...
may the source be with you!
You got to understand the symentics of each data type and its behaviour...
So from your above code, I suppose you are trying to add all taxes ... But Tax_id is of type M2M, which is nothing but again a list of browse records.. hence you got to loop throug it to perform your action...
Your code should be like this....
for record in self.browse(cr, uid, ids,context):
for tax in record.tax_id:
res[record.id] += record.price_subtotal * tax.amount
Do refer, standard functionality/ calculations say Invoice, Purchase... etc so you will get a better idea of it...
Please try to give a substantial answer. If you wanted to comment on the question or answer, just use the commenting tool. Please remember that you can always revise your answers - no need to answer the same question twice. Also, please don't forget to vote - it really helps to select the best questions and answers!
About This Community
|Asked: 10/17/14, 5:02 AM|
|Seen: 626 times|
|Last updated: 3/16/15, 8:10 AM|