OCA / l10n-brazil

Localização brasileira oficial do Odoo.
https://odoo-community.org/psc-teams/brazil-66
GNU Affero General Public License v3.0
235 stars 244 forks source link

Calcular desconto se o módulo purchase_discount estiver instalado. #3139

Open rodmad85 opened 2 months ago

rodmad85 commented 2 months ago

Cálculo do valor de desconto no módulo Purchase baseado no campo discount do módulo purchase_discount. No arquivo l10n_br_purchase/purchase_order_line.py .

def _compute_amount(self):
    """Compute the amounts of the PO line."""
    result = super()._compute_amount()
    discount = bool(self.env['ir.module.module'].search([('name', '=', 'purchase_discount')]),)

    for line in self:
         if discount:
         self.discount_value = (self.discount * self.price_unit) / 100

        if line.fiscal_operation_id:
            # Update taxes fields
            line._update_taxes()
            # Call mixin compute method
            line._compute_amounts()
            # Update record
            line.update(
                {
                    "price_subtotal": line.amount_untaxed,
                    "price_tax": line.amount_tax,
                    "price_gross": line.amount_untaxed + line.discount_value,
                    "price_total": line.amount_total,
                }
            )
    return result
rvalyi commented 1 month ago

como isso nao eh realmente um PR, vou deixar de rascunho, assim nao atrapalha na lista dos PRs que temos que lidar...