Skip to main content
Répondu

prime ancienneté à neutraliser


Bonjour,

Je souhaite neutraliser une D01 prime d’ancienneté pour un salarié décédé.

La prime n’est pas présente dans les éléments variables pas possibilité de mettre -1.

Ce n’est pas une prime conventionnelle.

Merci à vous pour votre aide. 

Cordialement,

Abder

Meilleure réponse par Anthony Petit

Bonjour,

Vous pouvez créer une fonction calcul INIT-D01

Dedans :

If SAL.S30.G10.05.001 = “xxxxx” then Return

Remplacez les xxxxx par le numéro de matricule du salarié concerné

36 commentaires

Forum|alt.badge.img+3

Bonjour,

Vous ajouter la même rubrique et vous mettez le montant en négatif ça l’annulera.

C’est moche sur le bulletin mais c’est une solution.

Il n’y a rien dans le questionnaire conventionnel ?

Cordialement


Bonjour,

c’est une fonction calcul….


Forum|alt.badge.img+3

Non dans éléments variables vous ajoutez la même rubrique 


ok merci


Forum|alt.badge.img

Bonjour,

Pourriez vous communiquer le paramétrage de cette prime d’ancienneté s’il vous plait afin de la modifier ?

Cordialement,


si le salarié décède je ne veux pas qu’elle se déclenche

Begin

//AA le 14/02/2023, #858547, prime spécifique

Include("INIT-D01")

BB = 0

mois = emp.anciennete

if mois >= 60 then
    BB = 50
    if mois >= 120 then
        BB = 125
        mois = mois - 132
        Do            
            if mois < 0 then exit
            if BB >= 300 then exit
            BB = BB + 15
            mois = mois - 12
        Loop
    endif
endif

If BUL.S41.G01.00.013 = 10 Then 
    if BUL.FJNBJAN < 218 then
        Memo = "Montant proratisé temps partiel : " + BB + " / 218 * " + BUL.FJNBJAN 
        Call Rem(memo)
        BB = BB / 218 * BUL.FJNBJAN 
    endif
else
    if bul.nbhmncontrat < 151.67 then 
        Memo = "Montant proratisé temps partiel : " + BB + " / 151.67 * " + bul.nbhmncontrat 
        Call Rem(memo)
        BB = BB / 151.67 * bul.nbhmncontrat 
    endif
endif

Abs = NbJCalendairesAbsences(bul.periode,bul.date,"-12-90-91-92-93-94-95-96-97")
if Abs <> 0 then
    BBbrut = BB
    BB = BB / Bul.nbjmois * ( Bul.nbjmois - Abs )
    Memo = "Montant proratisé absence : " + round(BBbrut,2) + " / " + Bul.nbjmois + " * " + ( Bul.nbjmois - Abs )
    Call Rem(memo)
endif
    
If BB > 0 Then
    Methodecalcul = 2
    Bases = BB
    Exec ("GenereLprime")
    call stockevar("PANC", Bases )
EndIf

End


Anthony Petit
Community Manager
Forum|alt.badge.img+4
  • Community Manager
  • Réponse
  • July 18, 2025

Bonjour,

Vous pouvez créer une fonction calcul INIT-D01

Dedans :

If SAL.S30.G10.05.001 = “xxxxx” then Return

Remplacez les xxxxx par le numéro de matricule du salarié concerné


Bonjour,

Merci à vous pour retour.

Au niveau de quelle partie du code, je dois ajouter cette fonction?

Merci à vous.

Cordialement,

Abder


Anthony Petit
Community Manager
Forum|alt.badge.img+4
  • Community Manager
  • July 18, 2025

Bonjour,

Il faut la créer, comme cela : 

 


Forum|alt.badge.img+4

Bonjour,

Sinon il faut modifier la fin du paramétrage

Mtprime = Saisie( "Pr ancienneté", BB )

If Mtprime <> 0 then BB= Mtprime

If Mtprime = -1 then BB = 0

  If BB > 0 Then
    Methodecalcul = 2
    Bases = BB
    Exec ("GenereLprime")
    call stockevar("PANC", Bases )
EndIf


Bonjour,

Merci à vous.

Cordialement,

Abder


SYLVAINE BOYER
Connaisseur

Bonjour,

Il faut la créer, comme cela : 

 

Bonjour j’ai suivi votre manipulation en créant juste le INIT-D01 et en mettant dans CALCUL votre formule mais cela ne fonction pas.

 

Merci d’avance


Anthony Petit
Community Manager
Forum|alt.badge.img+4
  • Community Manager
  • September 17, 2025

Bonjour,

Avez vous bien remplacé les xxxx par le numéro de matricule du salarié ?


SYLVAINE BOYER
Connaisseur

Bonjour,

Avez vous bien remplacé les xxxx par le numéro de matricule du salarié ?

Bonjour exacte, 

 

 


Forum|alt.badge.img+4

Bonjour,

Avez vous bien remplacé les xxxx par le numéro de matricule du salarié ?

Bonjour exacte, 

 

 

Bonjour,

Vous n’êtes au bon endroit.
Il faut créer une fonction calcul et non modifier le libellé prime. 
Il faut aller dans “paramétrage” + “fonctions calculs”


SYLVAINE BOYER
Connaisseur

Merci j’ai modifié mais maintenant voila ce qu’il affiche sur le bulletin

 

Et voila comment est paramétré ma prime d’anc.

 


SYLVAINE BOYER
Connaisseur

Pas de solution pour moi svp ? 


Anthony Petit
Community Manager
Forum|alt.badge.img+4
  • Community Manager
  • September 17, 2025

Vous avez un PCCN spécifique ?

Vous êtes sur quelle CCN ?


SYLVAINE BOYER
Connaisseur

Pas de CCN et non pas de PCCN spécifique, dossier on ne peut plus classique


Forum|alt.badge.img+4

Merci j’ai modifié mais maintenant voila ce qu’il affiche sur le bulletin

 

Et voila comment est paramétré ma prime d’anc.

 

Il manque des “endif” également dans le codage 


SYLVAINE BOYER
Connaisseur

Merci j’ai modifié mais maintenant voila ce qu’il affiche sur le bulletin

 

Et voila comment est paramétré ma prime d’anc.

 

Il manque des “endif” également dans le codage 

Pourtant les primes se déclenchent bien en fonction des anciennetés, c’est surtout que le directeur ne perçoit pas de prime d’ancienneté et je souhaite juste le neutraliser pour lui 

 


Forum|alt.badge.img+4

Ah pardon, je pensais que le code ne fonctionnait pas. 

Je regarde pour modifier. 
 


SYLVAINE BOYER
Connaisseur

Non, justement il fonction c’est la neutralisation qui ne marche pas :) merci d’avance


Forum|alt.badge.img+4

Est ce que le directeur est un mandataire sans contrat de travail ?

Si oui vous pouvez mettre la formule suivante en ligne 5 :
If SAL.S41.G01.00.012.001 = "90" then return
et ajouter “endif” avant “end”

 


SYLVAINE BOYER
Connaisseur

Est ce que le directeur est un mandataire sans contrat de travail ?

Si oui vous pouvez mettre la formule suivante en ligne 5 :
If SAL.S41.G01.00.012.001 = "90" then return
et ajouter “endif” avant “end”

 

Bonjour non ce n’est pas un 90 mais bien un CDI