Utilisation des formules d'importation
Back-Office > Échanges de données > Reprise de données > Paramétrage > Formats de reprise
Notez que pour les champs numériques, la formule doit impérativement être encadrée par des parenthèses.
Fonctionnement
Dans le paramétrage d’un
format d’importation, une fois positionné sur le champ concerné, appuyez
sur le bouton [Définir une formule de calcul]. La fenêtre Formule s’affiche
permettant de paramétrer une formule simple ou conditionnelle.
Champs disponibles
Champs |
Description |
[VALEUR] |
Donne la valeur lue dans le fichier d’import. |
[VALDEFAUT] |
Donne la valeur par défaut définie dans les tables de correspondances. |
[SO_LIBELLE] |
Valeur du paramètre société. |
[GP_TIERS] |
Valeur d’un champ de la table traitée. Dangereux car il faut que le champ soit chargé lorsque la formule est traitée. |
[ETABCOURANT] |
Donne la valeur de l’établissement courant. |
Formules simples
Formule d’extraction
["C2.5"VALEUR] : à partir de la valeur lue, extrait dans le fichier les caractères à partir de la position 2 sur une longueur de 5.
Formule de concaténation
[VALEUR]ABCD : ajoute ABCD à la valeur lue dans le fichier.
Le langage des scripts peut être utilisé. Des fonctions de traitement des chaînes de caractères sont ainsi disponibles : COPY, TRIM, LTRIM, RTRIM, LENGTH, INSERE, TOUPPER, POS, DELETE, EXTRACTVALEUR, DELETECRETLF, etc.
Des opérateurs arithmétiques sont également à disposition.
L’expression doit obligatoirement retourner une chaîne de caractères.
Il est important d’entourer les champs par des caractères ‘ comme dans l’exemple suivant qui permet d’ignorer les deux derniers caractères significatifs de la valeur lue dans le fichier.
Exemple d’extraction avec une formule simple :
COPY(TRIM('[VALEUR]'),1,LENGTH(TRIM('[VALEUR]'))-2)
Exemple de concaténation avec une formule simple :
('E\PGI01\IMAGES\03H\BD\')+COPY(TRIM('[VALEUR]'),1,(LENGTH(RTRIM('[VALEUR]'))-3))+('.JPG')
Insere
Syntaxe |
Insere( S1, S2 : string , P : integer ) : string |
Description |
Insère la chaîne S1 à la position P dans la chaîne S2, et renvoie la chaîne construite. |
Paramètres |
|
Retour |
La chaîne construite. |
Copy
Syntaxe |
Copy(Str : string , Début, Longueur : integer) : string |
Description |
Renvoie une sous-chaîne d'une chaîne. |
Paramètres |
|
Retour |
La chaîne extraite. |
POS
Syntaxe |
Pos (SubStr, Str : string ) : integer |
Description |
Renvoie la valeur d'index du premier caractère dans une sous-chaîne spécifiée qui se trouve dans une chaîne. |
Paramètres |
|
Retour |
Position de SubStr dans Str. |
Delete
Syntaxe |
Delete (Str : string, Debut, Longueur : integer ) : string |
Description |
Permet de supprimer une partie de chaîne. |
Paramètres |
|
Retour |
La chaîne modifiée. |
Trim
Syntaxe |
Trim (St : string) : string |
Description |
Permet d’enlever les espaces à gauche ET à droite d’une chaîne. |
Paramètres |
St : chaîne dont il faut supprimer les espaces avant et après. |
Retour |
String : Retourne la chaîne modifiée. |
Ltrim
Syntaxe |
Ltrim (St : string) : string |
Description |
Permet d’enlever les espaces à gauche d’une chaîne. |
Paramètres |
St : chaîne dont il faut supprimer les espaces avant. |
Retour |
Chaîne modifiée. |
Rtrim
Syntaxe |
Rtrim (St : string) : string |
Description |
Permet d’enlever les espaces à droite d’une chaîne. |
Paramètres |
St : chaîne dont il faut supprimer les espaces après. |
Retour |
Chaîne modifiée. |
Length
Syntaxe |
Length (St : string) : integer |
Description |
Permet de déterminer la longueur d’une chaîne; |
Paramètres |
Str : chaîne dont il faut compter le nombre de caractères. |
Retour |
Retourne le nombre de caractères de St. |
ToUpper
Syntaxe |
ToUpper( Str : string ) : string |
Description |
Convertit une chaîne en majuscules. |
Paramètres |
Str : chaîne à convertir. |
Retour |
La chaîne en majuscules. |
Le champ mis en majuscule ne peut contenir que les caractères spéciaux suivants : ‘ ( ) [ ] @ + - / * % ~ |
|
ExtractValeur
Syntaxe |
ExtractValeur( St : string ) : string |
Description |
Extrait la partie droite dans une chaîne comportant le signe = |
Paramètres |
Str : chaîne sous la forme PartieGauche=PartieDroite. |
Retour |
La partie droite de l’égalité. |
Exemple |
ExtractValeur(PartieGauche=PartieDroite) // donne PartieDroite |
IntToStr
Syntaxe |
IntToDtr(Entier : integer ) : string |
Description |
Convertit un entier en chaîne. |
Paramètres |
Entier : entier à convertir en chaîne. |
Retour |
Retourne la chaîne. |
StrToInt
Syntaxe |
StrToInt (Str : string) : integer |
Description |
Convertit une chaîne en entier. |
Paramètres |
Str : chaîne à convertir en entier. |
Retour |
Retourne l’entier. |
ABS
Syntaxe |
ABS( num : extended ) : integer |
Description |
Retourne la valeur absolue de la valeur passée en paramètre. |
Paramètres |
num : valeur numérique dont il faut extraire la valeur absolue. |
Retour |
Valeur absolue (Num). |
Arrondi
Syntaxe |
Arrondi( Num : double, Dec : integer ) : double |
Description |
Retourne la valeur arrondie de la valeur passée en paramètre. Cette fonction permet également de convertir en format double le résultat d’un GetChamp(THDBEdit)de type DOUBLE. |
Paramètres |
|
Retour |
Le Nombre arrondi. |
Exemple |
A:= arrondi (Nbre.value, 4 ) B := arrondi( GetChamp('GA_DPA') ,2 ) |
Round
Syntaxe |
Round( Num : double ) : integer |
Description |
Retourne la valeur arrondie à l’entier le plus proche. |
Paramètres |
num : valeur numérique à arrondir. |
Retour |
L’entier le plus proche. |
Date
Syntaxe |
Date( ) : TDateTime |
Description |
Donne la date actuelle. |
Paramètres |
Aucun. |
Retour |
Date actuelle. |
Exemple |
DateFin := Date( )+30 |
Remarques |
La formule fonctionne à condition qu'un espace soit présent entre les 2 parenthèses : (Date( )) La formule retourne une chaîne de caractères contenant la date au format des paramètres régionaux du poste réalisant l'intégration. Si cette formule est utilisée sur un champ date et que le format des paramètres régionaux ne correspond pas au format de date défini dans le paramétrage d'import, il y aura une erreur. |
Maintenant
Syntaxe |
Maintenant( ) : TDateTime |
Description |
Donne la date et l’heure actuelles. |
Paramètres |
Aucun. |
Retour |
Date et heure actuelles. |
Heure
Syntaxe |
Heure( ) : TDateTime |
Description |
Donne l’heure actuelle. |
Paramètres |
Aucun. |
Retour |
Heure actuelle HH :MM :SS |
Month
Syntaxe |
Month( Date : TDateTime) : integer |
Description |
Renvoie le mois correspondant à la date passée en paramètre. |
Paramètres |
date : la date |
Retour |
N° du mois de la date, de 1 à 12. |
PlusMois
Syntaxe |
PlusMois( Ladate : TDateTime, NbMois : integer ) : TDateTime |
Description |
Ajoute des mois à une date. |
Paramètres |
|
Retour |
La nouvelle date. |
DebutDeMois
Syntaxe |
DebutDeMois( Ladate : TDateTime ) : TDateTime |
Description |
Retourne le premier jour du mois d'une date donnée. |
Paramètres |
LaDate : date à tester au format Tdatetime |
Retour |
Retourne la date correspondant au premier jour du mois de LaDate. |
FinDeMois
Syntaxe |
FinDeMois( LaDate : TDateTime ): TDateTime |
Description |
Retourne le denier jour du mois d'une date donnée. |
Paramètres |
LaDate : date à tester au format Tdatetime |
Retour |
Retourne la date correspondant au dernier jour du mois de LaDate. |
DebutAnnee
Syntaxe |
DebutAnnee( Ladate : TDateTime ) : TDateTime |
Description |
Retourne le premier jour de l’année d'une date donnée. |
Paramètres |
LaDate : date |
Retour |
Retourne la date correspondant au premier jour de l’année. |
On peut, à l’aide des formules conditionnelles, remplacer une valeur par une autre. La formule doit obligatoirement retourner une chaîne de caractères.
Il est important d’entourer les champs par des caractères ‘ comme dans l’exemple suivant qui permet de remplacer par 998 la valeur 001 lue dans le fichier, et de conserver les autres valeurs lues dans le fichier.
Remarques
Il est possible d’imbriquer une autre formule à l’intérieur d’une formule conditionnelle, en utilisant le double-clic dans la zone SI.
La longueur d’une formule est limitée à 200 caractères.
L’utilisation des formules augmente considérablement le temps de traitement : il faut limiter leur utilisation.