From f32ac0d3286dd31a56e5b91e351e7720ac67b07d Mon Sep 17 00:00:00 2001 From: Sergi Almacellas Abellana Date: Fri, 28 Feb 2014 21:00:57 +0100 Subject: [PATCH] Fix amount calculation in supplier invoices with moves browsed multiple times get_amount function must process invoices only one time (despite passed more than one time) because supplier invoices total_amount is multiplied by -1 when it has accounting moves and if multiplied 2 (or any pair number) times it returns the amount in the wrong sign. issue3711 review3791002 --- invoice.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/invoice.py b/invoice.py index b7e4b67aa5..5a0cb82283 100644 --- a/invoice.py +++ b/invoice.py @@ -568,13 +568,13 @@ class Invoice(Workflow, ModelSQL, ModelView): tax_amount[invoice.id] = invoice.currency.round( tax_amount[invoice.id]) - invoices_move = [] - invoices_no_move = [] + invoices_move = set() + invoices_no_move = set() for invoice in invoices: if invoice.move: - invoices_move.append(invoice.id) + invoices_move.add(invoice.id) else: - invoices_no_move.append(invoice.id) + invoices_no_move.add(invoice.id) invoices_move = cls.browse(invoices_move) invoices_no_move = cls.browse(invoices_no_move)