Je débute sur Silae et je cherche à créer une prime ancienneté pour l’ensemble du personnel (cadre et non cadre).
En suivant des instructions trouvées sur la communauté, j’ai créé le libellé D01 ; qui déclenche bien une prime pour les non cadres.
Comment dois-je paramétrer ce libellé pour que la prime se déclenche également sur les cadres svp ?
Aussi, existe-t-il un guide ou une procédure qui pourrait me guider dans la création d’autres futures primes ?
Merci beaucoup pour votre aide !
Page 1 / 1
Bonjour
Pouvez vous fournir le détail du code que vous avez défni
Bonjour,
Voici les éléments :
et le calcul :
Begin
ForceTauxS = 0 Include("DOMONLY_INIT-D01")
// Prime ancienneté basée sur le salaire minimum niveau 1 prorata temporis
If Ste.BaseCalculAnciennete = 1 Then Bases = Bul.SalaireDeBase // Affecte le taux horaire des absences Call AffecteLibellePrimeEnCours_InclusCalcMajorationTxHAbs(True) Else x = Bul.NbhmN + CumulStockVarAbs(Bul.Periode,Bul.Periode,"CALABSH_98") + CumulStockVarAbs(Bul.Periode,Bul.Periode,"CALABSH_99") ii = 0 Memo1 = "" Do ii = ii + 1 Select Case ii Case 1: Code = "02" Case 2: Code = "03" Case 3: Code = "04" Case 4: Code = "08" Case 5: Code = "09" Case 6: Code = "11" Default: Code = "" Exit EndSelect If Code <> "" Then NbH = StockVarAbs("CALABSH_" + Code) If NbH <> 0.0 Then Maint = StockVarAbs("MAINTIENS_" + Code) Ret = StockVarAbs("RETENUES_" + Code) Prorata = Maint / Ret Prorata = Round(Prorata,4) If Prorata > 1 Then Prorata = 1 If Prorata > 0 Then Memo1 = Memo1 + CHR(10) + "--- Code absence : " + Code + CHR(10) Memo1 = Memo1 + "Nombre d'heure : " + NbH + CHR(10) Memo1 = Memo1 + "Retenu : " + Ret + CHR(10) Memo1 = Memo1 + "Maintien : " + Maint + CHR(10) Memo1 = Memo1 + "Prorata (plafonné à 1) : " + Prorata + " = " + Maint + " / " + Ret + CHR(10) z = NbH * Prorata z = Round(z,2) x = x + z Memo1 = Memo1 + "Réintegration heures : " + z + " = " + NbH + " * " + Prorata EndIf EndIf EndIf Loop If x > 151.67 Then x = 151.67 // HAN 30/10/18, Dans SalMinConv en cas d'évolution automatique, rechercher le salminconv.m tien compte de l'évolution. Donc prend la classif C055.03.1.001 qui n'a pas d'évolution. //Bases = SalMinConv.M("C055.01.1.001") * x / 151.67 //Memo = "Base : " + Round(SalMinConv.M("C055.01.1.001"),4) + " (SMC Niv. 1) * " + x + " h / 151.67 h = " + Round(Bases,2) Bases = SalMinConv.M("C055.03.1.001") * x / 151.67 Memo = "Base : " + Round(SalMinConv.M("C055.03.1.001"),4) + " (SMC Niv. 1) * " + x + " h / 151.67 h = " + Round(Bases,2) Call Rem(Memo) If Memo1 <> "" Then Call Rem(Memo1) EndIf
Mois = Emp.Anciennete Tauxs = 0
If Sal.S41.G01.00.015.002 <> "01" then // Non cadres If Emp.Anciennete >= 36 then Tauxs = 3 If Emp.Anciennete >= 72 then Tauxs = 6 If Emp.Anciennete >= 108 then Tauxs = 9 If Emp.Anciennete >= 144 then Tauxs = 12 If Emp.Anciennete >= 180 then Tauxs = 15 Endif
If ForceTauxS <> 0 Then TauxS = ForceTauxS
If Tauxs > 0 and Bases <> 0 then MethodeCalcul = 1 X = Bases * Tauxs / 100 Call Stockevar("PANC", X ) Exec("GenereLprime") EndIf
Include("DOMONLY_FIN-D01")
End
Bonjour, quelle est votre CCN? si la CCN le prévoit, il faut impérativement mettre le coefficient, l’échelon et toute info concernant la CCN pour que cette prime se déclenche normalement.
que ce soit cadre ou non cadre ce serait la D01.
Bonjour,
La CCN ne prévoit pas cette prime pour les cadres.
Merci pour votre aide !
C’est cette ligne qui exclut les cadres
If Sal.S41.G01.00.015.002 <> "01" then
Bonjour Philippe,
Merci beaucoup pour votre aide.
Cette ligne exclut donc les cadres, mais que dois-je faire pour les inclure ?
Si je supprime la ligne, la prime va-t-elle se déclencher pour tout le monde ? Ou dois-je la modifier, et dans ce cas que dois-je inscrire ?
Vous pouvez supprimer la ligne et celle avec le Endif. Mais il est plus judicieux de voir une des 2 solutions en dessous au cas ou vous devriez revenir en arrière.
2 solutions
soit le 01 mettre une valeur qui n’existe pas (par exemple 999) de ce fait la condition est toujours vrai
soit mettre cette ligne en commentaire avec // ainsi que la ligne Endif 7 lignes plus bas.
J’ai testé la première solution :
If Sal.S41.G01.00.015.002 <> "999" then If Emp.Anciennete >= 36 then Tauxs = 3 If Emp.Anciennete >= 72 then Tauxs = 6 If Emp.Anciennete >= 108 then Tauxs = 9 If Emp.Anciennete >= 144 then Tauxs = 12 If Emp.Anciennete >= 180 then Tauxs = 15 Endif
La prime se déclenche sur le non cadre, mais toujours pas sur le cadre.
Par contre, je ne comprends pas la deuxième solution que vous proposez
“soit mettre cette ligne en commentaire avec // ainsi que la ligne Endif 7 lignes plus bas.”
Pour moi ce que vous avez fait est correct.
Il semble donc que le problème ne vient pas du taux mais de la base de calcul.
Quelle base cherchez vous à obtenir
La base est la même que pour les non cadres, le SMC
Commenter
Inscrivez-vous
Vous avez déjà un compte d'utilisateur ? Connexion
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.