Пример #1
0
    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
Пример #2
0
    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
Пример #3
0
 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
Пример #4
0
 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