Comment lire et modifier le script Silae déclenchant une prime d'ancienneté ?
💡#36 - Je découvre le code dans Silae et je te propose qu'on apprenne ensemble !
Le dernier numéro de ma newsletter date du 19 Octobre 2022 : oups ! la régularité n’a pas été mon fort !
Quoiqu’il en soit, je reviens en force et j’affine au quotidien mon organisation pour garder le rythme cette fois-ci.
Quel sujet je te propose de voir ensemble pour cette reprise ?
Je me forme au code dans Silae depuis quelques temps ; non pas pour devenir un développeur, mais pour être plus autonome dans l’accompagnement de mes clients.
Et je dois avouer qu’il y a aussi un peu de curiosité !
Et donc, je me suis dit qu’il serait intéressant que je te partage régulièrement ce que j’apprends chaque semaine sur ce sujet.
Je n’aurais certainement pas la bonne méthode, ni le bon lexique, ni la bonne pédagogie et encore moins le bon raccourci.
Mais je pense que ce que j’apprends, sur des cas concrets chez mes clients, peut intéresser certains d’entre-vous.
Mais je ne compte pas parler uniquement de cela dans les prochaines semaines.
Donc voilà mon nouveau challenge en cette fin de trimestre.
J’espère que cela te sera utile.
Allez on démarre !
Temps d’apprentissage : < 7 minutes
1 - Comment désactiver une prime conventionnelle ?
Prenons un cas concret que j’ai eu à gérer sur un dossier relevant de la CCN codifiée comme suit par Silae : T023 - Transport Ferroviaire et activités associées.
En date du 22 avril 2022, un arrêté d’extension rend obligatoire le paiement d’une prime d’ancienneté aux salariés ayant au moins 3 ans d’ancienneté. Pour une partie de la population (classification 6 à 8), les entreprises concernées ont jusqu’au 1er avril 2025 pour appliquer ce dispositif.
Mon client, surpris par cette nouvelle obligation, ne souhaite pas le paiement immédiat de cette prime pour tous les salariés, quelle que soit leur classification.
Silae ne propose pas d’option, ni dans la Fiche Société, ni dans la Fiche Salarié, pour désactiver la prime pour tous les salariés.
Va donc falloir trouver une ruse.
a - comment se déclenche la prime d’ancienneté ?
Tout se passe dans Synthèse > Primes > Libellés et suis les étapes suivantes :
Je te rassure : ce que tu peux lire dans le code, est encore “barbare”, pour toi comme pour moi.
Mais intéressons-nous à la ligne 4 du code : Include (“INIT-D01”).
Cette instruction spécifique fonctionne comme une porte d’entrée. Elle nous permet d’intervenir dans la suite du code de Silae, c-à-d on peut, grâce à cette commande, modifier des éléments du code standard de Silae, à partir de la ligne 5.
b - comment modifier le code standard de Silae pour se conformer au souhait de mon client ?
J’ai ma fameuse porte d’entrée qui me permet de m’immiscer dans le code standard conçu par Silae pour faire fonctionner la prime d’ancienneté conventionnelle dans le dossier de mon client.
Je vais donc utiliser ce moyen pour ne pas déclencher cette prime.
Comment ?
Je vais créer une Fonction de calcul.
Tu sais, c’est là où tu peux par ex. créer une fonction pour importer des variables de paie à partir d’un fichier Excel (on en parlera une prochaine fois de ce cas de figure).
Donc le chemin à suivre est : Paramétrage > Fonctions calculs
Tu utilises l’option “Créer une fonction calcul” dans le bandeau de droite.
Tu saisis le Code Fonction : INIT-D01. Cela fait référence à la porte d’entrée qu’on a vu précédemment dans le code standard de la Prime d’ancienneté.
L’intitulé est optionnel mais c’est bien d’en renseigner un pour savoir à quoi correspond le programme que tu es en train de rédiger.
Et dans le bloc Fonction, en ligne 1, tu vas simplement saisir : return
N’oublies pas de sauvegarder ce programme dans le bandeau de droite.
Tadammmmmm 🥳🎉 : tu viens d’écrire ton premier programme.
Tu relances le calcul du bulletin de paie et la prime d’ancienneté a disparu 🎯
c - que s’est-il passé ?
Le simple fait d’écrire “return” dans la Fonction de calcul INIT-D01 suffit.
Quand Silae va lire son programme d’origine relatif à la Prime d’ancienneté, en arrivant sur la ligne 4 (Include (“INIT-D01”), il va aller lire notre Fonction de calcul “INIT-D01”.
L’instruction “return” lui indique de s’arrêter là : il ne poursuit pas la lecture des autres lignes de son code d’origine pour déclencher la prime sur le bulletin de paie.
Le programme s’arrête là et donc la prime d’ancienneté ne se déclenche pas.
2 - Comment moduler le déclenchement de cette prime ?
On a vu comment faire pour la neutraliser.
Maintenant, si mon client me demande de la neutraliser que pour les “Cadres” mais pas pour les “ETAM” : est-ce possible ?
Oui : mais va falloir compléter le programme que nous venons d’écrire ensemble.
a - comment identifier les Cadres à exclure de la prime d’ancienneté ?
Le moyen le plus facile est le Code Statut Professionnel dans la Fiche Salarié. Les Cadres sont codifiés : 29
Je retourne dans ma Fonction de calcul INIT-D01. Je vais rajouter une condition.
Je vais dire à Silae : si le code statut professionnel du salarié est égal à 29, alors ne déclenche pas la prime.
En d’autres mots, si le code statut professionnel du salarié est différent de 29, alors Silae va déclencher la prime suivant les conditions conventionnelles.
Comme écrire cette condition : il suffit de saisir
If SAL.S41.G01.00.014 = 29 then return
Tu sauvegardes dans le bandeau de droite et tu relances le calcul de ton bulletin de paie.
Tadammmmmm 🥳🎉 : tu viens d’écrire ton 2ème programme.
Tu peux relancer le calcul de tous tes bulletins et la prime a disparu pour les “Cadres” uniquement.
b - comment revenir au programme standard de Silae ?
En d’autres mots, comment annuler tout ce qu’on vient de faire pour laisser tourner le “standard”.
Rien de plus simple.
Soit tu supprimes ta Fonction de calcul INIT-D01 dans le bandeau de droite.
Soit tu rajoutes // (double slash = 2 barres obliques) devant la ligne d’instruction que tu souhaites désactiver. Silae va alors considérer cette ligne non pas comme une instruction à exécuter mais plutôt comme un simple commentaire sans effet.
Et tu n’oublies pas de sauvegarder.
Tu peux relancer le calcul de ton bulletin de paie. Le fonctionnement est revenu sur le standard.
Synthèse : tu viens d’apprendre en à :
1 - neutraliser une prime conventionnelle gérée par Silae
2 - introduire une condition pour son déclenchement
3 - annuler une instruction
Allez, on ira un peu plus loin la prochaine fois.
Je te dis à la semaine prochaine.
Mais en attendant, si tu penses que cette newsletter peut intéresser tes collègues, ton équipe, tes partenaires, tu peux utiliser ce bouton pour leur partager ce numéro.
Tu peux aussi me suivre sur Linkedin.
Lien vers mon profil —> Linkedin
Actionnes le bouton { + Suivre } et la petite 🔔 pour être notifié
Je poste regulièrement sur des sujets qui peuvent t’intéresser :
l’Apprentissage en paie et en général
le Mindset à avoir pour réussir en paie
Comment se lancer en tant que Freelance en paie ?
Comment rendre un Service Paie Performant 🚀?
Paie et Technologie
A bientôt.
Daniel
Heureuse de ce retour ... qui plus est avec cette newsletter hyper intéressante. Je valide le nouveau sujet sur le langage Silae que je vous remercie de partager avec nous ☺️