Skip to main content
Répondu

prime ancienneté


Afficher le premier message

27 commentaires

Bonjour, 

 

je vous remercie pour votre temps, cela ne fonctionne toujours pas. Faut-il en parallèle paramétrer un profil de prime ? 

JE VOUS REMET MA FONCTION au cas ou je me suis tromper sur un code: 

BEGIN

// Affichage des dates pour debug
Print "SAL.DATEANCIENNETE2 = " + ToString(SAL.DATEANCIENNETE2)
Print "EMP.DTDEBANC = " + ToString(EMP.DTDEBANC)
Print "Bul.date = " + ToString(Bul.date)

// Calcul de l'ancienneté en années
Anciennete = DiffYears(EMP.DTDEBANC, Bul.date)

// Vérification que c'est le mois anniversaire du contrat
If DateMonth(Bul.date) = DateMonth(SAL.DATEANCIENNETE2) Then

    // Détermination du montant de la prime via calcul
    Mprime = 0
    If Anciennete >= 5 AND Anciennete < 10 Then Mprime = 300
    If Anciennete >= 10 AND Anciennete < 15 Then Mprime = 600
    If Anciennete >= 15 AND Anciennete < 20 Then Mprime = 900
    If Anciennete >= 20 AND Anciennete < 25 Then Mprime = 1200
    If Anciennete >= 25 Then Mprime = 1500

    // Vérification que la prime est non nulle
    If Mprime <> 0 Then
        Exec("Lprime_D01.1")
        methodeCalcul = 3
        Bases = 1
        Tauxs = Mprime
        Liblong = "Prime d'ancienneté calculée pour " + ToString(Anciennete) + " années"
        Memo = "Prime calculée le mois anniversaire du contrat : " + ToString(Mprime) + "€"
        Call Rem(Memo)
        Exec("GenereLprime")
    Endif

Endif

END

 

Un grand merci pour cette aide.


Florent RABIN
Formateur certifié
Forum|alt.badge.img+1
  • Formateur certifié
  • March 20, 2026

Bonjour, 

 

je vous remercie pour votre temps, cela ne fonctionne toujours pas. Faut-il en parallèle paramétrer un profil de prime ? 

JE VOUS REMET MA FONCTION au cas ou je me suis tromper sur un code: 

BEGIN

// Affichage des dates pour debug
Print "SAL.DATEANCIENNETE2 = " + ToString(SAL.DATEANCIENNETE2)
Print "EMP.DTDEBANC = " + ToString(EMP.DTDEBANC)
Print "Bul.date = " + ToString(Bul.date)

// Calcul de l'ancienneté en années
Anciennete = DiffYears(EMP.DTDEBANC, Bul.date)

// Vérification que c'est le mois anniversaire du contrat
If DateMonth(Bul.date) = DateMonth(SAL.DATEANCIENNETE2) Then

    // Détermination du montant de la prime via calcul
    Mprime = 0
    If Anciennete >= 5 AND Anciennete < 10 Then Mprime = 300
    If Anciennete >= 10 AND Anciennete < 15 Then Mprime = 600
    If Anciennete >= 15 AND Anciennete < 20 Then Mprime = 900
    If Anciennete >= 20 AND Anciennete < 25 Then Mprime = 1200
    If Anciennete >= 25 Then Mprime = 1500

    // Vérification que la prime est non nulle
    If Mprime <> 0 Then
        Exec("Lprime_D01.1")
        methodeCalcul = 3
        Bases = 1
        Tauxs = Mprime
        Liblong = "Prime d'ancienneté calculée pour " + ToString(Anciennete) + " années"
        Memo = "Prime calculée le mois anniversaire du contrat : " + ToString(Mprime) + "€"
        Call Rem(Memo)
        Exec("GenereLprime")
    Endif

Endif

END

 

Un grand merci pour cette aide.

Voici la copie ecran exacte de ce que vous devez avoir sur silae en fonction calcul! Chez moi ca fonctionne. et je vous mets le script en dessous pour pouvoir recopier:

// Affichage des dates pour debug

Print "EMP.DTDEBANC = " + EMP.DTDEBANC

// Calcul de l'ancienneté en années
Anciennete = DiffYears(EMP.DTDEBANC, Bul.date)
// ou aussi possible Anciennete = emp.anciennete / 12.00

// Vérification que c'est le mois anniversaire du contrat
If bul.mois = DateMonth(EMP.DTDEBANC) Then
    // Détermination du montant de la prime via calcul
    Mprime = 0
    If Anciennete >= 5 Then Mprime = 300
    If Anciennete >= 10 Then Mprime = 600
    If Anciennete >= 15 Then Mprime = 900
    If Anciennete >= 20 Then Mprime = 1200
    If Anciennete >= 25 Then Mprime = 1500

    // Vérification que la prime est non nulle
    If Mprime <> 0 Then
        Exec("Lprime_D01.1")
        methodeCalcul = 3
        Bases = 1
        Tauxs = Mprime
        Liblong = "Prime d'ancienneté calculée pour " + ToString(Anciennete) + " années"
        Memo = "Prime calculée le mois anniversaire du contrat : " + ToString(Mprime) + "€"
        Call Rem(Memo)
        Exec("GenereLprime")
    Endif
Endif