diff --git a/sale.py b/sale.py index 7e119e1..2f35471 100644 --- a/sale.py +++ b/sale.py @@ -127,13 +127,8 @@ class Sale(metaclass=PoolMeta): @classmethod def get_residual_amount(cls, sales, names): - result = {n: {s.id: Decimal(0) for s in sales} for n in names} - for name in names: - for sale in sales: - if sale.invoice_state != 'none': - result[name][sale.id] = sale.total_amount - sale.paid_amount - return result - + return {n: {s.id: s.total_amount - s.paid_amount if s.state != 'cancel' + else Decimal(0) for s in sales} for n in names} @classmethod def search_residual_amount(cls, name, clause):