From 8a63b3722afc18e35a3643d8e802e1b3fbf86390 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eduard=20Berloso=20Clar=C3=A0?= Date: Wed, 15 Jul 2020 13:43:59 +0200 Subject: [PATCH] better period check --- gestionatr/input/messages/F1.py | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/gestionatr/input/messages/F1.py b/gestionatr/input/messages/F1.py index fe7804db..c9a4b948 100644 --- a/gestionatr/input/messages/F1.py +++ b/gestionatr/input/messages/F1.py @@ -514,6 +514,7 @@ def periodos(self): periodes_no_facturables = [] if hasattr(self.termino, 'Periodo'): period_number = 1 + max_facturat = period_number for d in self.termino.Periodo: period_name = 'P{0}'.format(period_number) @@ -522,18 +523,21 @@ def periodos(self): ) if period.es_facturable(): data.append(period) + max_facturat = period_number else: periodes_no_facturables.append((d, period_number)) period_number += 1 - # Per les 6.1 en juny que el P5 no es factura i ens l'envien en preu i quantitat 0 pero igualment sha de - # tenir en compte - if len(periodes_no_facturables) == 1 and period_number >= 6: - for d, period_number in periodes_no_facturables: - period_name = 'P{0}'.format(period_number) - period = self.PERIODO_TYPE( - d, period_name, self.fecha_desde, self.fecha_hasta - ) - data.append(period) + + if periodes_no_facturables: + max_no_facturat = max([x[1] for x in periodes_no_facturables]) + # Per les 6.1 ens envien periodes amb preu i quantitat 0 pero si que els hem de gestionar + if max_facturat > max_no_facturat: + for d, period_number in periodes_no_facturables: + period_name = 'P{0}'.format(period_number) + period = self.PERIODO_TYPE( + d, period_name, self.fecha_desde, self.fecha_hasta + ) + data.append(period) return data