diff --git a/sale.py b/sale.py index f812ca2..a3c54e5 100644 --- a/sale.py +++ b/sale.py @@ -18,7 +18,7 @@ class Sale(metaclass=PoolMeta): pass @classmethod - def _get_sales_in_period(cls, period, currency_id): + def _get_sales_in_period(cls, period, currency_id, in_thousands=False): invoice = Table('account_invoice') start_date = period.start_date end_date = period.end_date @@ -41,6 +41,8 @@ class Sale(metaclass=PoolMeta): value = 0 if values and values[0]: value = int(values[0]) + if in_thousands: + value = int(value / 1000) return value @classmethod @@ -58,6 +60,7 @@ class Sale(metaclass=PoolMeta): if not periods: return res + report = args['report'] period = periods[0] selector_periods = Period.search([ ('fiscalyear', '=', period.fiscalyear.id), @@ -68,7 +71,8 @@ class Sale(metaclass=PoolMeta): selector = {p.id: p.name for p in selector_periods} description = currency.code - value = cls._get_sales_in_period(period, ctx['currency']) + value = cls._get_sales_in_period(period, ctx['currency'], + report.in_thousands) res = { 'value': value, @@ -76,7 +80,7 @@ class Sale(metaclass=PoolMeta): 'selector': selector, 'default_option': period.id, 'meta': period.name, - 'in_thousands': True + 'in_thousands': report.in_thousands } return res @@ -99,8 +103,9 @@ class Sale(metaclass=PoolMeta): values = [] labels = [] + report = args['report'] for p in periods: - val = cls._get_sales_in_period(p, ctx['currency']) + val = cls._get_sales_in_period(p, ctx['currency'], report.in_thousands) if val > 0: values.append(val) labels.append(p.name) @@ -112,7 +117,7 @@ class Sale(metaclass=PoolMeta): 'labels': labels, 'description': 'report_sales_by_month', 'meta': currency.code, - 'in_thousands': True + 'in_thousands': report.in_thousands } return res