Notions de champ et commande
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. Elle sont à utiliser avec précaution et sur conseil du service maintenance pour celles qui ne sont pas référencées ici.
Chaînes de caractères
Char (Caractere)
La fonction Char retourne le caractère dont le code Unicode ASCII est donné en argument.
Par exemple Char(234) donnera "ê" sous Windows.
String (Chaine)
La commande String 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 :
- String(1/3;"##0.00000") donnera 0.33333
- String([Salarie]DateEntree) permettra d'utiliser la commande SiSinonTexte sur le champ [Salarie]DateEntree.
Uppercase (Majusc)
La commande Uppercase convertit une chaîne da caractère en majuscules. L'argument optionnel "*" permet de conserver les accents.
Par exemple :
- Uppercase("hélène") donnera HELENE
- Uppercase("hélène";*) donnera HÉLÈNE
Lowercase (Minusc)
La commande Lowercase convertit une chaîne de caracère en minuscules. L'argument optionnel "*" permet de conserver les accents.
Par exemple :
- Lowercase("HÉLÈNE") donnera helene
- Lowercase("HÉLÈNE";*) donnera hélène
Num
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
Dates et heures
Add to date (Ajouter a date)
Ajouter a date permet d'ajouter ou d'enlever des années, mois et jours à une date donnée.
Par exemple :
- Add to date(DateDuJour;1;0;0) donnera la date dans un an le même jour
- Add to date(DateDuJour;0;0;1) donnera la date de demain
- Add to date([Contrat]DateDebut;0;-1;0) donnera la date un mois avant la date de début de contrat
Year of (Annee de)
Year of retourne l'année d'une date donnée.
Par exemple Year of(!25/12/1977!) donnera 1977.
Date
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).
Day of (Jour de)
Day of retourne le jour d'une date donnée.
Par exemple Day of (!25/12/1977!) donnera 25.
Month of (Mois de)
Month of retourne le mois d'une date donnée.
Par exemple Month of (Date du jour) donnera le mois de la date courante telle que définie dans l'horloge système de la machine.
Day number (Numero du jour)
Day number 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 Day number (!25/12/1977!) donnera 1 puisque le 25 décembre 1977 était un dimanche.
Fonctions mathématiques
Abs
Abs retourne la valeur absolue positive d'un chiffre
Par exemple Abs(-12,3) donnera 12,3
Round (Arrondi)
Round retourne la valeur arrondie du nombre donné en argument. Un second argument permet de préciser le nombre de décimales.
Par exemple
- Round(16,857;2) donnera 16,86
- Round(16857;-3) donnera 16000
Int (Ent)
Int retourne la partie entière du nombre donné en argument, en l'arrondissant à l'entier inférieur.
Fonctions statistiques
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.
Outils
Choose (Choisir)
La commande Choose 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
- Choose([Paie]NetAPayer<200;"moins de 200 euros";"plus de 200 euros") retournera "moins de 200 euros" si le champ NetAPayer est inférieur à 200
- Choose (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...)