je dois créer une prime d’ancienneté sur une population ayant plus ou = 20 ans d’ancienneté.
cette prime doit apparaître sur une ligne différente du salaire de base, et doit correspondre a 2% du salaire mensuel.
Malgré plusieurs tentatives je n’y arrive pas du tout 😑
Begin ForceBaseS = 0 Exec("Lprime_D01")
if emp.anciennete >= 240 then tauxs = 2 If ForceBaseS <> 0 Then BaseS = ForceBaseS TauxS = 100 end
voici un exemple de saisie mais cela ne déclenche rien
je ne suis pas du tout à l’aise avec les fonctions calculs j’ai beaucoup de mal à comprendre le fonctionnement des écritures.
Merci beaucoup pour votre aide !!
Meilleure réponse par Florent RABIN
Bonjour,
Votre salarié a bien sa classification de renseignée en A019 dans sa fiche salarié en car si c’ets le cas sur un dossier test ca se déclenche bien donc pas de raison.
Ok j’ai vu pas de FC “INIT-D01” existante qui aurait pu être utilisée pour inhiber le déclenchement dans le dossier.
Lorsque vous avez créé le libellé de Prime D01, vous avez bienfait le choix CCN de A019? Logiquement si vous avez des salariés en A019 et d’autres sans CCN attribuées dans leur fiche par exemple, silae propose les deux choix pour créer un libellé et forcer la D01. Il faut bien choisir la CCN si vous voulez que ca impact vos salariés.
Dernière question, c’est une ligne supplémentaire de prime ancienneté que vous voulez mettre ou elle vient écraser la prime d’ancienneté qui est conventionnelle A019? Ou bien c’est pour des salariés sans CCN?
// 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
// 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
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.
Analyse virus du fichier
Désolés, nous vérifions toujours le contenu de ce fichier pour nous assurer qu'il peut être téléchargé en toute sécurité. Veuillez réessayer dans quelques minutes.