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_ids: 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._compute_amount() return True
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_ids: 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._compute_amount() return True
def _set_amount_freight(self): for line in self.order_line: if not self.amount_gross: break line.write({ 'freight_value': calc_price_ratio(line.price_gross, self.amount_freight, line.order_id.amount_gross), }) return True
def _set_amount_costs(self): for line in self.order_line: if not self.amount_gross: break line.write({ 'other_costs_value': calc_price_ratio(line.price_gross, self.amount_costs, line.order_id.amount_gross), }) return True
def _set_amount_costs(self): for line in self.order_line: if not self.vr_outras: break line.write({ 'vr_outras': calc_price_ratio( line.vr_nf, self.vr_outras, line.order_id.amount_untaxed), }) return True
def _set_amount_insurance(self): for line in self.order_line: if not self.vr_seguro: break line.write({ 'vr_seguro': calc_price_ratio( line.vr_nf, self.vr_seguro, line.order_id.amount_untaxed), }) return True
def _set_amount_freight(self): for line in self.order_line: if not self.vr_frete: break line.write({ 'vr_frete': calc_price_ratio( line.vr_nf, self.vr_frete, line.order_id.amount_untaxed), }) return True