Utilisation des formules d'importation

Cegid Retail Documentation Fonctionnelle FR - Version 24

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.

Expressions complexes

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')

Synthèse des fonctions

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

  • S1 : chaîne à insérer.

  • S2 : chaîne source.

  • P : position où insérer S1, à partir de 1

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

  • Str : chaîne dont il faut extraire une partie.

  • Debut : position de la chaîne à extraire.

  • Longueur : longueur de la chaîne à extraire.

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

  • SubStr : chaîne dont il faut trouver la position.

  • Str : chaîne dans laquelle on recherche SubSt.

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

  • Str : chaîne dont il faut supprimer une partie

  • Debut : position de la chaîne à détruire

  • Longueur : longueur de la chaîne à détruire

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

  • Num : Nombre à arrondir.

  • Dec : Précision à utiliser.

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

  • Ladate : Date initiale.

  • NbMois : nombre de mois à rajouter.

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.

Formules conditionnelles

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.