Получить цены на продукты с налогами в отчете openerp
Я пишу отчет Aeroo для печати этикеток продуктов OpenERP.
Мне удалось напечатать название продукта, описание, изображение, штрих-код... но у меня проблемы с ценами. Я могу напечатать базовую цену товара без налогов:
<o.price>
но мне нужно также распечатать цену с налогами и суммой налогов, как мне этого добиться?
РЕДАКТИРОВАТЬ: это работает, но должно быть лучше:
<o.list_price * ( 1 + sum([t.amount for t in o.taxes_id]))>
и не учитывает скидки
спасибо, Луис
1 ответ
Решение
Решено создать модуль и добавить метод pvp в product_product, который использует tax.compute_all
from osv import fields, osv
class product_product(osv.osv):
_name = "product.product"
_inherit = "product.product"
def _pvp(self, cr, uid, ids, field_name, arg, context=None):
"""Return calculated PVP with taxes
"""
res = {}
tax_obj = self.pool.get('account.tax')
for product in self.browse(cr, uid, ids, context):
t = tax_obj.compute_all(cr, uid, product.taxes_id, product.list_price, 1)['total_included']
res[product.id] = "{0:.2f}".format(t)
return res
_columns = {
'pvp': fields.function(_pvp, type="string", method=True, string="PVP"), # calculates PVP with taxes
}
product_product()