[FIX] product: rounding in pricelist report
The pricelist report might show price incorrectly rounded. For example, a calculated price of 20.625 will be displayed as 20.62 in the report since `formatLang` does not apply a rounding but simply truncate the value. Fixes #12875
This commit is contained in:
parent
84f9cdd1d9
commit
aa1c3946da
|
@ -22,6 +22,7 @@
|
||||||
import time
|
import time
|
||||||
from openerp.osv import osv
|
from openerp.osv import osv
|
||||||
from openerp.report import report_sxw
|
from openerp.report import report_sxw
|
||||||
|
from openerp.tools import float_round
|
||||||
|
|
||||||
|
|
||||||
class product_pricelist(report_sxw.rml_parse):
|
class product_pricelist(report_sxw.rml_parse):
|
||||||
|
@ -106,10 +107,11 @@ class product_pricelist(report_sxw.rml_parse):
|
||||||
pricelist = self.pool.get('product.pricelist').browse(self.cr, self.uid, [pricelist_id], context=self.localcontext)[0]
|
pricelist = self.pool.get('product.pricelist').browse(self.cr, self.uid, [pricelist_id], context=self.localcontext)[0]
|
||||||
price_dict = self.pool.get('product.pricelist').price_get(self.cr, self.uid, [pricelist_id], product_id, qty, context=self.localcontext)
|
price_dict = self.pool.get('product.pricelist').price_get(self.cr, self.uid, [pricelist_id], product_id, qty, context=self.localcontext)
|
||||||
if price_dict[pricelist_id]:
|
if price_dict[pricelist_id]:
|
||||||
price = self.formatLang(price_dict[pricelist_id], digits=sale_price_digits, currency_obj=pricelist.currency_id)
|
price = float_round(price_dict[pricelist_id], precision_digits=sale_price_digits)
|
||||||
else:
|
else:
|
||||||
res = self.pool.get('product.product').read(self.cr, self.uid, [product_id])
|
res = self.pool.get('product.product').read(self.cr, self.uid, [product_id])
|
||||||
price = self.formatLang(res[0]['list_price'], digits=sale_price_digits, currency_obj=pricelist.currency_id)
|
price = float_round(res[0]['list_price'], precision_digits=sale_price_digits)
|
||||||
|
price = self.formatLang(price, digits=sale_price_digits, currency_obj=pricelist.currency_id)
|
||||||
return price
|
return price
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue