Skip to main content

Bonjour,

Je souhaite créer une prime de 13e mois avec une question salarié :

Si la case est cochée alors versée mensuellement soit 1/12 du salaire de base

Sinon elle est versée en 2 fois (juin et novembre).

J’ai tenté mais cela ne ressort pas sur mes bulletins, avez vous la solution ? je vous colle mon profil ci dessous.

Merci d’avance

 

 

Begin

//    Treizième mois

If Emp.Anciennete > 0 then

    If sal.bool>2] = true then 
    
    //    Versement chaque mois
        Liblong = "Avance 13e mois"
        Prorata = 1 / 12
        Endif

    Else
        //    Versement en juin & novembre
            Liblong = "Prime de 13ème mois"

        If Bul.SortiCeMois = True then
            If Bul.Mois <= 6 then
                Prorata = Bul.Mois / 12
            Else
                Prorata = (Bul.Mois - 6) / 12
            Endif
        Else
            If Bul.Mois = 6 or Bul.Mois = 11 then Prorata = 1 / 2
    
    Endif

    Endif    

End

Bonjour

 

Il manque toute la partie exécution de la prime (sauf si vous l’avez stockée ailleurs)

 


Bonjour

 

Il manque toute la partie exécution de la prime (sauf si vous l’avez stockée ailleurs)

 

Merci en effet ca ne pouvait pas fonctionner.

Par contre j’ai essayé d’insérer le prorata en cas de sortie, mais j’ai une particularité que je n’arrive pas à faire.

c’est une prime calculé sur l’année civile. Donc quand un salarié sort en décembre il n’a pas de prime par contre s’il sort au 31 janvier il a 31/365e de la prime (ce calcul est bon)

Mais quand  la sortie est en décembre, il me met un 13e mois complet. Pouvez vous m’aider ?

Je colle mon profil ci après.

Merci d’avance et bonne fête de fin d’année.


begin

//    prime de fin d'année

If SAL.BOOLB2] = false then


    If Bul.SortiCeMois = False then
        if Emp.anciennete > 00 and (bul.mois = 6 or bul.mois = 11) Then
            Exec("Lprime_D05")
            methodeCalcul = 2
            Bases = BUL.SALAIREDEBASE / 2
            z = saisie("13eMois",0)
            If z > 0 then Bases = z
            if z = -1 then Bases = 0
            if Bases <> 0 then Exec ("GenereLprime")
        endif
    else
        if Emp.anciennete > 00 Then
            Exec("Lprime_D05")
            methodeCalcul = 2

            nbjt = DiffDays (date(1,1,bul.annee), date(31,12,bul.annee))
            dtdeb = date(1,1,bul.annee)
            if dtdeb < emp.dtdeb then dtdeb = emp.dtdeb
            dtfin = bul.date
            nbj = DiffDays (dtdeb, dtfin)
            Bases = bul.salairedebase / nbjt * nbj
            Memo = "Fin année : " + bul.salairedebase + " / " + nbjt + " * " + nbj
            Call rem(Memo)
            z = saisie("13eMois",0)
            If z > 0 then Bases = z
            if z = -1 then Bases = 0
            if Bases <> 0 then Exec ("GenereLprime")
        endif
    endif

Endif

    If SAL.BOOLI2] = true then
    
        if Emp.anciennete > 0 and (bul.mois = 1 or bul.mois = 2 or bul.mois = 3 or bul.mois = 4 or bul.mois = 5 or bul.mois = 7 or bul.mois = 8 or bul.mois = 9 or bul.mois = 10 or bul.mois = 12) Then
            Exec("Lprime_D05")
            liblong = "Avance 13e mois"
            methodeCalcul = 2
            Bases = BUL.SALAIREDEBASE / 12
            z = saisie("13eMois",0)
            If z > 0 then Bases = z
            if z = -1 then Bases = 0
            if Bases <> 0 then Exec ("GenereLprime")
        endif

        if Emp.anciennete > 0 and (bul.mois = 6 or bul.mois = 11) Then
            Exec("Lprime_D05")
            liblong = "Prime 13e mois"
            methodeCalcul = 2
            Bases = BUL.SALAIREDEBASE / 12
            z = saisie("13eMois",0)
            If z > 0 then Bases = z
            if z = -1 then Bases = 0
            if Bases <> 0 then Exec ("GenereLprime")
        endif

    Endif

End


Bonjour,

Je vous invite à transmettre votre demande à nos équipes d’onboarding via le formulaire d’assistance afin que ces dernières procèdent à des tests et correctifs du paramétrage au besoin.

Je vous souhaite une agréable journée.


Commenter