Skip to main content
Répondu

Paramétrage prime - profils : calcul nbr jours ouvrés M-1


Bonjour à tous,

Je paramètre une prime proratisée en fonction des absence en jours ouvrés du mois précédent (Nombre de jours d’absence M-1/Nombre jours ouvrés pour le salarié M-1). 

Pour le calcul du nombre d’absences pas de soucis de paramétrage, mais je n’arrive pas à récupérer le nombre de jours ouvrés du salarié sur M-1.

quelqu’un aurait-il une solution à me proposer ?

Meilleure réponse par Rachid

Aurèlie, 

 

Il faudrait pour cela stocker chaque mois votre variable de jours ouvrés puis ajouter un cumulstockvar pour le mois suivant de cette manière :
 
x = Bul.NbjOuvres

datedeb = DateAddMonths( bul.periode, -1)
datefin = DateAddDays( bul.periode,-1 )
 
Call stockevar("x",x)
xx = cumulstockvar(datedeb,datefin,"x")

Vous avez également un stockvar par défaut de Silae qui pourrait convenir : NBJREELS_JO

Vous pouvez l’utilisé avec la fonction CumulStockvar

Rachid

Afficher l'original
Ce sujet vous a-t-il aidé à trouver une réponse à votre question?

5 commentaires

Rachid
Formateur certifié
Forum|alt.badge.img+1
  • Formateur certifié
  • 171 commentaires
  • Réponse
  • 21 mars 2024

Aurèlie, 

 

Il faudrait pour cela stocker chaque mois votre variable de jours ouvrés puis ajouter un cumulstockvar pour le mois suivant de cette manière :
 
x = Bul.NbjOuvres

datedeb = DateAddMonths( bul.periode, -1)
datefin = DateAddDays( bul.periode,-1 )
 
Call stockevar("x",x)
xx = cumulstockvar(datedeb,datefin,"x")

Vous avez également un stockvar par défaut de Silae qui pourrait convenir : NBJREELS_JO

Vous pouvez l’utilisé avec la fonction CumulStockvar

Rachid


Merci Beaucoup Rachid, 

ca fonctionne!

Aurélie


Bonjour,

J’ai besoin de paramétrer une prime 5 € par jour travaillé du mois précédent.

Je pense que cela rejoint ce que vous avez fait mais je n’arrive pas du tout à dupliquer votre paramétrage.

Pourriez vous m’aider svp?

Merci


Bonjour,

Voici un extrait de ce que j’ai fait pour que ça fonctionne :

//Jours ouvrés travaillés par le salarié M-1

Nbjouvrés = BUL.NBJTRAVAILLESTHEORIQUE

Call stockevar("Nbjouvrés",Nbjouvrés)

datedeb = DateAddMonths( bul.periode, -1)

datefin = DateAddDays( bul.periode, -1)

Joursouvrés = cumulstockvar(datedeb,datefin,"Nbjouvrés")

// Abs M-1 régularisées sur M

Reg = Bul.NbPaniers - Bul.NbjTravailles

// Déduction absence y compris CP M-1 (pour cette partie là, il doit y avoir mieux à faire mais comme ça , ça fonctionne)

            If bul.mois = 1 then Abs = CalculeDureeAbsences(date(1,12,bul.Annee-1),date(31,12,bul.Annee-1),"", 1)

            If bul.mois = 2 then Abs = CalculeDureeAbsences(date(1,1,bul.Annee),date(31,1,bul.Annee),"", 1)

            If bul.mois = 3 then Abs = CalculeDureeAbsences(date(1,2,Bul.Annee),date(28,2,Bul.Annee),"", 1)

            If bul.mois = 4 then Abs = CalculeDureeAbsences(date(1,3,bul.Annee),date(31,3,Bul.Annee),"", 1)

            If bul.mois = 5 then Abs = CalculeDureeAbsences(date(1,4,Bul.Annee),date(30,4,bul.Annee),"", 1)

            If bul.mois = 6 then Abs = CalculeDureeAbsences(date(1,5,Bul.Annee),date(31,5,Bul.Annee),"", 1)

            If bul.mois = 7 then Abs = CalculeDureeAbsences(date(1,6,Bul.Annee),date(30,6,Bul.Annee),"", 1)

            If bul.mois = 8 then Abs = CalculeDureeAbsences(date(1,7,Bul.Annee),date(31,7,Bul.Annee),"", 1)

            If bul.mois = 9 then Abs = CalculeDureeAbsences(date(1,8,Bul.Annee),date(31,8,Bul.Annee),"", 1)

            If bul.mois = 10 then Abs = CalculeDureeAbsences(date(1,9,Bul.Annee),date(30,9,Bul.Annee),"", 1)

            If bul.mois = 11 then Abs = CalculeDureeAbsences(date(1,10,Bul.Annee),date(31,10,Bul.Annee),"", 1)

            If bul.mois = 12 then Abs =

CalculeDureeAbsences(date(1,11,Bul.Annee),date(30,11,Bul.Annee),"", 1)

MethodeCalcul = 3

Bases = 5

Tauxs = Joursouvrés-abs+Reg

Exec ("GenereLprime")
 

Sur le premier mois d’application de votre paramétrage, vous serez obligé de faire une gestion manuelle de votre prime (la variable n’étant pas stockée sur le mois précédent)

J’espère vous avoir aidé.

Aurélie


Super merci .

 

Finalement je me suis contenté de :

Begin

Nbjouvrés = BUL.NBJTRAVAILLES
Call stockevar("Nbjouvrés",Nbjouvrés)
datedeb = DateAddMonths( bul.periode, -1)
datefin = DateAddDays( bul.periode, -1)
Joursouvrés = cumulstockvar(datedeb,datefin,"Nbjouvrés")


Exec("Lprime_D02.CP")
methodeCalcul = 2
Bases = Joursouvrés
Tauxs = 5
Liblong = "Indemnité journalière PM-G"
Exec ("GenereLprime")
 
end
 

et j’obtiens ce que je veux.


Commenter


Gestion des cookies

Nous utilisons des cookies pour améliorer et personnaliser votre expérience. Si vous acceptez ou continuez de naviguer, vous acceptez règles relatives aux cookies. En savoir plus sur nos cookies

 
Paramètres de cookies