Skip to main content

Mention complémentaire ODF - fonction calcul prime ancienneté


Forum|alt.badge.img

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