Skip to main content

Bonjour,

Pour mon client, je souhaite créer une prime applicable à l’ensemble des collaborateurs.

Le client souhaite que cette prime corresponde à 800€par an pour un salarié à taux plein.

Je dois donc proratisé la prime en fonction de sa durée de contrat, et proratisé en fonction des absences du mois (hors CP).

Mon calcul doit donc être:

(800 / 12) X (Durée contrat mensuelle / 151,67) X (durée présence du mois / durée théorique présence du mois)

Je ne n’arrive pas à parametrer cette prime.

Pouvez-vous m’aider?

 

Begin

Montant = 800
Datedeb=Date(1,datemonth(bul.date),dateyear(bul.date))
Datefin = Bul.date
NbjMois = Diffdays(Datedeb,Bul.date)

CumNbJAbs = NbJCalendairesAbsences(DateDeb, DateFin, "04+08+54+11+09+32+33+69")

  > Ajouter les codes absences que vous souhaitez comptabiliser dans les jours d’absence


ProrataTP = BUL.NBHMCONTRAT/151.67
Prorata = (NbjMois - CumNbJAbs)/NbjMois

    Exec("Lprime_D05")
    Bases = Saisie("Prime annuelle",(Montant/12)*Prorata*ProrataTP)

> Le montant sera modifiable au besoin dans la saisie des éléments variables


    methodeCalcul = 2
    Liblong="Prime annuelle"
    Exec ("GenereLprime")
End


Bonjour,

Je me suis permis d’apporter un complément dans le profil proposé pour tenir compte des jours si le salarié arrive après le 1er du mois dans le prorata le cas des forfaits jours qui ne peut se proratiser en heures et la possibilité d’inhiber le déclenchement en mettant -1 en colonne d’EV au cas ou.

Begin

Montant = 800
Datedeb = bul.periode
If emp.dtdebcontrat > Datedeb then datedeb = emp.dtdebcontrat 
Datefin = Bul.date
NbjMois = Diffdays(Datedeb,Bul.date)

CumNbJAbs = NbJCalendairesAbsences(DateDeb, DateFin, "04+08+54+11+09+32+33+69")

If BUL.S41.G01.00.013 <> "10" then
    ProrataTP = BUL.NBHMCONTRAT / 151.67
else
    // forfait jours
    ProrataTP = BUL.FJNBJAN / 218
endif

Prorata = (NbjMois - CumNbJAbs) / bul.NbjMois
Montant  = ((Montant / 12) * ProrataTP) * Prorata

ForcMontant  = Saisie("Prime annuelle",Montant)
If ForcMontant <> 0 then Montant = ForcMontant  
If ForcMontant  = -1 then Montant = 0

If Montant <> 0 then
    Exec("Lprime_D05")
    Bases = Montant
    methodeCalcul = 2
    Liblong="Prime annuelle"
    Exec ("GenereLprime")
endif

End

 

Bonne fin de journée


Bonjour,

 

Dans quelle doc puis-je trouver à quelles absences correspondent ces codes ?

Merci,

Christian


Bonjour,

 

Dans Synthese, absence

le code dans la colonne affectation DADS

bonne journée


Bonjour,

 

Merci Hervé.

 

Slts.


Commenter