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
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.