Código fonte para l10n_br_account_product.wizard.l10n_br_account_invoice_costs_ratio
# -*- coding: utf-8 -*-
# Copyright (C) 2014 KMEE (http://www.kmee.com.br)
# @author Daniel Sadamo <sadamo@kmee.com.br>
# @author Luis Felipe Mileo <mileo@kmee.com.br>
# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html
from openerp import models, fields, api
from openerp.addons.l10n_br_base.tools.misc import calc_price_ratio
[documentos]class L10nBrAccountProductInvoiceCostsRatio(models.TransientModel):
_name = 'l10n_br_account_product.invoice.costs_ratio'
_description = 'Ratio costs on invoice'
amount_freight_value = fields.Float('Frete')
amount_insurance_value = fields.Float('Seguro')
amount_costs_value = fields.Float('Outros Custos')
@api.multi
[documentos] def set_invoice_costs_ratio(self):
if not self._context.get('active_model') in 'account.invoice':
return False
for delivery in self:
for invoice in self.env['account.invoice'].browse(
self._context.get('active_ids', [])):
for line in invoice.invoice_line:
vals = {
'freight_value': calc_price_ratio(
line.price_gross,
delivery.amount_freight_value,
invoice.amount_gross),
'insurance_value': calc_price_ratio(
line.price_gross,
delivery.amount_insurance_value,
invoice.amount_gross),
'other_costs_value': calc_price_ratio(
line.price_gross,
delivery.amount_costs_value,
invoice.amount_gross),
}
line.write(vals)
invoice.button_reset_taxes()
return True