Получить цены на продукты с налогами в отчете 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()
Другие вопросы по тегам