Skip to main content
Répondu

Prime de vacances au prorata versée en Aout


Forum|alt.badge.img

Bonjour,

Je recherche une solution pour créer une prime de vacances versée en Aout au prorata de présence entre le 01/09/N-1 et le 31/08/N.

J’ai créé cette fonction calcul mais cela ne fonctionne pas 
Qui peut m’aider ?

Cerise sur le gateau : comment permettre d’avoir les provisions comptables - et extournes - de cet prime ? 

****
 

begin

 

If Emp.DtDebContrat <> Date(0,0,0) then DateDebutEmploi = Emp.DtDebContrat Else DateDebutEmploi = Emp.DtDeb

If Bul.SortiCeMois = False Then
    P = false
    if bul.mois = 08 then
        datedeb = Date (01,09,bul.annee -1)
        datefin = Date (31,08,bul.annee)
        P = true
    endif

    if P = True then
        
//        Montant = bul.salairedebase / 2
//        Montant = "VarAnnuelle"
        Montant = 999999999
        Nbjt = DiffDays (datedeb, datefin)
        Nbj = DiffDays (DateDebutEmploi, datefin)
        if nbj < nbjt then Montant = Montant / nbjt * nbj

        if Montant <> 0 then
            Exec("Lprime_D05")
            Bases = Montant
            methodeCalcul = 2
            Exec ("GenereLprime")
        endif
    endif
else
    // sortie du salarié
    P = false
    if bul.mois = 08 then
        datedeb = Date (01,09,bul.annee -1)
        datefin = Date (31,08,bul.annee)
        P = true
    endif

    if P = True then
        
//        Montant = bul.salairedebase / 2
//        Montant = "VarAnnuelle"
        Montant = 452
        Nbjt = DiffDays (datedeb, datefin)
        if DateDebutEmploi > datedeb  then datedeb = DateDebutEmploi
        Nbj = DiffDays (datedeb, emp.dtfin)
        if nbj < nbjt then Montant = Montant / nbjt * nbj
        x = Saisie("PrimeVac",0)
        if x > 0 Then Montant = x
        if x < 0 Then Montant = 0 
        if Montant <> 0 then
            Exec("Lprime_D05")
            Bases = Montant
            methodeCalcul = 2
            Exec ("GenereLprime")
        endif
    endif
endif


end

****
 

Meilleure réponse par Gaëtan DOUTRIAUX

Bonjour,
Juste pour clore,
j’avais une fonction calcul et une prime (codée), je modifiais la fonction calcul mais c’est la prime qui était jouée !
le problème du 999999 est résolu.
Merci

8 commentaires

Forum|alt.badge.img+3

Punaise 1 Milliard d’euro si tu reste tout le mois d’Aout… Au lieu de 452 si tu pars au milieu de mois. 
Les salariés doivent resister ce mois là ! 🤣

 

Plus sérieusement : Qu’est ce qui ne marche pas ? 

  1. vous indiquez avoir créé une fonction calcul… Vous avez créé une prime, on est bien ok ? 
  2. elle s’affiche sur des bulletins ?  ou rien du tout ? 

Forum|alt.badge.img

Oui j’ai créé une prime D06 dans PCCN01 ayant pour nom PrimeVac.
Invisible sur le bulletin.
 


Forum|alt.badge.img+4

Bonjour

1- votre fonction calcul doit être créée en tant que profils (menu paramétrage | Primes | profils)

2 - Pour moi il ne faut pas créer de prime D06 en PCCN01.

Deux solutions :

3 - Si vous voulez utiliser la PCCN01 il faut récupérer le profil que vous avez créé à l’étape 1

ou

Créer par exemple en profil PCCN02 dans lequel vous stockez le code suivant (par exemple)

Begin
    
    Exec("Pprime_PrimeVac")
    
End

ou PrimeVac correspond au code du profil que vous avez créé au préalable.


Forum|alt.badge.img+3

Ah, je n’avais pas de problème particulier avec l’ajout en PCCN de ce code de création de prime. 
Vous voudriez qu’il crée un profil distinct, qui soit ensuite appelé dans un PCCN ? 

Pour moi on peut indiquer directement le code dans le PCCN01.

 

Si rien ne s’affiche, c’est peut être parce que le montant ne remonte pas.
Ca peut provenir des dates : 

datedeb = Date (01,09,bul.annee -1)    <== Ca fonctionne ca ? 

Ou 

du mois 

    if bul.mois = 08 then   <== Est ce qu’il faut marquer “8” ? 

 

Vous indiquez avoir créé une D06… Vous voulez bien dire D05 ? Dans votre code vous appelez une D05.

Vous faites vos tests sur un bulletin d’Aout ???


Forum|alt.badge.img+4

Re-bonjour

j’ai oublié la seconde partie de la question. Donc pour la provision congés payés, là il faut créer une fonction calcul. pour plus de détail vous pouvez vous référer au support suivant :

https://support.silae.fr/hc/fr/articles/16536322523282-Param%C3%A9trer-des-provisions-comptables-sp%C3%A9cifiques

je vous conseille de faire un stockvar sur votre prime de vacances afin de pouvoir la récupérer dans votre provision.


Forum|alt.badge.img

Super, tout fonctionne super bien.

le process Prime en Aout OK.
le process Provision/Extourne ​​​​​​​sauf Aout OK.

Merci de votre aide.

2 derniers ajustement,

1-Après avoir controlé que le million était bien visible dans le bulletin, je tente de modifier la prime vacances et de relancer le calcul du bulletin - sans succès - toujours ce million.

Un CSE semble être coincé dans les rouages, une idée pour faire un reset de ce premier calcul ?

 

2-Pour l’instant je modifie le montant de la prime dans chacun des 2 programmes.
Comment faire pour utiliser une Variable commune, j’ai créé un ‘montant particulier’, mais je n’arrive pas à le lire dans les programme.
J’ai tenté d’y accéder par Mtpart.primeVacances - sans succès.
Une astuce pour cela ?

merci d’avance pour votre aide
 


Forum|alt.badge.img+3

bonjour

 

J’ai un peu de mal à vous suivre.
Si par “ le million” vous voulez dire le montant de 99999999€, changez le dans votre code s’il est fixe ? 

  Montant = 999999999

2-Pour l’instant je modifie le montant de la prime dans chacun des 2 programmes.

Et là je ne vous suis pas non plus.
Moi, j’aurais fait qu’une seule prime, en PCCN. Mais même si vous passez par l’astuce de Philippe, vous ne devriez avoir que l’appel du profil prime dans votre PCCN, donc vous ne pourrez modifier le montant de la prime que dans le profil prime proprement dit, pas dans le PCCN…

 

Enfin, en ce qui concerne votre montant particulier, je pense plutôt qu’il vous faut utiliser un stockvar sans doute.


Forum|alt.badge.img

Bonjour,
Juste pour clore,
j’avais une fonction calcul et une prime (codée), je modifiais la fonction calcul mais c’est la prime qui était jouée !
le problème du 999999 est résolu.
Merci