Skip to main content
Réponse

maintien employeur


Forum|alt.badge.img

Bonjour

 

je cherche a mettre en place une fonction calcul suite à un accord d’entreprise concernant le maintien employeur en cas de maladie

 

l’accord permet à tout salarié de plus d’un an d’ancienneté de bénéficier d’un premier arrêt sans carence indemnisé à 100% les 30 premiers jours.

 

j’ai bien créé la question dans la fiche salarié et ait paramétré la fonction (comme suit)

 

je ne parviens pas à affiner celle ci pour que les salariés de moins d’un an ne bénéficient d’aucun complément en cas de maladie.

 

 

de plus je doit appliquer un maintien a 100% en cas d’AT (quelque soit l’ancienneté et la durée de l’arrêt)

 

Pouvez vous m’aider à corriger la fonction ?

 

merci pour votre aide 

 

 

 

 

 

 

Plage = anneecivile
Select Case AffectationDADS
        Case "08","04":
            //    Maladie Professionnelle     Accident de Travail
                Carence = 0
                Nbjours1 = 9999
                Pcent1 = 100

        Case "09":
        Carence = 3
        If SAL.S41.G01.00.015.002 = "01" and emp.anciennete >= 36 then Carence = 0

    //    if premierarret = true then
    //        Maintien = true
    //        Carence = 0
    //        Nbjours1 = 30
    //        Pcent1 = 100
    //    Endif

        //Conditions 1er arrêt au cours de l'année civile

    


                  If emp.anciennete >=12 then

            madatedebut = date(1,1,bul.annee)
            madatefin = dateadddays ( ABS.DtDeb,-1)
            Nba = NombreAbsences( madatedebut, madatefin, "09")
            If SAL.BOOL[1] = true then Nba = 1
            If SAL.BOOL[2] = true then Nba = 0

            if Nba = 0 then 

                Maintien = true
                Carence = 0
                Nbjours1 = 30
                Pcent1 = 100

                If emp.anciennete >= 12 then
                    Nbjours2 = 30    
                    Pcent2 = 200 / 3
                Endif
                If emp.anciennete >= 72 then
                    Nbjours2 = 10    
                    Pcent2 = 90
                    Nbjours3 = 40    
                    Pcent3 = 200 / 3
                Endif
                If emp.anciennete >= 132 then
                    Nbjours2 = 20    
                    Pcent2 = 90
                    Nbjours3 = 50    
                    Pcent3 = 200 / 3
                Endif
                If emp.anciennete >= 192 then
                    Nbjours2 = 30    
                    Pcent2 = 90
                    Nbjours3 = 60    
                    Pcent3 = 200 / 3
                Endif
                If emp.anciennete >= 252 then
                    Nbjours1 = 40
                    Pcent1 = 90
                    Nbjours2 = 70    
                    Pcent2 = 200/3
                    
                            Endif
                If emp.anciennete >= 312 then
                    Nbjours1 = 50
                    Pcent1 = 90
                    Nbjours2 = 80    
                    Pcent2 = 200 / 3
                    
                Endif

                    If emp.anciennete >= 372 then
                    Nbjours1 = 60
                    Pcent1 = 90
                    Nbjours2 = 90    
                    Pcent2 = 200 / 3
                    
                Endif


        

            Endif
        Endif
EndSelect

Meilleure réponse par HERVE GUERARD

Bonjour

“je ne parviens pas à affiner celle ci pour que les salariés de moins d’un an ne bénéficient d’aucun complément en cas de maladie.”

Peut être en ajoutant 

Maintien = False

 

juste avant

 If emp.anciennete >=12 then

 

 

 

Bonne journée

 

 

 

9 commentaires

Forum|alt.badge.img+3
  • Ambassadeur
  • Réponse
  • August 13, 2024

Bonjour

“je ne parviens pas à affiner celle ci pour que les salariés de moins d’un an ne bénéficient d’aucun complément en cas de maladie.”

Peut être en ajoutant 

Maintien = False

 

juste avant

 If emp.anciennete >=12 then

 

 

 

Bonne journée

 

 

 


Forum|alt.badge.img
  • Auteur
  • Explorateur
  • August 13, 2024

Bonjour

 

merci pour votre aide 

 

cela fonctionne bien pour cette correction merci !

 

il ne reste plus qu’a appliquer le maintien a 100% en d ‘AT sans condition :-) 


Forum|alt.badge.img+3

Ana

ajouter

Maintien = true

après

 //    Maladie Professionnelle     Accident de Travail

 

Bonne journée


Forum|alt.badge.img
  • Auteur
  • Explorateur
  • August 13, 2024

j’ai bien essayé mais celui ci ne se déclenche pas sur le bulletin

 

 


Forum|alt.badge.img+3

Ci dessous la fonction de silae pour la CCNA020

Select case AffectationDADS
Case "04","08","11":
    //    AT & MP & ATT
    TypesMaintiensRegroupes = "04,08,09,11,19"
    Maintien = True
    Carence = 0
    Nbjours1 = 180
    Pcent1 = 100
Case "09","19":……….
 

je ne vois pas ce qui pourrait clocher pour l’AT dans votre fonction

 

essayer en ajoutant la ligne types maintiens ou en laissant juste “04” pour voir

 

bonne journée


Forum|alt.badge.img
  • Auteur
  • Explorateur
  • August 13, 2024

non toujours pas…

ce qui est étrange c’est que le calcul est bon mais que le complément ne se déclenche pas sur le bulletin...


Forum|alt.badge.img+3

Il me semble qu’il vous manque le type de maintien

à ajouter à la fin avant 

If Maintien = True then
    TypeMaintien =  Brut

EndIf

 

bonne journée
 

 

 


Forum|alt.badge.img
  • Auteur
  • Explorateur
  • August 13, 2024

ouiiiiiiiiiiiiii 

 

c’est parfait 

 

merci bcp !!!!


Bonjour, 

 

Essayez celui-ci : 

Select Case AffectationDADS
    Case "08","04":
        // Maladie Professionnelle     Accident de Travail
        Carence = 0
        Nbjours1 = 9999
        Pcent1 = 100
    Case "09":
        Carence = 3
        If SAL.S41.G01.00.015.002 = "01" and emp.anciennete >= 36 then Carence = 0
        
        // Conditions 1er arrêt au cours de l'année civile
        If emp.anciennete >= 12 then
            madatedebut = date(1,1,bul.annee)
            madatefin = dateadddays(ABS.DtDeb,-1)
            Nba = NombreAbsences(madatedebut, madatefin, "09")
            If SAL.BOOL[1] = true then Nba = 1
            If SAL.BOOL[2] = true then Nba = 0
            
            if Nba = 0 then 
                Maintien = true
                Carence = 0
                
                If emp.anciennete >= 12 and emp.anciennete < 72 then
                    Nbjours1 = 30
                    Pcent1 = 100
                    Nbjours2 = 30
                    Pcent2 = 200 / 3
                ElseIf emp.anciennete >= 72 and emp.anciennete < 132 then
                    Nbjours1 = 30
                    Pcent1 = 100
                    Nbjours2 = 10
                    Pcent2 = 90
                    Nbjours3 = 40
                    Pcent3 = 200 / 3
                ElseIf emp.anciennete >= 132 and emp.anciennete < 192 then
                    Nbjours1 = 30
                    Pcent1 = 100
                    Nbjours2 = 20
                    Pcent2 = 90
                    Nbjours3 = 50
                    Pcent3 = 200 / 3
                ElseIf emp.anciennete >= 192 and emp.anciennete < 252 then
                    Nbjours1 = 30
                    Pcent1 = 100
                    Nbjours2 = 30
                    Pcent2 = 90
                    Nbjours3 = 60
                    Pcent3 = 200 / 3
                ElseIf emp.anciennete >= 252 and emp.anciennete < 312 then
                    Nbjours1 = 40
                    Pcent1 = 90
                    Nbjours2 = 70
                    Pcent2 = 200/3
                ElseIf emp.anciennete >= 312 and emp.anciennete < 372 then
                    Nbjours1 = 50
                    Pcent1 = 90
                    Nbjours2 = 80
                    Pcent2 = 200 / 3
                ElseIf emp.anciennete >= 372 then
                    Nbjours1 = 60
                    Pcent1 = 90
                    Nbjours2 = 90
                    Pcent2 = 200 / 3
                End If
            End If
        End If
End Select