Skip to content

Commit 6eaf365

Browse files
committed
[IMP] sale_triple_discount: Compute amount with decimal precision of 16
Equivalent to the current computation in invoices https://github.com/OCA/account-invoicing/blob/d2e12c03b50011bb788cf482346710f0fefe0de3/account_invoice_triple_discount/models/account_move_line.py#L73-L74
1 parent 0b84ffc commit 6eaf365

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

sale_triple_discount/models/sale_order_line.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,9 @@ def triple_discount_preprocess(self):
9797
this method is called multiple times."""
9898

9999
prev_values = dict()
100+
digits = self._fields["discount"]._digits
101+
self.env["sale.order.line"]._fields["discount"]._digits = (16, 16)
102+
prev_values["discount_digits"] = digits
100103
for line in self:
101104
prev_values[line] = dict(
102105
discount=line.discount,
@@ -115,6 +118,8 @@ def triple_discount_preprocess(self):
115118
@api.model
116119
def triple_discount_postprocess(self, prev_values):
117120
"""Restore the discounts of the lines in the dictionary prev_values."""
121+
digits = prev_values.pop("discount_digits")
122+
self.env["sale.order.line"]._fields["discount"]._digits = digits
118123
for line, prev_vals_dict in list(prev_values.items()):
119124
line.update(prev_vals_dict)
120125

0 commit comments

Comments
 (0)