Bonjour,
Nous avions paramétré une prime d’ancienneté dans les cabinets dentaires qui se calculait par année d’ancienneté ( et non tous les 3 ans) en prenant en compte le salaire de base.
Cependant avec l’obligation de distinguer la prime ODF/sécretariat, cette dernière ne rentre plus dans mon calcul.

Voici ma fonction “calcul”.
Où puis-je modifier pour que la mention complémentaire rentre dans mon calcul ?
Merci pour votre aide :)
begin
ForceTauxS = 0
Include("INIT-D01")
// JPB Le 27.06.2013 Prise en compte des heures d'absences dans la base de la prime d'ancienneté
//If BUL.S41.G01.00.013 <> 10 Then
// pas en forfait jour et Absence complete pas de prime d'anciennete
// If BUL.NBHM = 0 Then Return
//Endif
Mois = Emp.anciennete
tauxs = 0
If Ste.BaseCalculAnciennete = 1 Then
BB = Bul.SalairedeBase
Else
If ETA.CCNBOOL[5] = False and ETA.CCNBOOL[8] = False Then
TxHSMC = Bul.Tauxhoraire
If ETA.CCNBOOL[9] = true then
If TxHSMC < MtPart.SmicH then TxHSMC = MtPart.SmicH
endif
BB = TxHSMC * bul.nbhmncontrat
// Contrats pro
Select case Mid(emp.classification, 1,8)
Case "D002.005","D002.009","D002.015","D002.016","D002.018":
BB = Bul.TauxHoraire * bul.nbhmncontrat
Endselect
endif
if ETA.CCNBOOL[5] = true then
HC = 0
ii = 0
do
ii = ii + 1
if ii > HMNombre() then exit
if HMNature(ii) = 0 then HC = HC + HMNbH(ii)
loop
TxHSMC = Bul.Tauxhoraire
If ETA.CCNBOOL[9] = true then
If TxHSMC < MtPart.SmicH then TxHSMC = MtPart.SmicH
endif
BB = TxHSMC * (bul.nbhmn + HC)
// Contrats pro
Select case Mid(emp.classification, 1,8)
Case "D002.005","D002.009","D002.015","D002.016","D002.018":
BB = Bul.TauxHoraire * (bul.nbhmn + HC)
Endselect
EndIf
if ETA.CCNBOOL[8] = true then
Tx = Bul.Salairedebase
If ETA.CCNBOOL[9] = true then
If Tx < MtPart.SmicH then Tx = MtPart.SmicH
endif
// Contrats pro
Select case Mid(emp.classification, 1,8)
Case "D002.005","D002.009","D002.015","D002.016","D002.018":
Tx = Bul.TauxHoraire
Endselect
BB = Tx * Bul.NbhmN
ii = 0
Do
ii = ii + 1
If ii > HMnombre() Then Exit
BB = BB + ( Tx * HMCoeffv(ii) * HMnbh(ii) )
Loop
EndIf
EndIf
if Mois >= 12 then Tauxs = 1
If Mois >= 24 then Tauxs = 2
If Mois >= 36 then Tauxs = 3
If Mois >= 48 then Tauxs = 4
If Mois >= 60 then Tauxs = 5
If Mois >= 72 then Tauxs = 6
If Mois >= 84 then Tauxs = 7
If Mois >= 96 then Tauxs = 8
If Mois >= 108 then Tauxs = 9
If Mois >= 120 then Tauxs = 10
If Mois >= 132 then Tauxs = 11
If Mois >= 144 then Tauxs = 12
If Mois >= 156 then Tauxs = 13
If Mois >= 168 then Tauxs = 14
If Mois >= 180 then Tauxs = 15
If Mois >= 192 then Tauxs = 16
If Mois >= 204 then Tauxs = 17
If Mois >= 216 then Tauxs = 18
If Mois >= 228 then Tauxs = 19
If Mois >= 240 then Tauxs = 20
If ForceTauxS <> 0 Then TauxS = ForceTauxS
If Tauxs <> 0 and BB <> 0 Then
Methodecalcul = 1
Bases = BB
x = Bases * Tauxs / 100
Call Stockevar("PANC", x)
Exec("GenereLprime")
EndIf
End

