[Technique] Comment fonctionne le contrôle des soldes d’absences ?

Dans AGATT, les mécanismes qui sont à l’œuvre lors de la pose par un agent d’une occupation soumise à validation, consistent à vérifier si le solde d’absences choisi par l’utilisateur est valide, c’est-à-dire si la période-cible est en cours et s’il reste du temps (jours, heures), et, à défaut, à proposer un autre solde d’absences.

Voici la description des cas de figure susceptibles d’être rencontrés par l’utilisateur.
Celle-ci nécessite quelques mises au point lexicales :
Solde en cours : solde dont la période-cible est en cours à la date de l’occupation.
Solde vide / non vide : solde dont le reliquat est inférieur ou égal à 0 / supérieur à 0.
Solde choisi : le solde choisi par l’utilisateur dans le champ "Solde" de l’éditeur des occupations.
Solde trouvé : solde en cours et non vide différent du solde choisi.
L’utilisateur peut dépasser : l’utilisateur possède le droit "Pose d’occupation : dépassement possible des soldes d’absences".

Quatre comportements pour quatre cas de figure possibles :

1. L’utilisateur a choisi un solde en cours et non vide

  • AGATT prend en compte le solde choisi, s’il trouve au moins un solde en cours et non vide.

2. L’utilisateur a choisi un solde passé

  • AGATT prend en compte le solde trouvé, s’il trouve au moins un solde en cours et non vide. Un message non bloquant s’affiche alors : "La période cible du solde d’absence choisi est terminée, le solde (libellé) va être utilisé à la place".
  • Si AGATT ne trouve que des soldes en cours mais vides :
    • Si l’utilisateur a le droit de dépasser, AGATT prend en compte le solde trouvé et un message non bloquant s’affiche : "La période cible du solde d’absence choisi est terminée, le solde (libellé) va être utilisé à la place".
    • Si l’utilisateur n’a pas le droit de dépasser, un message bloquant s’affiche : "La période cible du solde d’absence choisi est terminée, aucun autre solde n’est utilisable".
  • Si AGATT ne trouve aucun solde, un message bloquant s’affiche : "La période cible du solde d’absence choisi est terminée, aucun autre solde n’est utilisable".

3. L’utilisateur a choisi un solde en cours mais vide

  • S’il trouve au moins un solde en cours et non vide, AGATT prend en compte le solde trouvé et un message non bloquant s’affiche : "Le solde d’absence choisi est vide, le solde (libellé) va être utilisé à la place".
  • Si AGATT ne trouve que des soldes en cours mais vides :
    • si l’utilisateur a le droit de dépasser, AGATT prend en compte le solde choisi.
    • Si l’utilisateur n’a pas le droit de dépasser, un message bloquant s’affiche : "Le solde d’absence choisi est vide, aucun autre solde n’est utilisable".

4. L’utilisateur n’a pas choisi de solde

  • S’il trouve au moins un solde en cours et non vide, AGATT prend en compte le solde trouvé et un message non bloquant s’affiche : "Cette occupation doit être rattachée à un solde d’absence, le solde (libellé) va être utilisé."
  • Si AGATT ne trouve que des soldes en cours mais vides, un message bloquant s’affiche : "Cette occupation doit être rattachée à un solde d’absence mais aucun solde n’est utilisable".
  • Si AGATT ne trouve aucun solde en cours :
    • si l’agent a un solde en cours à la date de la saisie, un message bloquant s’affiche : "Cette occupation doit être rattachée à un solde d’absence mais aucun solde n’est utilisable".
    • Si l’agent n’a pas de solde en cours à la date de la saisie, la pose d’occupation est acceptée sans solde d’absences et sans message.
      NB : Ce mécanisme permet de bloquer la pose d’occupation dans le cas courant de l’agent qui souhaite commencer à poser ses congés de N+1 alors que les soldes N+1 n’ont pas encore été créés, tout en évitant que l’existence d’un solde dans un passé lointain pour un agent / un type occupation rende obligatoire de continuer éternellement à utiliser des soldes d’absences pour le même agent / le même type occupation.

Utilité principale de ces mécanismes de contrôle

La plupart des mécanismes décrits précédemment - comme les messages qui proposent d’utiliser un solde différent, par exemple - sont principalement utiles dans le cas d’une pause par cycle.

Ainsi, dans le cas courant d’une pose d’occupation sur une période de plusieurs semaines, le solde choisi pour le premier jour ne sera peut-être pas valide pour tous les jours de la période souhaitée. Par exemple, lors d’une pose de congés pendant les vacances scolaires de Noël, à cheval sur deux années civiles, il sera probablement nécessaire de basculer sur un autre solde à partir du 1er janvier.