BUG dans la grille des consommations
- Tokashi
- Auteur du sujet
- Hors Ligne
- Membre senior
- 
				  
		Réduire
		Plus d'informations
		
			
	
		- Messages : 71
- Remerciements reçus 2
			
	
						il y a 7 ans 7 mois		 -  il y a 7 ans 7 mois		#19327
		par Tokashi
	
	
		
			
	
	
			 		
													
	
				BUG dans la grille des consommations a été créé par Tokashi			
			
				Lors de la saisie d'une absence justifiée :
## 20/03/2018 22:24:34 | 1.2.2.8 | wxPython 3.0.1.0 msw (classic) | win32 Windows 10 AMD64 ##
Traceback (most recent call last):
File "Ctrl\CTRL_Grille.pyc", line 2193, in OnLeftClick
File "Ctrl\CTRL_Grille_cases.pyc", line 1131, in OnClick
File "Ctrl\CTRL_Grille_cases.pyc", line 1607, in ModifieEtat
File "Ctrl\CTRL_Grille_cases.pyc", line 429, in MAJ_facturation
File "Ctrl\CTRL_Grille.pyc", line 2689, in Facturation
File "Ctrl\CTRL_Grille.pyc", line 4019, in CalculeTarif
TypeError: unsupported operand type(s) for -: 'NoneType' and 'NoneType'
Toutefois en validant l'absence est bien prise en compte mais impossible de recalculer les prestations (la même erreur réapparait).
Même problème lors de la saisie en attente ou en refus.
					## 20/03/2018 22:24:34 | 1.2.2.8 | wxPython 3.0.1.0 msw (classic) | win32 Windows 10 AMD64 ##
Traceback (most recent call last):
File "Ctrl\CTRL_Grille.pyc", line 2193, in OnLeftClick
File "Ctrl\CTRL_Grille_cases.pyc", line 1131, in OnClick
File "Ctrl\CTRL_Grille_cases.pyc", line 1607, in ModifieEtat
File "Ctrl\CTRL_Grille_cases.pyc", line 429, in MAJ_facturation
File "Ctrl\CTRL_Grille.pyc", line 2689, in Facturation
File "Ctrl\CTRL_Grille.pyc", line 4019, in CalculeTarif
TypeError: unsupported operand type(s) for -: 'NoneType' and 'NoneType'
Toutefois en validant l'absence est bien prise en compte mais impossible de recalculer les prestations (la même erreur réapparait).
Même problème lors de la saisie en attente ou en refus.
		Dernière édition: il y a 7 ans 7 mois  par Tokashi.			
			Connexion ou Créer un compte pour participer à la conversation.
- Tokashi
- Auteur du sujet
- Hors Ligne
- Membre senior
- 
				  
		Réduire
		Plus d'informations
		
			
	
		- Messages : 71
- Remerciements reçus 2
			
	
						il y a 7 ans 7 mois				#19389
		par Tokashi
	
	
		
			
	
			
			 		
													
	
				Réponse de Tokashi sur le sujet BUG dans la grille des consommations			
			
				Bonjour.
Je viens de faire quelques recherches et le problème vient de mon fichier de configuration. Il me reste à comprendre ce qui peut poser problème.
					Je viens de faire quelques recherches et le problème vient de mon fichier de configuration. Il me reste à comprendre ce qui peut poser problème.
Connexion ou Créer un compte pour participer à la conversation.
- Tokashi
- Auteur du sujet
- Hors Ligne
- Membre senior
- 
				  
		Réduire
		Plus d'informations
		
			
	
		- Messages : 71
- Remerciements reçus 2
			
	
						il y a 7 ans 7 mois				#19391
		par Tokashi
	
	
		
			
	
			
			 		
													
	
				Réponse de Tokashi sur le sujet BUG dans la grille des consommations			
			
				Ça sent quand même le bug.
Noethys a du mal à digérer mon paramétrage.
Je continue mon enquête ce soir. Ca tourne soit autour du delta temps soit du QF que je n'utilise pas.
					Noethys a du mal à digérer mon paramétrage.
Je continue mon enquête ce soir. Ca tourne soit autour du delta temps soit du QF que je n'utilise pas.
Connexion ou Créer un compte pour participer à la conversation.
- Tokashi
- Auteur du sujet
- Hors Ligne
- Membre senior
- 
				  
		Réduire
		Plus d'informations
		
			
	
		- Messages : 71
- Remerciements reçus 2
			
	
						il y a 7 ans 7 mois				#19396
		par Tokashi
	
	
		
			
	
			
			 		
													
	
				Réponse de Tokashi sur le sujet BUG dans la grille des consommations			
			
				Ce qui pose problème : heure_fin_delta et heure_debut_delta ont pour valeur none
(4030) # Recherche des heures debut et fin des unités cochées
duree, heure_debut_delta, heure_fin_delta = self.CalculeDuree(IDindividu, date, combinaisons_unites)
duree_delta = heure_fin_delta - heure_debut_delta
Car si l'état est autre que "réservation, présent ou absent injustifié" alors duree, heure_min, heure max sont tous none
(3373) def CalculeDuree(self, IDindividu=None, datePrestation=None, combinaisons_unites=[]):
""" Pour Facturation """
liste_temps = []
heure_min = None
heure_max = None
for IDunite, listeConso in self.dictConsoIndividus[IDindividu][datePrestation].iteritems() :
if IDunite in combinaisons_unites :
for conso in listeConso :
if conso.statut != "suppression" and conso.etat in ("reservation", "present", "absenti") :
heure_debut = conso.heure_debut
heure_fin = conso.heure_fin
if heure_debut not in (None, "") and heure_fin not in (None, "") :
liste_temps.append((heure_debut, heure_fin))
if heure_min == None or HeureStrEnDelta(heure_debut) < heure_min :
heure_min = HeureStrEnDelta(heure_debut)
if heure_max == None or HeureStrEnDelta(heure_fin) > heure_max :
heure_max = HeureStrEnDelta(heure_fin)
if len(liste_temps) > 0 :
duree = Additionne_intervalles_temps(liste_temps)
else :
duree = None
return duree, heure_min, heure_max
					(4030) # Recherche des heures debut et fin des unités cochées
duree, heure_debut_delta, heure_fin_delta = self.CalculeDuree(IDindividu, date, combinaisons_unites)
duree_delta = heure_fin_delta - heure_debut_delta
Car si l'état est autre que "réservation, présent ou absent injustifié" alors duree, heure_min, heure max sont tous none
(3373) def CalculeDuree(self, IDindividu=None, datePrestation=None, combinaisons_unites=[]):
""" Pour Facturation """
liste_temps = []
heure_min = None
heure_max = None
for IDunite, listeConso in self.dictConsoIndividus[IDindividu][datePrestation].iteritems() :
if IDunite in combinaisons_unites :
for conso in listeConso :
if conso.statut != "suppression" and conso.etat in ("reservation", "present", "absenti") :
heure_debut = conso.heure_debut
heure_fin = conso.heure_fin
if heure_debut not in (None, "") and heure_fin not in (None, "") :
liste_temps.append((heure_debut, heure_fin))
if heure_min == None or HeureStrEnDelta(heure_debut) < heure_min :
heure_min = HeureStrEnDelta(heure_debut)
if heure_max == None or HeureStrEnDelta(heure_fin) > heure_max :
heure_max = HeureStrEnDelta(heure_fin)
if len(liste_temps) > 0 :
duree = Additionne_intervalles_temps(liste_temps)
else :
duree = None
return duree, heure_min, heure_max
Connexion ou Créer un compte pour participer à la conversation.
- Tokashi
- Auteur du sujet
- Hors Ligne
- Membre senior
- 
				  
		Réduire
		Plus d'informations
		
			
	
		- Messages : 71
- Remerciements reçus 2
			
	
						il y a 7 ans 7 mois				#19397
		par Tokashi
	
	
		
			
	
			
			 		
													
	
				Réponse de Tokashi sur le sujet BUG dans la grille des consommations			
			
				Ça y est j'ai trouvé la source du problème.
Dans le paramétrage de l'activité -> Tarification -> dans les paramètres d'un tarif -> Type de tarif -> Après avoir choisi une unité ou une combinaison -> cochez les états conditionnels
Et c'est là que ça se passe !!! Si on ne coche que réservation, présence, ou injustifié alors il n'y aura pas de problème dans la grille des conso. Par contre si on coche tout alors patatra il va y avoir des pop-up de plantage python.
Le problème vient certainement de la fonction CalculeDuree dans CTRL_Grille (cité ci-dessus).
					Dans le paramétrage de l'activité -> Tarification -> dans les paramètres d'un tarif -> Type de tarif -> Après avoir choisi une unité ou une combinaison -> cochez les états conditionnels
Et c'est là que ça se passe !!! Si on ne coche que réservation, présence, ou injustifié alors il n'y aura pas de problème dans la grille des conso. Par contre si on coche tout alors patatra il va y avoir des pop-up de plantage python.
Le problème vient certainement de la fonction CalculeDuree dans CTRL_Grille (cité ci-dessus).
Connexion ou Créer un compte pour participer à la conversation.
- Ivan
- 
				  
- Hors Ligne
- Administrateur
- 
				  
		Réduire
		Plus d'informations
		
			
	
		- Messages : 3923
- Remerciements reçus 553
			
	
						il y a 7 ans 6 mois				#19436
		par Ivan
	
	
		
			
	
			
			 		
													
	
				Réponse de Ivan sur le sujet BUG dans la grille des consommations			
			
				Bonjour,
Merci pour le débogage. Le correctif sera dans la prochaine version.
Bon week-end,
Ivan
					Merci pour le débogage. Le correctif sera dans la prochaine version.
Bon week-end,
Ivan
Connexion ou Créer un compte pour participer à la conversation.
- Tokashi
- Auteur du sujet
- Hors Ligne
- Membre senior
- 
				  
		Réduire
		Plus d'informations
		
			
	
		- Messages : 71
- Remerciements reçus 2
			
	
						il y a 7 ans 6 mois				#19443
		par Tokashi
	
	
		
			
	
			
			 		
													
	
				Réponse de Tokashi sur le sujet BUG dans la grille des consommations			
			
				De rien.
Pour le coup je n'avais pas l'utilité de cocher toutes les cases. Seulement "réservation, présence et absence injustifiée". Comme la plupart des structures je pense. Mais je n'avais pas compris leur fonctionnement. De mémoire, elles ne sont pas expliquées dans le manuel.
Maintenant j'ai compris leur fonctionnement mais il serait utile de le rajouter.
Bon week-end également.
					Pour le coup je n'avais pas l'utilité de cocher toutes les cases. Seulement "réservation, présence et absence injustifiée". Comme la plupart des structures je pense. Mais je n'avais pas compris leur fonctionnement. De mémoire, elles ne sont pas expliquées dans le manuel.
Maintenant j'ai compris leur fonctionnement mais il serait utile de le rajouter.
Bon week-end également.
Connexion ou Créer un compte pour participer à la conversation.
		Temps de génération de la page : 0.094 secondes	
 
											