Booléens (opérations sur les valeurs vrai / faux)
Conteneur de données (opérations sur le contenu du presse papier)
Enregistrements (commandes a priori non utile dans sPAIEctacle)
Les champs sont des données directement stockées dans une des tables du fichier de données. Elle peuvent avoir un formatage simple prédéfini (par exemple les noms sont en majuscules). Dans les courriers ou les états, un champs est indiqué de la façon suivante : [NomDeLaTable]NomDuChamp.
Les commandes sont des données complexes ou formatées (par exemple le cumul brut des paies d'un contrat ou le numéro de sécurité social d'un salarié formaté avec des espaces).
Les commandes 4D en particulier, permettent différentes opérations sur les champs du fichier de données. Elles sont classées par thèmes.
Faux retourne la valeur booléenne Faux.
Non retourne la valeur inverse de booléen. Par exemple Non(Vrai) donnera la valeur booléenne Faux.
Vrai retourne la valeur booléenne Vrai.
La fonction Caractere retourne le caractère dont le code Unicode ASCII est donné en argument.
Par exemple Caractere(234) donnera "ê" sous Windows.
La commande Chaine retourne sous forme de chaîne alphanumérique l'expression de type numérique, date, heure, chaîne ou booléen donnée en argument. Un second argument permet de définir le format.
Par exemple :
Chaine(1/3;"##0.00000") donnera 0.33333
Chaine([Salarie]DateEntree) permettra d'utiliser la commande SiSinonTexte sur le champ [Salarie]DateEntree.
La fonction Code de caractere retourne le code Unicode ASCII du caractère donné en argument.
Par exemple Code de caractere("ê") donnera "234" sous Windows.
Commande obsolète
La commande Inserer chaine permet d'insérer une chaîne de caractère dans une autre chaîne, à partir d'un caractère donnée.
Par exemple Inserer chaine("sctacle";"PAIE";2) va insérer "PAIE" dans la chaîne "sctacle" à partir du 2ème caractère soit "sPAIEctacle".
Commande obsolète
La commande Longueur retourne le nombre de caractère d'une chaîne.
Par exemple Longueur("sPAIEctacle") donnera 11.
Commande obsolète
Commande obsolète
La commande Majusc convertit une chaîne da caractère en majuscules. L'argument optionnel "*" permet de conserver les accents.
Par exemple :
Majusc("hélène") donnera HELENE
Majusc("hélène";*) donnera HÉLÈNE
La commande Minusc convertit une chaîne de caracère en minuscules. L'argument optionnel "*" permet de conserver les accents.
Par exemple :
Minusc("HÉLÈNE") donnera helene
Minusc ("HÉLÈNE";*) donnera hélène
La fonction Num retourne sous forme de numérique l'expression de type chaîne, booléen ou numérique passée en argument.
Par exemple :
Num("A1B2C3") donnera 123
Num("-123e2") donnera -12300
Num("123e-2") donnera 1,23
Num(Vrai) donnera 1
Num(Faux) donnera 0
La fonction Position retourne la position d'une chaîne dans une autre chaîne. Un premier argument optionnel permet d'indiquer le nombre de caractère à ignorer, un second permet notamment de prendre en compte la casse et les accents.
Par exemple :
Position("PAIE", "sPAIEctacle") donnera 2
Position("pàie", "sPAIEctacle") donnera 2
Position("pàie", "sPAIEctacle";1;*) donnera 0
Position("PAIE", "sPAIEctacle et LaPAIE";5) donnera 18
La commande Remplacer caracteres retourne une chaîne résultant du remplacement des caractères, dans une chaîne source, à partir d'une position départ, par une autre chaîne.
Par exemple :
Remplacer caracteres("spaiectacle";"PAIE";2) donnera sPAIEctacle
Remplacer caracteres("novembre";"déc";1) donnera décembre
La commande Remplacer chaine permet de remplacer dans une chaîne source, une chaîne de caractère par une autre. L'argument optionnel "*" permet de tenir compte de la case et des accents.
Par exemple :
Remplacer chaine("abattement pour frais professionnels";"tement";".") donnera "abat. pour frais professionnels"
Remplacer chaine([Paie]TexteSurBulletin;Caractere(Tabulation);",";*) remplace les tabulations du champ TexteSurBulletin par des virgules
Remplacer chaine("Pays de résidence";"residence";"naissance") donnera "Pays de naissance"
Remplacer chaine("Pays de résidence";"residence";"naissance";*) donnera "Pays de résidence"
La fonction Sous chaine retourne une partie de la chaîne donnée en argument. La partie à extraire est délimitée soit par le premier caractère et le nombre de caractère à extraire, soit par le nombre de caractère à ignorer.
Par exemple :
Sous chaine("sPAIEctacle";2;4) donnera "PAIE"
Sous chaine("LaPAIE";2) donnera "PAIE"
Supprimer chaine supprime des caractères d'une chaîne donnée en argument. La partie à supprimer est délimitée par le premier caractère et le nombre de caractère à supprimer.
Par exemple :
Supprimer chaine("abattement pour frais professionnels";5;11) donnera "abat frais professionnels"
Supprimer chaine("abattement pour frais professionnels";5;99) donnera "abat"
Commande obsolète
La commande Lire texte dans conteneur retourne le texte présent dans le conteneur de données.
En pratique, cela permet d'insérer dans un état ou un courrier le contenu du presse papier.
Ajouter a date permet d'ajouter ou d'enlever des années, mois et jours à une date donnée.
Par exemple :
Ajouter a date(Date du jour;1;0;0) donnera la date dans un an le même jour
Ajouter a date(Date du jour;0;0;1) donnera la date de demain
Ajouter a date([Contrat]DateDebut;0;-1;0) donnera la date un mois avant la date de début de contrat
Annee de retourne l'année d'une date donnée.
Par exemple Annee de (!25/12/1977!) donnera 1977.
Chaine heure retourne le nombre de seconde donné, au format HH:MM:SS.
Par exemple Chaine heure(46801) donnera 13:00:01 (donnée de type texte).
Date transforme un chaine de caractère en date. Le texte en argument doit avoir la forme JJ/MM/AA. Les séparateurs autorisés sont la barre oblique, le point, la virgule, l'espace et le tiret. Pour l'année, si la valeur saisie est supérieur ou égale à 30 on considère qu'il s'agit de 19.., si la valeur saisie est inférieur à 30, on considère qu'il s'agit de 20..
Par exemple Date("25/12/77") donnera 25/12/1977 (donnée de type date).
Date du jour retourne la date courante telle que définie dans l'horloge système de la machine.
Heure transforme un chaine de caractère en donnée de type heure. L'argument doit contenir une heure exprimée dans l'un des formats d'heure standard de 4D correspondant à la langue de votre système (voir à ce sujet la fiche Formatage des données). Un second argument permet de formater le résultat.
Par exemple Chaine(Heure("13:00:00");Heure Minute) donnera "13 heures 0 minutes" (donnée de type heure).
Heure courante retourne l'heure courante telle que définie dans l'horloge système de la machine.
Jour de retourne le jour d'une date donnée.
Par exemple Jour de (!25/12/1977!) donnera 25.
Mois de retourne le mois d'une date donnée.
Par exemple Mois de (Date du jour) donnera le mois de la date courante telle que définie dans l'horloge système de la machine.
Nombre de millisecondes retourne le nombre de millisecondes écoulées depuis le démarrage de la machine.
Nombre de ticks retourne le nombre de ticks (1 tick = 1/60ème de seconde) écoulés depuis le démarrage de la machine.
Numero du jour retourne un numéro représentant le jour de la semaine auquel correspond la date donnée. Le résultat est 1 pour "dimanche", 2 pour lundi, 3 pour mardi, etc... Si la date donnée est invalide, le résultat sera 2.
Par exemple Numero du jour (!25/12/1977!) donnera 1 puisque le 25 décembre 1977 était un dimanche.
Ces commandes ne sont a priori pas à utiliser, ni dans un état rapide, ni dans un courrier.
Numero enregistrement retourne le numéro de l'enregistrement courant de la table donnée en argument.
Numerotation automatique retourne le prochain numéro automatique de la table donnée en argument.
Abs retourne la valeur absolue positive d'un chiffre
Par exemple Abs(-12,3) donnera 12,3
Arrondi retourne la valeur arrondie du nombre donné en argument. Un second argument permet de préciser le nombre de décimales.
Par exemple
Arrondi(16,857;2) donnera 16,86
Arrondi(16857;-3) donnera 16000
La commande Convertisseur Euro permet d'effectuer tout type de conversion de valeurs entre les différentes monnaies des pays de la "zone euro" et l’Euro lui-même. Il est possible de convertir une monnaie nationale en Euros, des Euros en une monnaie nationale, une monnaie nationale en une autre monnaie nationale (dans ce cas, la conversion s’effectue toujours par l’intermédiaire de l’Euro).
Le premier argument est la valeur à convertir, le second est le libellé de la monnaie dans laquelle valeur est exprimée, le troisième le libellé de la monnaie dans laquelle la valeur doit être convertie.
Les valeurs prises en compte sont les suivantes :
Libellé monaie |
Valeur pour 1 Euro |
Code ISO |
Drachme grecque |
340,750 |
GRD |
Escudo portugais |
200,482 |
PTE |
Euro |
1 |
EUR |
Florin néerlandais |
2,20371 |
NLG |
Franc belge |
40,3399 |
BEF |
Franc français |
6,55957 |
FRF |
Franc luxembourgeois |
40,3399 |
LUF |
Lire italienne |
1936,27 |
ITL |
Livre irlandaise |
0,787564 |
IEP |
Mark allemand |
1,95583 |
DEM |
Mark finlandais |
5,94573 |
FIM |
Peseta espagnole |
166,386 |
ESP |
Schilling autrichien |
13,7603 |
ATS |
Par exemple :
Convertisseur Euro(100;Franc français;Euro) donnera 15,24
Convertisseur Euro([Paie]NetAPayer;Euro;Lire italienne) donnera le montant du champ NetAPayer en Lires italiennes
Ent retourne la partie entière du nombre donné en argument, en l'arrondissant à l'entier inférieur.
Troncature retourne la nombre donné en argument, tronquée à partir du nombre de décimales spécifié en second argument.
Par exemple :
Troncature(216,897;2) donnera 216,89
Troncature(216,897;-2) donnera 200
Arctan(nombre) retourne en radians la valeur de l'angle dont la tangente est nombre.
Cos(nombre) retourne le cosinus de nombre (exprimé en radians).
Dec(nombre) retourne la partie décimale de nombre.
Exp(nombre) retourne l'exponentielle (e=2,71828...) de nombre.
Hasard retourne une valeur entière aléatoire comprise entre 0 et 32 767 (inclus).
Log(nombre) retourne le logarithme népérien de nombre.
Modulo(nombre1;nombre2) divise nombre1 par nombre2 et retourne le reste sous forme d'un nombre entier.
Racine carree(nombre) retourne la racine carrée de nombre.
Sin(nombre) retourne le sinus de nombre (exprimé en radians).
Tan(nombre) retourne la tangente de nombre (exprimé en radians).
Les fonction statistiques ont pour argument une table. Elles retourne l'Ecart type, la valeur Max Min ou Moyenne, la Somme Somme des carres ou Variance de la table.
Par exemple la commande Max([Paie]NetAPayer) utilisée dans un état rapide donnera le net à payer le plus élevé de la sélection de départ.
Commandes ne pouvant pas être utilisée dans sPAIEctacle.
Page impression retourne le numéro de la page en cours d'impression.
Les commandes Niveau et Sous total ne sont a priori pas à utiliser, ni dans un état rapide, ni dans un courrier. Pour effectuer des tris et sous-totaux dans un état rapide, il convient d'insérer une ligne de sous-total.
La commande Choisir retourne l’une des valeurs passées en argument (valeur1, valeur2, etc...) en fonction d'un critère de type booléen ou numérique.
Par exemple
Choisir([Paie]NetAPayer<200;"moins de 200 euros";"plus de 200 euros") retournera "moins de 200 euros" si le champ NetAPayer est inférieur à 200
Choisir(Numero du jour(Date du jour);"dimanche";"lundi";"mardi") retournera le jour en toute lettre du dimanche au mardi, rien les autres jours (la valeur1 correspond à 0, la valeur2 correspond à 1, etc...)