Les anciennetés
Préambule
Quelques clients nous ont interpellés sur le fait que l'ancienneté "reculait" au lieu d'avancer.
C'est uniquement dans le cas d'un salarié qui effectue régulièrement des contrats CDD.
On constate alors cette anomalie en consultant les contrats en cours et les précédents.
Nous avons compris l'origine de l'anomalie. Pour résumer la situation, deux cas sont présents :
- Lorsque le contrat est créé à partir d'un contrat précédent clôturé le mois précédent, il n'y a pas d'anomalie de reprise de l'ancienneté.
- Lorsque le contrat est créé à partir d'un contrat précédent clôturé en amont du mois précédent, l'ancienneté reprise est incorrecte
Explications
Voici un exemple permettant d'expliquer concrètement ce qui se passe.
Un salarié réalise 3 contrats. L'ancienneté de départ au 1er juin 2024 est de 366 jours soit un an. On exprimera toujours dans l'exemple l'ancienneté en jours.
- Contrat N°1 : 01/06/2024 au 05/06/2024 soit 5 jours
- Contrat N°2 : 10/07/2024 au 20/06/2024 soit 11 jours
- Contrat N°3 : 15/09/2024 au 20/09/2024 soit 6 jours
Juin
L'affichage de l'ancienneté du contrat N°1 est de 366 jours au 01/06/2024
Juillet
L'affichage de l'ancienneté du contrat N°1 est de 366+5=371 jours au 01/07/2024. Cette ancienneté doit être en principe figée puisque le contrat est clos.
Lorsque l'on crée le contrat N°2 en reprenant l'ancienneté du N°1, on aura donc 371 jours au 01/07/2024 ce qui est correct.
Aout
Cette fois, l'affichage de l'ancienneté du contrat N°1 est de 371 +31 jours de juillet. C'est une anomalie car le contrat est clos.
L'ancienneté du contrat N°2 est correcte, 371 + 11 = 382 jours
Septembre
Contrat N°1 : 371+31+31 = 433 jours toujours incorrect
Contrat N°2 : 382 + 31 = 413 jours incorrect également
Lorsque l'on crée le contrat N°3, l'ancienneté reprise est de 413 jours au lieu de 382.
Octobre
Les contrats 1 et 2 voient leurs anciennetés augmenter à tort.
Le contrat N°3 a une ancienneté de 413 + 6 = 419 jours
Ci dessous la visualisation des anciennetés des différents contrats en octobre
Actions
En attendant une correction, vous pouvez procéder comme habituellement à condition en reprenant le contrat du mois précédent. Si ce contrat a été clôturé avant, il sera nécessaire d'ajuster l'ancienneté.
Aujourd'hui
L'anomalie se situe dans le TGRHItemAnciennete.LoadFromStream(
il y avait un traitement qui faisait appel à Getduree
Cette fonction teste si le contrat est clos (TGRHItemAnciennete.FFicheClose) qui est initialisé dans le TGRHLoaderContrat.BaseToFiche.
Après correction , on se retrouve avec un Fduree qui ne bouge plus une fois que le contrat est clos
Mais qui ne prend pas en compte les jours du dernier mois. Peut être à modifier
Les contrats CDD successifs dans le mois en cours
La problématique est de savoir si on prend l'ancienneté du dernier contrat clos le mois précédent
Ou si l'on prend l'ancienneté du contrat précédemment (mais dans ce cas il faudrait qu'il soit clos)
L'idéal serait de prendre le contrat clos du mois précédent et y ajouter le nombre de jour de chaque autre contrat dans le mois
Contrat création
- Utiliser l'ancienneté la plus grande sur les contrats antérieurs
- Reprendre les anciennetés de la dernière fiche contrat
- Reprendre les anciennetés du contrat sélectionnés
- Reprendre l'ancienneté de la personne
A faire
- Modifier la clôture pour mettre à jour la durée (ajouter le nombre de jour du mois) . En clôture individuelle et en masse
- Modifier le blob d'ancienneté pour savoir s'il faut ajouter le nombre de jour du dernier mois pour les contrat clos
- Modifier la consultation des absences pour y ajouter la zone fiche close
- Vérifier que en paye ça prend bien en compte ce qui est affiché
- Vérifier les contrats antérieurs
