Crésus Salaires

29.8Spécialités

Les fonctions décrites ci-dessous ne se trouvent pas dans les listes des opérations du dialogue. Vous les utilisez en les inscrivant directement dans la formule.

SISOUMIS(« mode » ; expression) Évalue l’expression en ne prenant en compte que les rubriques soumises aux bruts déterminants selon le mode (voir la fonction CUMUL §29.2 Les totalisateurs).
SISOUMIS(« LPP »
; @Ind:Prime ancienneté + @Ind:Salaire mensuel)
calcule la somme des valeurs trouvées dans les champs pour autant qu’elles soient soumises à la base LPP.
Si l’une des valeurs est soumise mais pas l’autre, la valeur soumise sera prise en compte. Il n’est pas nécessaire que les 2 rubriques soient soumises.
SISOUMIS(« AVS »
; @Ind:Prime ancienneté + @Ind:Salaire mensuel)
fonctionnera également si l’une des deux rubriques est vide car vide est considéré comme zéro pour une addition (voir note §29 L’éditeur de calculs).
SIRUBSOUMISE(« mode » ; @rubrique) Rend 1 ou 0 selon que la rubrique donnée en second paramètre est soumise ou non selon le mode (voir la fonction CUMUL §29.2 Les totalisateurs).
SIRUBSOUMISE(« LPP »; @Ind:Prime ancienneté)
donne 1 si la prime d’ancienneté est soumise à la LPP.
SINONSOUMIS(« mode » ; expression) Évalue l’expression en ne prenant en compte que les rubriques non soumises aux bruts déterminants selon le mode (voir CUMUL §29.2 Les totalisateurs).
SINONSOUMIS(« LPP »
; @Ind:Prime ancienneté
; @Ind:Salaire mensuel)
calcule la somme des valeurs si elles ne sont pas soumises à la base LPP.
Si l’une des valeurs est soumise mais pas l’autre, la valeur soumise sera prise en compte. Il n’est pas nécessaire que les 2 rubriques soient soumises.
SINONSOUMIS(« AVS »
; @Ind:Prime ancienneté
; @Ind:Salaire mensuel)
fonctionnera également si l’une des deux rubriques est vide car vide est considéré comme égal à zéro pour une addition (voir note §29 L’éditeur de calculs).
AGELIMITE(limite ; mode) Détermine si l’âge de l’employé est inférieur à un âge limite.
AGELIMTE(18) donne zéro si l’employé a 18 ans (dans l’année courante) ou plus. Donne 1 s’il a 17 ans ou moins.
Le paramètre mode est optionnel. S’il vaut 1, la fonction tient compte du mois de naissance et donne la valeur zéro dès le mois suivant l’anniversaire de l’âge concerné.
AGELIMTE(65;1) donne zéro dès le mois suivant le 65ème anniversaire.
POURPERIODE(colonne ; expression) Donne la valeur de l’expression pour la période donnée.
La période peut être donnée par un nombre (n° de la colonne) ou une date.
POURPERIODE(DATE(15;3;2014);@Ind:Salaire mensuel)
donne le salaire mensuel du mois de mars 2014.
FANIONPERIODE(colonne ; paramètre) Donne 1 (=vrai) ou 0 (=faux) selon les réglages faits pour paramètre dans Entreprise – Périodes pour la colonne (1 à n) concernée.
paramètre = 1 : le 13ème salaire doit être payé.
paramètre = 2 : les vacances doivent être payées.
paramètre = 3 : les vacances incluent le mois courant.
FANIONPERIODE(6;1)
donne 1 si le 13ème doit être versé en juin.
MONTANTPERIODE(valeur) Ramène un montant mensuel au prorata de la période courante.
Par exemple, si on a fait un salaire du 1er février au 15 mars inclus, MONTANTPERIODE(1000) donne 1500 puisque la période correspond à un mois et demi.
NOMPERIODE(colonne) Donne le nom de la colonne (1 à n) du tableau général.
NOMPERIODE(1) donne habituellement « Janvier ».
POURLANGUE(langue ; expression) Évalue l’expression dans une langue donnée (0 = français, 1 = allemand, 2 = anglais, 3 = italien).
POURLANGUE(2;NOMPERIODE(1)) donne « January ».
ASSURANCE(rubrique ; type ; mode) Donne les valeurs en fonction de l’assurance de l’employé.
Le premier paramètre doit être la rubrique du nom de l’assurance attribué à l’employé (@Donnée:Assurance LPP, @Donnée:Assurance IJM, @Donnée:Assurance LAAC, …).
Le second paramètre (valeur 1 à 9) détermine le type d’information souhaitée :
1 : taux à appliquer (selon la tranche d’âge si LPP)
2 : plafond mensuel
3 : valeur de « soumis à partir de » pour la LPP, pour les assurances c’est la valeur de déduction fixe
4 : « montant à déduire » pour la LPP
5 : « montant minimum » pour le salaire coordonné de la LPP
8 : état du fanion « calcule sur base annuelle » pour la LPP
11 : taux de la cotisation employeur
31 : valeur fixe pour l’employeur
Toutes ces valeurs sont adaptées automatiquement à la période traitée et à l’âge de l’employé.
ASSURANCE(@Donnée:Assurance IJM;1)
donne le taux de cotisation à l’assurance IJM de l’employé.
Le troisième paramètre est facultatif et permet de spécifier si la valeur retournée est calculée en mode mensuel ou annuel. Par défaut, le mode est mensuel. Ajoutez le paramètre 1 pour forcer le mode annuel.
ASSURANCE(@Donnée:Assurance IJM ; 4 ; 1)
donne le montant à déduire, rapporté à la durée de la période le cas échéant.
IMPOT(code ; mode ; déterminant annuel) Donne le taux à appliquer pour l’imposition à la source.
Le paramètre code doit obligatoirement être la rubrique donnant le code de l’impôt (@Donnée:Code d’impôt à la source). Le paramètre mode détermine le type d’information souhaité, cela peut être :
1 : taux selon le montant déterminant en 3ème paramètre
2 : donne 1 si le calcul est annuel (0 pour mensuel)
3 : donne 1 si le calcul annuel ne doit se faire qu’en fin de l’année
4 : donne 1 si le calcul annuel n’est possible que si l’employé était présent toute l’année
5 : donne 1 si le calcul final doit se faire selon le code de la dernière période
6 : donne le nombre d’heures par mois à considérer
7 : donne l’adresse de l’office tel qu’introduit sous Entreprise – Impôt source
8 : donne le n° de contribuable de l’entreprise
9 : donne le taux de la commission de perception
0 : donne 1 si le calcul mensuel doit se faire rétroactivement.
ANNUEL(mode ; brut ; occasionnel ; prévision ; déduction) Procède à une estimation du salaire déterminant annuel.
Le paramètre mode peut être :
0 : estimation en cours d’année
1 : détermination lors du dernier salaire
2 : extrapolation à partir du mois courant uniquement
3 : comme 1 mais limité aux dates d’entrée et de sortie de l’employé.
Le paramètre brut doit être le montant cumulé des indemnités soumises à l’impôt à la source pour la période courante.
Le paramètre occasionnel doit être le cumul des indemnités exceptionnelles soumises. Ces montants ne seront donc pas ramenés proportionnellement à l’année.
Le paramètre prévision permet d’ajouter les montants non encore payés, mais qui devraient l’être à la fin de l’année (indemnités vacances, 13ème salaire).
Le paramètre déduction doit être les montants payés à l’avance sur les vacances et le 13ème salaire.
Le logiciel prend encore en compte les dates des périodes ainsi que les dates d’entrée et de sortie de l’employé.
LISTEDEF(nombre ; texte) S’utilise pour définir le contenu à choix d’une rubrique de type liste. Chaque élément de la liste se compose d’une valeur numérique et d’un texte associé. Voyez l’exemple au §6.3 Les bases.
VARTEMP(nom ; expression) Mémorise le résultat de expression dans l’une des 50 variables temporaires à disposition. La valeur mémorisée peut être reprise avec VARTEMP(nom) sans second paramètre.
VARTEMP(« essai » ; 250) met la valeur 250 dans la variable « essai ».
VARTEMP(« essai ») donne alors 250.
SI (VARTEMP(« essai » ; CUMUL (« AVS »)) > 0 ;
VARTEMP(« essai ») ;
VIDE())
Dans cet exemple, le calcul commence par mémoriser le total des montants soumis à l’AVS dans la variable temporaire « essai ».
Puis il teste si le cumul est > 0. Si oui, l’expression donne le contenu de la variable « essai » (=le montant cumulé), sinon elle est vide.
C’est l’équivalent de
SI (CUMUL (« AVS ») > 0 ;
CUMUL (« AVS ») ;
VIDE())
mais cela évite de calculer deux fois le cumul.
La variable temporaire (nom) est initialisée à VIDE() au début d’une impression ou au début de chaque calcul si elle est utilisée ailleurs que pour une impression.
VARTEMP(index ; expression) Mémorise le résultat de expression dans l’une des 10 variables temporaires à disposition (index = 0 .. 9). La valeur mémorisée peut être reprise avec VARTEMP(index) sans second paramètre.
SI (VARTEMP(7 ; CUMUL (« AVS »)) > 0 ;
VARTEMP(7) ;
VIDE())
Ce calcul mémorise le total des valeurs soumises à l’AVS dans la variable temporaire 7 et donne le contenu si le cumul est > 0.
La variable temporaire (index) est initialisée à VIDE() au début de chaque calcul, même lors d’une impression.
RECURSIF(rubriques) S’utilise pour forcer Crésus à faire un calcul itératif sur une valeur dépendante d’elle-même.
Exemple : pour déterminer la part employeur des charges sociales en partant d’un salaire brut-brut, qui inclut donc ces charges, il faut évaluer le total de ces charges, les déduire du salaire brut-brut, pour déterminer le salaire brut sur lequel on calculera les charges sociales, puis recommencer. Les charges sociales vont donc varier en fonction d’elles-mêmes.
RECURSIF(@Brut:Total des cotisations employeur)
DEBUG(expression) Affiche la formule et les étapes de son évaluation.
Expression peut être un calcul ou une rubrique.
DEBUG(C%(@Brut:Base AVS;@Coef:Taux AVS))
affiche
@Brut:Base AVS[Janvier] ==> 6500.
@Coef:Taux AVS[Janvier] ==> 5.15
C%(6500. ; 5.15) ==> 334.75

CACHE(expression)
Cache l’objet entier si le résultat de l’expression est nul.
CACHE(SI(@Donnée:Sexe de l’employé(e) = 0
; « Monsieur »))
S’il s’agit d’une employée, tout l’objet est caché, y compris son cadre et/ou fond.
COMPTE(chaîne ; critère) Compte le nombre d’occurrences du critère dans la chaîne.
COMPTE(@Donnée:Divers1 ;  » ! ») compte le nombre de points d’exclamation trouvé dans la rubrique Divers1.
SWITCH(condition 0 ; 0 ; condition 1 ; 1 ; condition 2 ; 2 ; … ; condition n ; n) Donne le résultat de l’expression 0 à n selon l’état de la dernière condition 0 à n évaluée.
Si la condition 0 est vraie, donne le résultat de l’expression 0, si la condition 1 est vraie, donne le résultat de l’expression 1, etc.
C’est le résultat de l’expression de la dernière condition vraie évaluée qui est donné.
SWITCH(@Donnée:Mois sélectionné >=1 ; « 1er trimestre »
; @Donnée:Mois sélectionné >=4 ; « 2e trimestre »
; @Donnée:Mois sélectionné >=7 ; « 3e trimestre »
; @Donnée:Mois sélectionné >=10 ; « 4e trimestre »)
Donne le 1er, le 2ème, le 3ème ou le 4ème trimestre selon le mois où se trouve le curseur.
CASE(condition ; 0 ; 1 ; .. ; n) Donne le résultat de l’opération 0 à n en fonction de la valeur de condition. Si la condition vaut 0, donne le résultat de l’opération 0, si la condition vaut 1, donne le résultat de l’opération 1, etc.
POURCHAQUE(objet ; expression) Répète l’expression pour toutes les occurrences de l’objet, par exemple pour chacune des assurances LAA définies ou pour chaque code d’impôt à la source.
POURCHAQUE(@Donnée:Assurance LPP ; expression)
L’objet doit être la rubrique qui fait référence à l’assurance, au code d’impôt à la source ou au lieu de travail.
LIEUTRAVAIL(expression) Les lieux de travail définis pour l’entreprise – anciennement « succursales » – sont référencés par un n° d’identification supérieur ou égal à 300.
@Donnée:Lieu de travail de l’employé affiche ou imprime ce n° d’identification.
LIEUTRAVAIL(@E.Donnée:Lieux de travail)
donne le nom du lieu de travail de l’employé.
Pour imprimer l’adresse et la localité du lieu de travail :
LIEUTRAVAIL(@E.Donnée:Adresse de l’entreprise)
+ « \n »
+ LIEUTRAVAIL(@E.Donnée:Localité de l’entreprise)
Cette expression peut également être formulée ainsi :
LIEUTRAVAIL(@E.Donnée:Adresse de l’entreprise
+ « \n »
+ @E.Donnée:Localité de l’entreprise)
Si le document concerne toute l’entreprise, la fonction LIEUTRAVAIL() donne les données du siège principal de l’entreprise.
LIMITEPERIODES(condition ; expression) Permet de ne traiter que les mois où l’employé garde la même condition.
LIMITEPERIODES(@Donnée:Date d’entrée de l’employé
; TOTANNEE(@Brut:Salaire versé))
donne le total du salaire versé pour la période d’engagement courante (jusqu’au mois courant).
COMPTA(rubrique ; paramètre) Donne les définitions comptables d’une rubrique (§17.11 Comptabilisation des rubriques).
La valeur donnée dépend du paramètre :
COMPTA(rubrique ; 1) : compte débit
COMPTA(rubrique ; 1.1) : compte débit de l’employeur
COMPTA(rubrique ; 2) : compte crédit
COMPTA(rubrique ; 2.1) : compte crédit de l’employeur
COMPTA(rubrique ; 3) : libellé
COMPTA(rubrique ; 3.1) : libellé de la part de l’employeur
COMPTA(rubrique ; 4) : mode
COMPTA(rubrique ; 5) : code analytique
COMPTA(rubrique ; 5.1) : code analytique de la part de l’employeur
COMPTA(rubrique ; 6) : code TVA
Dans un bloc d’exportation « pour toutes les indemnités » (§18.5 Exporter des données), si le critère rubrique est vide, la fonction traite la rubrique courante de la boucle :
COMPTA(; 1.1) donne le compte débit employeur de chaque rubrique traitée dans la boucle.
SPECIALOP(paramètre) Opérations particulières effectuées lors d’une impression ou lors d’une exportation. SPECIALOP() traite toutes les rubriques @Ind:* ou @Déd:*d’une ligne imprimée ou d’un bloc exporté « répété pour » (§18.5 Exporter des données).
SPECIALOP() s’applique à la rubrique courante, en fonction de la valeur de paramètre.
SPECIALOP(90)
donne le type du coefficient de la rubrique :
-1 : type vide
0 : jours
1 : heures
2 : %
3 : sans type (-)
SPECIALOP(91) donne la valeur de la rubrique.
SPECIALOP(92) donne le déterminant de la rubrique.
SPECIALOP(93) donne le coefficient de la rubrique.
SPECIALOP(94) donne le coefficient employeur de la rubrique.
SPECIALOP(95) donne la valeur employeur de la rubrique.

SPECIALOP() est une valeur positive, même pour les déductions. Pour imprimer un signe « + » devant une déduction négative (un remboursement), il faut faire un calcul commeREMPLACE(« + » + CHAINE(0 – SPECIALOP(91) ; 2) ; « +- » ; « – » ; « +0.00 » ; «  »)

INFOASSURANCE(donnée:assurance ; paramètre) Retourne les diverses informations associées à l’assurance.
Tous les éléments donnés sont des textes.
La donnée:assurance peut être l’une des rubriques
@Donnée:Code LAA de l’employé
@Donnée:Assurance LAAC
@Donnée:Assurance LAAC (2ème)
@Donnée:Assurance IJM
@Donnée:Assurance IJM (2ème)
@Donnée:Assurance FT (Frais de traitement)
@Donnée:Assurance LPP
@Donnée:Assurance LPP (2ème)
La valeur donnée dépend du paramètre. Dans les exemples ci-dessous, on teste l’assurance AA complémentaire d’un employé, dont le code est A et qui concerne le groupe Personnel du bureau.
0 : donne le nom complet avec le code.
INFOASSURANCE(@Donnée:Assurance LAAC (2ème) ; 0)
donne A2 : Personnel du bureau, cat. 2
1 : donne le code seul.
INFOASSURANCE(@Donnée:Assurance LAAC (2ème) ; 1)
donne A2
2 : donne le nom et la catégorie.
INFOASSURANCE(@Donnée:Assurance LAAC (2ème) ; 2)
donne Personnel du bureau, cat. 2
3 : donne le code et le nom seul.
INFOASSURANCE(@Donnée:Assurance LAAC (2ème) ; 3)
donne A2 : Personnel du bureau
4 : donne la catégorie seulement, par exemple
INFOASSURANCE(@Donnée:Assurance LAAC (2ème) ; 4)
donne cat. 2
5 : donne le nom seul, par exemple
INFOASSURANCE(@Donnée:Assurance LAAC (2ème) ; 5)
donne Personnel de bureau
6 : donne le type, par exemple
INFOASSURANCE(@Donnée:Assurance LAAC (2ème) ; 6)
donne A2
7 : donne le groupe de personnes, par exemple
INFOASSURANCE(@Donnée:Assurance LAAC (2ème) ; 7)
donne A
8 : donne la catégorie
INFOASSURANCE(@Donnée:Assurance LAAC (2ème) ; 8)
donne 2
11 : donne le numéro Swissdec de l’assureur
12 : donne le numéro de client
13 : donne le numéro de contrat
14 : donne le nom de l’assureur
15 : donne l’adresse de l’assureur
16 : donne le NPA de l’assureur
17 : donne la ville de l’assureur
TOTEMPLOYESCSV(critère ; colonne 1 ; colonne 2 ; … ; colonne n) et
TOTANNEECSV(critère ; colonne 1 ; colonne 2 ; … ; colonne n)
S’utilisent lors d’une exportation pour produire un tableau indiquant le cumul des données qui répondent au critère (§18.5.2 Les opérateurs spéciaux TOTEMPLOYESCSV() et TOTANNEECSV())
ADRESSE(mode ; rubrique) Donne l’élément mode du champ rubrique de type NPA/Rue/Localité (§17.7.3 Rubriques de type Données).
La valeur donnée dépend de mode :
0 : NPA Localité
1 : Rue
2 : NPA
3 : Localité
4 : Canton
5 : Pays (code ISO)
6 : Pays (en toutes lettres)
ADRESSE(0 ; @Donnée:Adresse du mandataire)
donne le NPA et localité du mandataire.
SETDATA(rubrique ; expression ; paramètre) S’utilise pour affecter une valeur à une rubrique. Peut s’utiliser dans des expressions complexes.
Le paramètre est facultatif et spécifie la période de paie concernée. S’il est omis, l’expression est affectée à la valeur globale de la rubrique.
SETDATA(@Ind:Autres frais forfaitaires ; 200 ; 2)
met 200.– dans les frais forfaitaires de l’employé en février.
TOTEMPLOYES(SETDATA(@Donnée:Jours vacances par année;25))
met 25 jours dans la valeur globale de tous les employés.

Attention : aucun contrôle n’est fait lors d’un SETDATA(), il est possible de modifier des salaires existants, mais ils ne sont pas recalculés.

OP (expression 1 | expression 2 | … | expression n) S’utilise pour effectuer plusieurs calculs dans la même formule.
OP(VARTEMP(« base »
; DEFAUT(@Ind:Salaire mensuel
; @Ind:Salaire horaire))
| VARTEMP(« taux » ; 12)
| VARTEMP(« bonus » ; C%(VARTEMP(« base »)
; VARTEMP(« taux »)))
| SETDATA(@Ind:Bonus ; VARTEMP(« bonus »)))
MESSINFO(mode ; texte) S’utilise dans le calcul Obligatoire selon de la définition d’une rubrique pour affiche un message dans une bulle d’aide ou après avoir saisi une valeur lors de la saisie de données.
Le paramètre mode détermine l’icône affichée dans le champ et le niveau du message :
« INFO » : le message est une information.
« WARNING » : c’est un avertissement, mais il n’est pas impératif de s’y conformer pour quitter la saisie. Le point d’exclamation est rouge pâle, mais le champ de saisie est blanc.
« ERROR » : c’est un avertissement important, mais il n’est pas impératif de s’y conformer pour quitter la saisie. Le point d’exclamation et le champ de saisie sont rouge pâle.
« KO » : c’est un avertissement incontournable, tant que la valeur entrée ne répond pas au critère, il ne sera pas possible de valider la saisie. Le point d’exclamation est rouge vif.

 

POURFICHIER(fichier ; expression_debut ; expression_ligne ; expression_fin) Permet d’ouvrir un fichier de type texte et d’en traiter le contenu.
expression_début est évaluée une fois au début du traitement
expression_ligne est appliquée sur chaque ligne du fichier
expression_fin est évaluée à la fin du traitement.
La fonction n’est évaluée qu’une seule fois par fichier, ensuite elle retourne toujours le résultat évalué cette fois-là.
Si on souhaite plusieurs résultats, il faut mettre un critère à la suite du nom de fichier après l’un des caractères |;¦?*/ par exemple
« %EXEPATH%ListeCommunes.txt; » + @Donnée:NPA de l’employé
Dans ce cas POURFICHIER sera évalué pour chaque NPA différent rencontré dans le fichier Crésus.
expression_ligne est évaluée pour chaque ligne du fichier lu.
Le contenu de la ligne est donné dans VARTEMP(« #Line »).
On peut utiliser les fonctions habituelles sur la variable, comme
MOT(VARTEMP(« #Line »); 5 ; « ; ») dans un fichier CSV pour trouver le 5ème élément.
Le résultat de l’expression (toujours une chaîne de caractères) est ajouté à la chaîne donnée par la fonction.
Par exemple :
POURFICHIER
(« %EXEPATH%\\NuPost.TXT » ;
« villes:  » ;
SI(MOT(VARTEMP(« #Line ») ; 3 ; « \t ») = « 1400 » ;
MOT(VARTEMP(« #Line ») ; 5 ; « \t ») + « , « ) ;
« npa = 1400 »
)
ouvre le fichier NuPost.txt
met le texte villes: au début de la chaîne à donner
évalue chaque ligne du fichier : si le 3e mot de la ligne est 1400, ajoute le 5e mot de la ligne et une virgule à la chaîne à donner
ajoute le texte npa = 1400 à la fin de la chaîne à donner
ce calcul donne ceci
villes: Cheseaux-Noréaz, Yverdon-les-Bains, Yverdon 1, Yverdon 2, Yverdon 3, Yverdon car postal, Yverdon 1 Dist, Yverdon Caserne, npa = 1400
DONNEE(mode ; expression) Donne la valeur calculée par Crésus ou la valeur introduite par l’utilisateur en fonction de mode.
mode = 1 : donne la valeur calculée par Crésus
mode = 2 : donne la valeur saisie par l’utilisateur
La valeur donnée est vide si elle n’existe pas.
DONNEE (1 ; @Ind:Salaire mensuel) donne le salaire mensuel calculé pour le mois, même s’il a été modifié manuellement au moment de sa saisie.
POURLANGUE(paramètre ; expression) Donne l’expression dans la langue en fonction de paramètre.
paramètre peut être
0 : français
1 : allemand
2 : anglais
3 : italien
Suggest Edit

Recherche