SmartExpressions : Différence entre versions
Ligne 11 : | Ligne 11 : | ||
== Bases de la syntaxe == | == Bases de la syntaxe == | ||
− | ''En cours de construction'' | + | ''En cours de construction et de revue'' |
+ | |||
+ | <code>?</code> : Alors | ||
+ | <code>~</code> : Concaténation (entre plusieurs chaînes de caractères) | ||
+ | |||
== Les fonctions == | == Les fonctions == |
Version du 25 août 2020 à 09:03
Cette page est en cours de construction
Sommaire
Introduction
On désigne par "SmartExpressions" la syntaxe permettant de paramétrer les Dynvars.
Paramétrage
Pour mémoire : la syntaxe est basée sur PHP : https://www.php.net/manual/fr/funcref.php
Bases de la syntaxe
En cours de construction et de revue
?
: Alors
~
: Concaténation (entre plusieurs chaînes de caractères)
Les fonctions
Principes
Une fonction prend toujours la forme suivante : MA_FONCTION( xxx )
Une fonction est donc toujours composée de trois éléments :
MA_FONCTION
: on commence toujours par nommer la fonction souhaitée.
( )
: ces parenthèses dites "d'exécution" peuvent contenir plusieurs paramètres, séparés chacun par une virgule. Chaque fonction pourra avoir plus ou moins de paramètres.
xxx
: les paramètres de la fonction. Ce sont les paramètres qui vont permettre à la fonction de s'exécuter.
Applications
Fonctions sur les Dates
addition de deux dates
- Fonction :
date_sum
- Nombre de paramètres :
3
- Paramètres attendus : Date de début, Un nombre, Une chaîne de caractères parmi : year; month; day; hour; minute; second
Par exemple :
Ajouter 3 années à une date de signature
date_sum(DATE_SIGNATURE,3,year)
La Dynvar ainsi paramétrée renverra la date d'arrivée en ajoutant 3 années à la date de signature
calcul de la différence entre deux dates
- Fonction :
date_diff
- Nombre de paramètres :
3
- Paramètres attendus : Date de début, Date de fin, Une chaîne de caractères parmi : year; month; day; hour; minute; second
Par exemple :
Trouver le nombre d'années de différences entre une date de signature et la date (fixe) du 09/09/2004
date_diff(DATE_SIGNATURE,09/09/2004
Trouver le nombre d'années de différences entre une date de signature et la date (fixe) du 09/09/2004
renvoyer automatiquement la date du jour
Spécificité : fonction unaire, ne possède pas de paramètres
- Fonction :
now()
- Nombre de paramètres :
0
- Paramètres attendus : N/A
Par exemple :
trouver automatiquement l'âge d'un individu
- Fonction :
years_old
- Nombre de paramètres :
1
- Paramètres attendus : Une date
Par exemple :
years_old(DATE_NAISSANCE)
isoler le jour, le mois, l'année d'une date
- Fonction :
date_day
date_month
date_year
- Nombre de paramètres :
1
- Paramètres attendus : Une date
Par exemple : date_month(DATE_SIGNATURE)
changer le format d'une date
- Fonction :
date_format
- Nombre de paramètres :
2
- Paramètres attendus : Une date, Un format de date
Par exemple :
Passer d'une date complète à un format jour/mois
date_format(DATE_NAISSANCE, "d/m")
Fonctions sur les Nombres
Introduction : notez bien que les traitements sur les nombres peuvent être effectués aussi bien sur des variables que sur d'autres dynvars
arrondir un nombre en choisissant le nombre de chiffres souhaités après la virgule
- Fonction :
round
- Nombre de paramètres :
2
- Paramètres attendus : Un nombre, Un autre nombre
La fonction enregistre le premier nombre, puis l'arrondit en fonction du deuxième paramètre
Par exemple :
Pour arrondir un prix d'achat à 3 chiffres après la virgule
round(PRIX_ACHAT, 3)
arrondir un nombre entier à l'entier inférieur
- Fonction :
floor
- Nombre de paramètres :
1
- Paramètres attendus : Un nombre
La fonction attend un nombre et lui retire ses décimales en arrondissant à l'entier inférieur
Par exemple :
Pour arrondir un prix d'achat à l'entier inférieur
floor(PRIX_ACHAT)
arrondir un nombre entier à l'entier supérieur
- Fonction :
ceil
- Nombre de paramètres :
1
- Paramètres attendus : Un nombre
La fonction attend un nombre et lui retire ses décimales en arrondissant à l'entier supérieur
Par exemple :
Pour arrondir un prix d'achat à l'entier supérieur
ceil(PRIX_ACHAT)
Fonctions sur les Chaînes de caractères
Comparer deux chaînes de caractères
- Fonction :
contains
- Nombre de paramètres :
2
- Paramètres attendus : Une Chaîne de caractères (string), une autre Chaîne de caractères
La première chaîne de caractères est la chaîne dans laquelle rechercher, la deuxième chaîne de caractère est la chaîne à rechercher
La Dynvar paramétrée avec cette fonction vaudra TRUE si la chaîne du second paramètre est incluse dans la chaîne du 1er paramètre
Par exemple :
contains(PRENOM,NOM)
Trouver si une chaîne de caractères commence par une autre chaîne de caractères
- Fonction :
begins_with
- Nombre de paramètres :
2
- Paramètres attendus : Une Chaîne de caractères (string), une autre Chaîne de caractères
La première chaîne de caractères est la chaîne dans laquelle rechercher, la deuxième chaîne de caractère est la chaîne à rechercher
La Dynvar paramétrée avec cette fonction vaudra TRUE si la chaîne du premier paramètre commence par la chaîne du second paramètre
Trouver si une chaîne de caractères se finit par une autre chaîne de caractères
- Fonction :
ends_with
- Nombre de paramètres :
2
- Paramètres attendus : Une Chaîne de caractères (string), une autre Chaîne de caractères
La première chaîne de caractères est la chaîne dans laquelle rechercher, la deuxième chaîne de caractère est la chaîne à rechercher
La Dynvar paramétrée avec cette fonction vaudra TRUE si la chaîne du premier paramètre se finit par la chaîne du second paramètre
Tronquer une chaîne de caractères
- Fonction :
substring
- Nombre de paramètres :
3
- Paramètres attendus : Une Chaîne de caractères (string), le nombre à partir duquel la fonction doit tronquer, le nombre de caractères à prendre en compte après la troncation
À noter : le troisième paramètre est facultatif. S'il n'est pas présent, la fonction renverra tous les caractères situés après la troncation
Par exemple :
Pour une dynvar paramétrée de la manière suivante : substring(DENOMINATION, 2, 3)
;
Si la variable DENOMINATION vaut "Hercule";
La Dynvar ainsi paramétrée vaudra "rcu"
Ou encore :
Pour une dynvar paramétrée de la manière suivante : substring(DENOMINATION, 0, 4)
;
Si la variable DENOMINATION vaut "Hercule";
La Dynvar ainsi paramétrée vaudra "Herc"
Ou enfin :
Pour une dynvar paramétrée de la manière suivante : substring(DENOMINATION, 2)
;
Si la variable DENOMINATION vaut "Hercule";
La Dynvar ainsi paramétrée vaudra "rcule"