Skip to main content
Skip table of contents

ANNEXE


Contenu des Listes d’Aide

Dans les requêtes de type RCT, il est possible de gérer des listes d’aide dynamiquement. Cette fonction est disponible dans les saisies de critères, dans le configurateur de saisie de commande, le configurateur de mouvements de stocks et le tableur dynamique. La construction « normale » d’une liste d’aide passe par une suite d’instructions du type :

VLO.RefListAid = SCR.RCT_RefCol

PURGE-SELINF VLO.RefListAid

POUR CHAQUE ARTICLE :

CRE-SELINF :

INIT SDH.LisInfRef = VLO.RefListAid

INIT SDH.LisInfInf = SAS.GenRefArt

INIT SDH.LisInfDes = SAS.GenDesArt

FIN_BLOC

FIN_BLOC

INIT-LISTE-AIDE VLO.RefListAid

Il est possible de piloter entièrement l’affichage de ces listes. Pour cela , il faut indiquer les valeurs à afficher dans la variable SDH.LisInfCom, puis utiliser les instructions présentées dans les points suivants :

VLO.RefListAid = SCR.RCT_RefCol

PURGE-SELINF VLO.RefListAid

POUR CHAQUE ARTICLE :

CRE-SELINF :

INIT SDH.LisInfRef = VLO.RefListAid

INIT SDH.LisInfInf = SAS.GenRefArt

INIT SDH.LisInfDes = SAS.GenDesArt

INIT SDH.LisInfCom = SAS.GenMDiArt + CLO.“#“ + SAS.GenDeCArt

FIN_BLOC

FIN_BLOC

INIT-LISTE-AIDE VLO.RefListAid

La variable SDH.LisInfCom doit contenir la liste des valeurs souhaitées à l’affichage en dehors de SDH.LisInfInf et SDH.LisInfDes, séparées par un séparateur paramétrable (par défaut, il s’agit du caractère #).

Les différentes possibilités d’alimentation de la liste d’aide sont décrites ci-dessous et pilotées par des « CRE-SELINF » avec :

  • SDH.LisInfRef = VLO.RefListAid + CLO."*STRUCTURE"

  • SDH.LisInfInf = un code indiquant l’action souhaitée (voir tableau à la fin de ce chapitre)

  • SDH.LisInfCom = une suite d’informations séparée par défaut par des « # »

L’exemple de base est une liste de nombres, avec pour chacun une colonne qui indique si le nombre est premier. Les valeurs de la liste d’aide de base sont décrites dans le tableau ci-dessous.

LisInfInf

LisInfDes

LisInfCom

01

Un

1#+

02

Deux

2#+

03

Trois

3#+

04

Quatre

4#-

05

Cinq

5#+

06

Six

6#-

07

Sept

7#+

08

Huit

8#-

09

Neuf

9#-

10

Dix

10#-

Ajouter ou enlever des colonnes

Les colonnes par défaut sont « Référence », « Désignation » et éventuellement « Commentaire », « Valide », « Icône » ou « Image ». Le paramétrage permet d’ajouter ou d’enlever des colonnes. Pour cela, il faut renseigner dans la requête des lignes tels que sur l’exemple ci-dessous :

CRE-SELINF :

INIT SDH.LisInfRef = VLO.RefListAid + CLO."*STRUCTURE"

INIT SDH.LisInfInf = CLO."COLAFFICHE"

INIT SDH.LisInfDes = CLO."1#R#2"

FIN_BLOC

Dans cet exemple, la liste d’aide sera composée d’une colonne nommée « COL-1 », puis de la colonne « Référence » et enfin une autre colonne « COL-2 ». Les noms de colonne doivent correspondre à l’indice de la valeur dans la SDH.LisInfCom (dans la liste d’aide d’origine), à part « R » qui symbolise la colonne « Référence » et « D » la colonne « Désignation ». Le contenu des colonnes est piloté dans la liste d’aide d’origine par SDH.LisInfCom qui doit contenir les valeurs des colonnes séparées par le séparateur choisi (« # » par défaut).

Pilotage des titres de colonnes

Les titres de colonne par défaut sont « Référence », « Désignation » et éventuellement « Commentaire », « Valide », « Icône » ou « Image ». Le paramétrage permet de modifier ces titres. Vous devez renseigner dans la requête des lignes tels que sur l’exemple ci-dessous :

CRE-SELINF :

INIT SDH.LisInfRef = VLO.RefListAid + CLO."*STRUCTURE"

INIT SDH.LisInfInf = CLO."TITRES"

INIT SDH.LisInfDes = CLO."Nombre#Premier"

FIN_BLOC

Dans cet exemple, les titres de colonnes seront « Nombre » pour la première et « Premier » pour la seconde.

Pilotage des types de colonnes

Les colonnes sont par défaut de type « Caractère ». Le paramétrage permet de choisir un type différent : ceci est utile pour appliquer des tris ou des filtres à ces colonnes. Vous devez renseigner dans la requête des lignes tels que sur l’exemple ci-dessous :

CRE-SELINF :

INIT SDH.LisInfRef = VLO.RefListAid + CLO."*STRUCTURE"

INIT SDH.LisInfInf = CLO."TYPES"

INIT SDH.LisInfDes = CLO."E#L"

FIN_BLOC

Dans cet exemple, la première colonne sera de type numérique et la seconde de type logique. Les types possibles sont les types DIAPASON : A, E, R, D ou L.

Pilotage des formats de colonnes

Les formats de colonne par défaut sont « C/25 » pour la colonne « Référence », « C/50 » pour la colonne « Désignation » et éventuellement « C/100 » pour la colonne « Commentaire ». Le paramétrage permet de modifier ces formats. Vous devez renseigner dans la requête des lignes tels que sur l’exemple ci-dessous :

CRE-SELINF :

INIT SDH.LisInfRef = VLO.RefListAid + CLO."*STRUCTURE"

INIT SDH.LisInfInf = CLO."FORMATS"

INIT SDH.LisInfDes = CLO."E/2#"

FIN_BLOC

Dans ce exemple, les formats seront de 2 entiers pour la première colonne (doit être de type « entier ») et de 25 caractères pour la seconde.

Pilotage des largeurs de colonnes

La largeur d’une colonne est par défaut celle qui correspond au format. Le paramétrage permet de modifier cette largeur. Vous devez renseigner dans la requête des lignes tels que sur l’exemple ci-dessous :

CRE-SELINF :

INIT SDH.LisInfRef = VLO.RefListAid + CLO."*STRUCTURE"

INIT SDH.LisInfInf = CLO."LARGEURS"

INIT SDH.LisInfDes = CLO." #15"

FIN_BLOC

Dans ce exemple, la largeur sera en fonction du format pour la première colonne et de 15 caractères pour la seconde.

Remarque : pour piloter la largeur par défaut des colonnes de type « image », voir le chapitre « Affichage d’images ».

Pilotage des hauteurs de lignes

La hauteur d’une ligne est par défaut celle d’un caractère. Si le texte affiché dans une cellule contient des « retours chariot », la hauteur est multipliée en fonction de leur nombre. Le paramétrage permet de choisir la hauteur indépendamment du texte affiché dans la ligne. Vous devez renseigner dans la requête des lignes tels que sur l’exemple ci-dessous :

CRE-SELINF :

INIT SDH.LisInfRef = VLO.RefListAid + CLO."*STRUCTURE"

INIT SDH.LisInfInf = CLO."HAUTEUR_TYPES"

INIT SDH.LisInfDes = CLO." HFC "

FIN_BLOC

CRE-SELINF :

INIT SDH.LisInfRef = VLO.RefListAid + CLO."*STRUCTURE"

INIT SDH.LisInfInf = CLO."HAUTEURS"

INIT SDH.LisInfDes = CLO." 4"

FIN_BLOC

Dans ce exemple, la hauteur sera de 4 caractères. « HFC » signifie « hauteur fixe en caractères ».

CRE-SELINF :

INIT SDH.LisInfRef = VLO.RefListAid + CLO."*STRUCTURE"

INIT SDH.LisInfInf = CLO."HAUTEUR_TYPES"

INIT SDH.LisInfDes = CLO." HFP "

FIN_BLOC

CRE-SELINF :

INIT SDH.LisInfRef = VLO.RefListAid + CLO."*STRUCTURE"

INIT SDH.LisInfInf = CLO."HAUTEURS"

INIT SDH.LisInfDes = CLO." 160"

FIN_BLOC

Dans ce exemple, la hauteur sera de 160 pixels. « HFP » signifie « hauteur fixe en pixels ».

Remarques :

La hauteur donnée peut être une liste de hauteurs. La hauteur la plus grande sera considérée.

Pour piloter la hauteur par défaut des lignes contenant une ou des images, voir le chapitre « Affichage d’images ».

Ajouter des colonnes « filtrables »

Les colonnes ajoutées ne sont ni filtrables ni triables par défaut. Le paramétrage permet de rajouter jusqu’à 5 colonnes de type caractère pouvant bénéficier des filtres et tris. Pour cela, renseigner dans la requête des lignes tels que sur l’exemple ci-dessous :

CRE-SELINF :

INIT SDH.LisInfRef = VLO.RefListAid + CLO."*STRUCTURE"

INIT SDH.LisInfInf = CLO."FILTRES"

INIT SDH.LisInfDes = CLO."2"

FIN_BLOC

Dans cet exemple, la colonne « 2 » disposera des fonctions de filtre et tri disponibles sur les listes.

Affichage des images dans une liste d’aide simple

Il y a plusieurs moyens d’afficher des images dans une liste d’aide :

  • Afficher une image : alimenter la variable SDH.LisInfIma.

  • Afficher une icône : alimenter la variable SDH.LisInfIco. Pris en compte uniquement si la variable SDH.LisInfIma est vide.

  • Afficher plusieurs images : définir une colonne supplémentaire de type « I ».

Les icônes sont définies parmi les icônes DIAPASON, dans les dossiers « Icônes utilisées pour DIAPASON », « Icônes Défaut DIAPASON » et « Icônes Client DIAPASON » (ce dernier étant géré par l’utilisateur). A une référence icône est associé un chemin d’icône. Ce chemin peut être absolu et faire référence à une dossier accessible depuis l’interface utilisateur de DIAPASON. Si le chemin est relatif, il l’est à partir de la variable d’environnement DIAPICOLI ou DIAPICO. La taille des icônes est figée : même si la cellule contenant l’icône est agrandie en largeur ou en hauteur, l’icône conserve sa taille d’origine.

Les images sont elles définies dans le dossier « Images Client DIAPASON ». Le commentaire de ce paramètre doit être structuré avec les données suivantes :

  • ADR= adresse de l’image (supporte les variables d’environnement entourées de %).

  • LAR= largeur de la colonne en pixels (facultatif). Cette information est utilisée par défaut pour piloter la largeur de la colonne contenant l’image si celle-ci n’est pas précisée.

Les dimensions de l’image viennent se tailler en fonction de celles de la cellule jusqu’à la taille d’origine de l’image. Sa proportion hauteur/largeur est toutefois conservée.

La hauteur par défaut des lignes contenant un image est définie dans le paramètre général « LIS-HAUIMA ». Cette valeur doit être comprise entre 21 (hauteur normale d’une ligne) et 210 (10 lignes).

Changer le séparateur des valeurs

Le séparateur par défaut des valeurs est « # ». Ceci implique que les colonnes affichées ne doivent pas contenir ce caractère. Le paramétrage permet de le modifier. Il faut renseigner dans la requête des lignes tels que sur l’exemple ci-dessous :

CRE-SELINF :

INIT SDH.LisInfRef = VLO.RefListAid + CLO."*STRUCTURE"

INIT SDH.LisInfInf = CLO."SEPARATEUR"

INIT SDH.LisInfDes = CLO."%"

FIN_BLOC

Dans cet exemple, le séparateur des valeurs des colonnes sera « % ». Attention, le séparateur est aussi modifié pour les listes de formats, de types, etc.

Rappel des cas possibles

Action

LisInfInf

LisInfCom

Modification du séparateur « défaut » pour le « LisInfCom »

SEPARATEUR

Valeur du séparateur. Par défaut, la valeur est « # ».

Affichage de colonnes différentes

COLAFFICHE

Liste chaînée des références de colonnes, séparées par le séparateur défini.

Modification des titres des colonnes

TITRES

Liste chaînée des titres de colonnes, séparés par le séparateur défini.

Modification des types des colonnes

TYPES

Liste chaînée des types de colonnes, séparés par le séparateur défini.

Modification des formats des colonnes

FORMATS

Liste chaînée des formats de colonnes, séparés par le séparateur défini.

Utilisation de colonnes pouvant être filtrées

FILTRES

Liste chaînée des références des colonnes (de type caractère, 5 au maximum) devant être filtrées, séparées par le séparateur défini.

Remarque

Les sélections, comme toutes les listes de DIAPASON maintenant, bénéficient d’un enregistrement des paramètres de colonnes (couleur, position, etc.). En cas de modification de la liste d’aide par une des fonctions ci-dessus, si le résultat n’est pas visible à l’écran, il faut venir choisir le rechargement des « colonnes défaut » par l’option sur la copie d’écran ci-dessous :

Remarques sur Opérateur « MODULO »

SYNTAXE

VLO.Modu = VLO.Num1 MODULO VLO.Num2.

REMARQUE

L’opérateur « MODULO » ne peut pas être utilisé pour un grand nombre (plus de 9 caractères). Dans ce cas, une requête procédure permettant une découpe tous les 9 caractères peut être écrite comme suit :

Requête REB.Modulo qui découpe tous les 9 caractères (exemple d'application : code IBAN qui peut dépasser 25 caractères)

DEC-PARAM :

ENTREE VLO.ValeurADiviserCar

ENTREE VLO.Diviseur

ENTREE-SORTIE VLO.ValeurModulo

FIN_BLOC

VLO.NbCars = CLO.9

VLO.NbCarsP1 = VLO.NbCars + CLO.1

VLO.ValeurADivNewCar = SS-CHAINE( CHAINE= VLO.ValeurADiviserCar , DEBUT= CLO.1 , LONGUEUR= VLO.NbCars )

VLO.ResteADiviserCar = SS-CHAINE( CHAINE= VLO.ValeurADiviserCar , DEBUT= VLO.NbCarsP1 )

TRACE= CLO."Reste:" + " " + VLO.ResteADiviserCar

VLO.ValeurADivNew = DECIMAL( VALEUR= VLO.ValeurADivNewCar )

VLO.ModuloLoc = VLO.ValeurADivNew MODULO VLO.Diviseur

VLO.ValeurADivNewCar = CHAINE( VALEUR= VLO.ModuloLoc ) + VLO.ResteADiviserCar

TRACE= CLO."nouveau numerateur :" + " " + VLO.ValeurADivNewCar

SI VLO.ResteADiviserCar EXISTE ET <> ""

EXE-PROC REB Modulo ( E: VLO.ValeurADivNewCar , E: VLO.Diviseur , E-S: VLO.ValeurModulo )

TRACE= CLO."Moduloloc" + " " + CHAINE( VALEUR= VLO.ValeurModulo )

FIN_BLOC

SINON

VLO.ValeurModulo = VLO.ModuloLoc

FIN_BLOC

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.