Skip to main content
Réponse

Paramétrage enfant malade


Forum|alt.badge.img

Bonjour,

 

Je dois paramétrer une fonction calcul pour indemniser une période d’absence pour enfant malade, dans la limite de 3 jours par an et par enfant de 16 ans ou moins.
Cependant le maintien se déclenche systématiquement, même en paramétrant un enfant âgé de plus de 16 ans.

La CCN du Bois est paramétrée dans le dossier.

Voici le paramétrage en question :

 

Begin

//InhibeLegal = True

//    Absence enfant malade <= 16 ans

NbEnfant16 = NbEnfantsACharge(16,Abs.DtDeb)

//Datex = Date(1,5,2021)
//If Bul.Date >= Datex and AvenantApplicable(Datex) = True then

    Select case AffectationDADS
    Case "02":
        TypesMaintiensRegroupes = "02"
        If NbEnfant16 >= 1 then
            Maintien = True
            Carence = 0
            Nbjours1 = 3
            Pcent1 = 100

    If Maintien = True then
            TypeMaintien = Brut
            Plage = AnneeCivile
        Endif

    EndIf

    EndSelect
//Endif

End

 

 

Auriez-vous une idée de la ou les lignes posant problème ?

Merci d’avance

Antoine B.

Meilleure réponse par HERVE GUERARD

Bonjour,

 

J’ai surligné ce que j’ai modifié ou ajouté.

il me semble qu’il y a quelques lignes mal placées.

Dites-moi si ça solutionne votre problème.

Bonne soirée

Begin

//InhibeLegal = True

Maintien = False

Nbjours1 = 0

//    Absence enfant malade <= 16 ans

NbEnfant16 = NbEnfantsACharge(16,Abs.DtDeb)

//Datex = Date(1,5,2021)
//If Bul.Date >= Datex and AvenantApplicable(Datex) = True then

    Select case AffectationDADS
    Case "02":
        TypesMaintiensRegroupes = "02"
        If NbEnfant16 >= 1 then Nbjours1 = 3
            Maintien = True
            Carence = 0
            //Nbjours1 = 3
            Pcent1 = 100

 

EndSelect

 

    If Maintien = True then
            TypeMaintien = Brut
            Plage = AnneeCivile
     Endif

   // EndIf

  //  EndSelect
//Endif

End

4 commentaires

Forum|alt.badge.img+3
  • Ambassadeur
  • Réponse
  • May 2, 2025

Bonjour,

 

J’ai surligné ce que j’ai modifié ou ajouté.

il me semble qu’il y a quelques lignes mal placées.

Dites-moi si ça solutionne votre problème.

Bonne soirée

Begin

//InhibeLegal = True

Maintien = False

Nbjours1 = 0

//    Absence enfant malade <= 16 ans

NbEnfant16 = NbEnfantsACharge(16,Abs.DtDeb)

//Datex = Date(1,5,2021)
//If Bul.Date >= Datex and AvenantApplicable(Datex) = True then

    Select case AffectationDADS
    Case "02":
        TypesMaintiensRegroupes = "02"
        If NbEnfant16 >= 1 then Nbjours1 = 3
            Maintien = True
            Carence = 0
            //Nbjours1 = 3
            Pcent1 = 100

 

EndSelect

 

    If Maintien = True then
            TypeMaintien = Brut
            Plage = AnneeCivile
     Endif

   // EndIf

  //  EndSelect
//Endif

End


Forum|alt.badge.img

Bonjour,

 

Merci pour votre retour.

Cela fonctionne.

 

En revanche lorsque je saisis 2 enfants de moins de 16 ans dans la fiche salarié, une seule période de maintien de 3 jours se déclenche

 

Avez-vous une idée ?


Forum|alt.badge.img+3

Bonjour

si le nombre est 3 jours par enfant de - de 16 ans, vous pouvez remplacer

 If NbEnfant16 >= 1 then Nbjours1 = 3

par 

 If NbEnfant16 >= 1 then Nbjours1 = 3 * NbEnfant16

 

Bonne journée

 


Forum|alt.badge.img

C’est parfait, je vous remercie.

Bonne journée