Skip to main content
Répondu

Paramétrage spécifique prime ancienneté Métallurgie


Bonjour,

Est-ce que quelqu’un aurait sauvegardé le paramétrage applicable à la prime d’ancienneté pour l’ancienne CCN territoriale des Vosges (M092) ?

Car mon client souhaiterait sauvegarder ce qui était fait avant, et malgré une demande spécifique de paramétrage effectuée à Silae Onboarding fin janvier personne ne me répond…

Merci d’avance.

Bonjour, 

Nous avons le même problématique…

Avez-vous réussi à avoir réponse? 


Bonjour,

Oui Silae Onborading a répondu à ma demande de paramétrage.

Souhaitez vous une copie du paramétrage avancé de la prime d’ancienneté pour voir si cela correspond à ce que vous attendez ?

 


 

Bonjour,

Oui Silae Onborading a répondu à ma demande de paramétrage.

Souhaitez vous une copie du paramétrage avancé de la prime d’ancienneté pour voir si cela correspond à ce que vous attendez ?

 

Oh oui je veux bien ! Merci


Begin
If bul.annee >= 2024 then     Bul.CCN = Bul.CCT

// AvecHNE = Avec Heures non effectives de nature 30 si false on ne les prend plus
AvecHNE = True

ForceTauxS = 0
ForceBaseS = 0.0
ComplementBase01 = 0.0
Maintien30P = ETA.CcnBoolo11]
MemoMAJHS = ""

Include("INIT-PARAMD01")
Include("INIT-D01")

If Ste.BaseCalculAnciennete = 1 Then
    Tx = Bul.TauxHoraire
    Ref = "salaire de base"
Else
    Tx = Bul.SalMinConvH
    Ref = "minimum conventionnel"
EndIf

// #12526 - HAN 10/10/22 - Inclure majo HS
If Bul.Ccn = "M067" Then
    If Bul.S41.G01.00.013 <> 10 Then
        Bul.TauxHoraireHS = Round(Bul.TauxHoraireHS,4)
        Bul.TauxHoraire = Round(Bul.TauxHoraire,4)
        If Bul.TauxHoraireHS <> Bul.TauxHoraire Then
            MaJHS = Bul.TauxHoraireHS - Bul.TauxHoraire
            MaJHS = Round(MaJHS,4)
            Tx = Round(Tx,4)
            OldTx = Tx
            Tx = Tx + MaJHS
            Tx = Round(Tx,4)
            MemoMAJHS = "Taux horaire conventionnel avec majoration HS : " + Tx + " = " + OldTx + " + " + MaJHS
        EndIf
    EndIf
EndIf

//Ni 21022023 #37357 changement fonction pour prise en compte évo du coef suite ancienneté dans le grade
//If Tx = 0.0 then Tx = (GarMinConv.An(Emp.Classification) / 12) / 151.67
If Tx = 0.0 then Tx = (Bul.GarminconvAn / 12) / 151.67
If Bul.S41.G01.00.013 = 10 Then
    if BUL.FJNBJANCONTIENTJS = true then
        FJ = BUL.FJNBJAN - 1
    else
        FJ = BUL.FJNBJAN
    Endif
    if FJ > 217 then FJ = 217
    DureeTravail = 151.67
    If Ste.BaseCalculAnciennete = 1 then
        bb1 = bul.salairedebase
        BB = bb1 + Bul.MtAbsences
        // -------------------------------------------------------
        memo = "Prime anciennete sur salaire de base forfait jour"
        call rem( Memo )
        memo = "Base  pondérée par les absences : " + BB
        call rem( Memo )
    Else
        //Modif CP 07072020 supression de la majoration des 30%
        if Maintien30P = false then
            bb1 = Round( tx * 151.67 , 2 )
            memo1 = "Base de référence (217 jours sans JS) minimum conventionnel   :   " + BB1
        else
            bb1 = Round( tx * 151.67 , 2 ) * 1.3
            memo1 = "Base de référence (217 jours sans JS) minimum conventionnel majoré de 30%    :   " + BB1
            DureeTravail = DureeTravail * 1.3
        endif

        BB = Round ( bb1 * (FJ / 217) , 2 )
        // -------------------------------------------------------
        memo = "Prime anciennete sur Minimum conventionnel majoré forfait jour"
        call rem( Memo )
        call rem( Memo1 )
        memo = "Base pondérée par le contrat annuel " + FJ + " jours :   " + BB
        call rem( Memo )
    EndIf
    DureeTravail = Round(DureeTravail * (FJ/217), 2)
    // -------------------------------------------------------
Else
    // Employe horaire
    BB = Tx * Bul.NbhmN
    DureeTravail = Bul.NbhmN

    ii = 0
    Do
        ii = ii + 1
        If ii > HMnombre() Then Exit
        BCCumul = True
        If AvecHNE = False And HMNature(ii) = 30 Then BCCumul = False
        If BCCumul = True Then
            HMNbH_Coeff = HMCoeffv(ii) * HMnbh(ii)
            BB = BB + Tx * HMNbH_Coeff
            DureeTravail = DureeTravail + HMNbH_Coeff
        EndIf
    Loop
    
    BB = Round (BB ,  2)
    BB1 =  Round ( Tx * 151.67  ,2 )
    // -------------------------------------------------------
    memo = "Prime anciennete sur " + Ref
    call rem( Memo )
    If MemoMAJHS <> "" Then Call Rem(MemoMAJHS)
    memo = "Base de référence (151.67) " + Ref + " : " + BB1
    call rem( Memo )
    memo = "Base  pondérée  par  les  heures  travaillées       :   " + BB
    call rem( Memo )
    // -------------------------------------------------------
EndIf

Mois = Emp.Anciennete

Tauxs = 0
DateM063 = Date(12,07,2013)

Select case Bul.CCN
    Case "M022":
        //    Métal Alpes-Maritimes : mois suivant l'acquisition de l'ancienneté
        If Mois > 36 then
            Tauxs = 3
            Bases = BB
            If Mois > 48 then
                Do
                    Tauxs = Tauxs + 1
                    Mois = Mois - 12
                    If Mois < 48 then exit
                    If Tauxs > 15 Then Exit
                Loop
                If Tauxs > 15 then Tauxs = 15
            Endif
        Endif
    Case "M023":
        //    Métal Ardennes : idem national + 18% à 20 ans
        If Mois >= 36 then
            Tauxs = 3
            Bases = BB
            If Mois >= 48 then
                Do
                    Tauxs = Tauxs + 1
                    Mois = Mois - 12
                    If Mois < 48 then Exit
                    If Tauxs > 15 then Exit
                Loop
                If Tauxs > 15 then Tauxs = 15
            Endif
        Endif
        If Emp.Anciennete >= 240 and BB <> 0 then Tauxs = 18
    Case "M035":
        //    Métal Doubs : mois suivant l'acquisition de l'ancienneté
        DateCCN = Date(29,1,2017)
        If Bul.Date >= DateCCN and AvenantApplicable(DateCCN) = True then
            //    Révision CCN
            If Mois > 36 then
                Tauxs = 3
                Bases = BB
                If Mois > 48 then
                    Do
                        Tauxs = Tauxs + 1
                        Mois = Mois - 12
                        If Mois < 48 then exit
                        If Tauxs > 15 Then Exit
                    Loop
                    If Tauxs > 15 then Tauxs = 15
                Endif
            Endif
        Else
            If Mois >= 36 and BB <> 0 then
                Tauxs = 3
                Bases = BB
                If Mois >= 48 then
                    Do
                        Tauxs = Tauxs + 1
                        Mois = Mois - 12
                        If Mois < 48 then Exit
                        If Tauxs > 15 then Exit
                    Loop
                    If Tauxs > 15 then Tauxs = 15
                Endif
            Endif
        Endif
    Case "M063":
        // Taux pour la CCN M063
        if Bul.PeriodeTaux >= DateM063 And Avenantapplicable (DateM063) = True Then
            if Mois >= 24 then
                Tauxs = 2
                Bases = BB
                If Mois >= 36 then
                    do
                        Tauxs = Tauxs + 1
                        Mois = Mois - 12
                        If Mois < 36 then exit
                        If Tauxs > 15 Then Exit
                    Loop
                    If Tauxs > 15 then Tauxs = 15
                endif
            endif
        endif
    Case "M108":
        // Taux pour CCN Région Vimeu
        If Mois >= 36 then
            Tauxs = 3
            Bases = BB
            If Mois >= 72 then
                Do
                    Tauxs = Tauxs + 3
                    Mois = Mois - 36
                    If Mois < 72 then Exit
                    If Tauxs > 15 then Exit
                Loop
                If Tauxs > 15 then Tauxs = 15
            Endif
        Endif
    Default:
        //    Autres CCN METAL
        If Mois >= 36 then
            Tauxs = 3
            Bases = BB
            If Mois >= 48 then
                Do
                    Tauxs = Tauxs + 1
                    Mois = Mois - 12
                    If Mois < 48 then Exit
                    If Tauxs > 15 then Exit
                Loop
                If Tauxs > 15 then Tauxs = 15
            Endif
        Endif
EndSelect

// #60396
TauxSansSAbs = TauxS
If BB = 0 Then TauxS = 0

Bases = Bases + ComplementBase01

If ForceTauxS <> 0 Then TauxS = ForceTauxS
If ForceBaseS <> 0 Then BaseS = ForceBaseS

PrimeAnc = Bases * tauxs / 100

Call Stockevar("_BASEANC",Bases)
Call Stockevar("PANC", PrimeAnc )
If Tauxs > 0 then Exec("GenereLprime")

End


Begin
If bul.annee >= 2024 then     Bul.CCN = Bul.CCT

// AvecHNE = Avec Heures non effectives de nature 30 si false on ne les prend plus
AvecHNE = True

ForceTauxS = 0
ForceBaseS = 0.0
ComplementBase01 = 0.0
Maintien30P = ETA.CcnBoolo11]
MemoMAJHS = ""

Include("INIT-PARAMD01")
Include("INIT-D01")

If Ste.BaseCalculAnciennete = 1 Then
    Tx = Bul.TauxHoraire
    Ref = "salaire de base"
Else
    Tx = Bul.SalMinConvH
    Ref = "minimum conventionnel"
EndIf

// #12526 - HAN 10/10/22 - Inclure majo HS
If Bul.Ccn = "M067" Then
    If Bul.S41.G01.00.013 <> 10 Then
        Bul.TauxHoraireHS = Round(Bul.TauxHoraireHS,4)
        Bul.TauxHoraire = Round(Bul.TauxHoraire,4)
        If Bul.TauxHoraireHS <> Bul.TauxHoraire Then
            MaJHS = Bul.TauxHoraireHS - Bul.TauxHoraire
            MaJHS = Round(MaJHS,4)
            Tx = Round(Tx,4)
            OldTx = Tx
            Tx = Tx + MaJHS
            Tx = Round(Tx,4)
            MemoMAJHS = "Taux horaire conventionnel avec majoration HS : " + Tx + " = " + OldTx + " + " + MaJHS
        EndIf
    EndIf
EndIf

//Ni 21022023 #37357 changement fonction pour prise en compte évo du coef suite ancienneté dans le grade
//If Tx = 0.0 then Tx = (GarMinConv.An(Emp.Classification) / 12) / 151.67
If Tx = 0.0 then Tx = (Bul.GarminconvAn / 12) / 151.67
If Bul.S41.G01.00.013 = 10 Then
    if BUL.FJNBJANCONTIENTJS = true then
        FJ = BUL.FJNBJAN - 1
    else
        FJ = BUL.FJNBJAN
    Endif
    if FJ > 217 then FJ = 217
    DureeTravail = 151.67
    If Ste.BaseCalculAnciennete = 1 then
        bb1 = bul.salairedebase
        BB = bb1 + Bul.MtAbsences
        // -------------------------------------------------------
        memo = "Prime anciennete sur salaire de base forfait jour"
        call rem( Memo )
        memo = "Base  pondérée par les absences : " + BB
        call rem( Memo )
    Else
        //Modif CP 07072020 supression de la majoration des 30%
        if Maintien30P = false then
            bb1 = Round( tx * 151.67 , 2 )
            memo1 = "Base de référence (217 jours sans JS) minimum conventionnel   :   " + BB1
        else
            bb1 = Round( tx * 151.67 , 2 ) * 1.3
            memo1 = "Base de référence (217 jours sans JS) minimum conventionnel majoré de 30%    :   " + BB1
            DureeTravail = DureeTravail * 1.3
        endif

        BB = Round ( bb1 * (FJ / 217) , 2 )
        // -------------------------------------------------------
        memo = "Prime anciennete sur Minimum conventionnel majoré forfait jour"
        call rem( Memo )
        call rem( Memo1 )
        memo = "Base pondérée par le contrat annuel " + FJ + " jours :   " + BB
        call rem( Memo )
    EndIf
    DureeTravail = Round(DureeTravail * (FJ/217), 2)
    // -------------------------------------------------------
Else
    // Employe horaire
    BB = Tx * Bul.NbhmN
    DureeTravail = Bul.NbhmN

    ii = 0
    Do
        ii = ii + 1
        If ii > HMnombre() Then Exit
        BCCumul = True
        If AvecHNE = False And HMNature(ii) = 30 Then BCCumul = False
        If BCCumul = True Then
            HMNbH_Coeff = HMCoeffv(ii) * HMnbh(ii)
            BB = BB + Tx * HMNbH_Coeff
            DureeTravail = DureeTravail + HMNbH_Coeff
        EndIf
    Loop
    
    BB = Round (BB ,  2)
    BB1 =  Round ( Tx * 151.67  ,2 )
    // -------------------------------------------------------
    memo = "Prime anciennete sur " + Ref
    call rem( Memo )
    If MemoMAJHS <> "" Then Call Rem(MemoMAJHS)
    memo = "Base de référence (151.67) " + Ref + " : " + BB1
    call rem( Memo )
    memo = "Base  pondérée  par  les  heures  travaillées       :   " + BB
    call rem( Memo )
    // -------------------------------------------------------
EndIf

Mois = Emp.Anciennete

Tauxs = 0
DateM063 = Date(12,07,2013)

Select case Bul.CCN
    Case "M022":
        //    Métal Alpes-Maritimes : mois suivant l'acquisition de l'ancienneté
        If Mois > 36 then
            Tauxs = 3
            Bases = BB
            If Mois > 48 then
                Do
                    Tauxs = Tauxs + 1
                    Mois = Mois - 12
                    If Mois < 48 then exit
                    If Tauxs > 15 Then Exit
                Loop
                If Tauxs > 15 then Tauxs = 15
            Endif
        Endif
    Case "M023":
        //    Métal Ardennes : idem national + 18% à 20 ans
        If Mois >= 36 then
            Tauxs = 3
            Bases = BB
            If Mois >= 48 then
                Do
                    Tauxs = Tauxs + 1
                    Mois = Mois - 12
                    If Mois < 48 then Exit
                    If Tauxs > 15 then Exit
                Loop
                If Tauxs > 15 then Tauxs = 15
            Endif
        Endif
        If Emp.Anciennete >= 240 and BB <> 0 then Tauxs = 18
    Case "M035":
        //    Métal Doubs : mois suivant l'acquisition de l'ancienneté
        DateCCN = Date(29,1,2017)
        If Bul.Date >= DateCCN and AvenantApplicable(DateCCN) = True then
            //    Révision CCN
            If Mois > 36 then
                Tauxs = 3
                Bases = BB
                If Mois > 48 then
                    Do
                        Tauxs = Tauxs + 1
                        Mois = Mois - 12
                        If Mois < 48 then exit
                        If Tauxs > 15 Then Exit
                    Loop
                    If Tauxs > 15 then Tauxs = 15
                Endif
            Endif
        Else
            If Mois >= 36 and BB <> 0 then
                Tauxs = 3
                Bases = BB
                If Mois >= 48 then
                    Do
                        Tauxs = Tauxs + 1
                        Mois = Mois - 12
                        If Mois < 48 then Exit
                        If Tauxs > 15 then Exit
                    Loop
                    If Tauxs > 15 then Tauxs = 15
                Endif
            Endif
        Endif
    Case "M063":
        // Taux pour la CCN M063
        if Bul.PeriodeTaux >= DateM063 And Avenantapplicable (DateM063) = True Then
            if Mois >= 24 then
                Tauxs = 2
                Bases = BB
                If Mois >= 36 then
                    do
                        Tauxs = Tauxs + 1
                        Mois = Mois - 12
                        If Mois < 36 then exit
                        If Tauxs > 15 Then Exit
                    Loop
                    If Tauxs > 15 then Tauxs = 15
                endif
            endif
        endif
    Case "M108":
        // Taux pour CCN Région Vimeu
        If Mois >= 36 then
            Tauxs = 3
            Bases = BB
            If Mois >= 72 then
                Do
                    Tauxs = Tauxs + 3
                    Mois = Mois - 36
                    If Mois < 72 then Exit
                    If Tauxs > 15 then Exit
                Loop
                If Tauxs > 15 then Tauxs = 15
            Endif
        Endif
    Default:
        //    Autres CCN METAL
        If Mois >= 36 then
            Tauxs = 3
            Bases = BB
            If Mois >= 48 then
                Do
                    Tauxs = Tauxs + 1
                    Mois = Mois - 12
                    If Mois < 48 then Exit
                    If Tauxs > 15 then Exit
                Loop
                If Tauxs > 15 then Tauxs = 15
            Endif
        Endif
EndSelect

// #60396
TauxSansSAbs = TauxS
If BB = 0 Then TauxS = 0

Bases = Bases + ComplementBase01

If ForceTauxS <> 0 Then TauxS = ForceTauxS
If ForceBaseS <> 0 Then BaseS = ForceBaseS

PrimeAnc = Bases * tauxs / 100

Call Stockevar("_BASEANC",Bases)
Call Stockevar("PANC", PrimeAnc )
If Tauxs > 0 then Exec("GenereLprime")

End

Merci ! 

C’est une sacré fonction de calcul pas sûr de réussir à la mettre moi même en place...


Commenter