[FIX] account: @api.v8 account.tax.compute_all expects a currency browse record
The method `compute_all` of `account.tax` in api.v8 expects a currency browse record, not a currency id. It's the `compute_all` of api.v7 that expects a currency id. opw-653106
This commit is contained in:
@@ -948,8 +948,9 @@ class AccountMoveLine(models.Model):
|
|||||||
tax_ids = [tax['id'] for tax in self.resolve_2many_commands('tax_ids', vals['tax_ids']) if tax.get('id')]
|
tax_ids = [tax['id'] for tax in self.resolve_2many_commands('tax_ids', vals['tax_ids']) if tax.get('id')]
|
||||||
# Since create() receives ids instead of recordset, let's just use the old-api bridge
|
# Since create() receives ids instead of recordset, let's just use the old-api bridge
|
||||||
taxes = self.env['account.tax'].browse(tax_ids)
|
taxes = self.env['account.tax'].browse(tax_ids)
|
||||||
|
currency = self.env['res.currency'].browse(vals.get('currency_id'))
|
||||||
res = taxes.compute_all(amount,
|
res = taxes.compute_all(amount,
|
||||||
vals.get('currency_id'), 1, vals.get('product_id'), vals.get('partner_id'))
|
currency, 1, vals.get('product_id'), vals.get('partner_id'))
|
||||||
# Adjust line amount if any tax is price_include
|
# Adjust line amount if any tax is price_include
|
||||||
if abs(res['total_excluded']) < abs(amount):
|
if abs(res['total_excluded']) < abs(amount):
|
||||||
if vals['debit'] != 0.0: vals['debit'] = res['total_excluded']
|
if vals['debit'] != 0.0: vals['debit'] = res['total_excluded']
|
||||||
|
|||||||
Reference in New Issue
Block a user