Il est possible de créer une liste d’aide pour proposer différents choix à l’utilisateur. La liste d’aide peut par exemple être utilisée :
-
Dans un tableur dynamique, pour aider l’utilisateur à remplir une cellule
-
Dans une PSD, pour aider l’utilisateur à remplir un champs
On peut constituer notre liste d’aide de différentes manière:
-
liste d’aide par RCT: c’est le plus utilisé ! On vient déterminer par paramétrage ce qu’on souhaite afficher dans notre liste d’aide
-
liste d’aide à partir d’une liste de valeurs : on va simplement récupérer le contenu d’une liste de valeurs tel quel pour l’afficher dans l'aide
-
liste d’aide intuitive: le but est d’avoir une liste d’aide dont le contenu s’adapte au texte saisi et au contenu sélectionné dans celui-ci
Créer une liste d’aide par RCT
Cette liste se construit dans la requête RCT à partir d’une liste standard DIAPASON alimentée avec des variables SDH.
Comment faire ?
|
|
|
Quelques options de paramétrages disponibles :
Les listes d’aide, comme toutes les listes de DIAPASON, 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 par l’option sur la copie d’écran ci-dessous :
Constituer une liste d’aide à partir d’une liste de valeurs
Une liste d’aide peut être constituée à partir du contenu d’une liste de valeurs (DIALOG / Environnement / Liste de Valeurs).
Il suffit d’utiliser le mot-clé INIT-LISTE-AIDE avec la référence de la liste manuelle ou ELCIA ERP désirée. Voir Les listes de valeurs .
Constituer une liste d’aide intuitive (SmartAide)
Le but est d’avoir une liste d’aide dont le contenu s’adapte au texte saisi et au contenu sélectionné dans celui-ci, de plus la validation de l’aide peut venir remplacer une partie du texte.
La SmartAide permet aussi de faire une liste d’aide avec sélection multiple. Voir ici Créer une liste d' aide à choix multiple dans un tableur
Requête de construction de l’aide
Sur les requêtes de construction de l’aide deux nouvelles SCR permettent de connaitre précisément la position du curseur ou de la sélection :
-
SCR.CdeSCCSelD indique la position du début de la sélection dans la zone
-
SCR.CdeSCCSelF indique la position de fin de la sélection dans la zone
Sur les exemples ci-dessous :
-
SCR.CdeSCCSelD = 3
-
SCR.CdeSCCSelF = 7
-
SCR.CdeSCCSelD = 5
-
SCR.CdeSCCSelF = 5
Remarque
-
La position du curseur commence à 1 (en début de zone).
-
Si CdeSCCSelD = CdeSCCSelF, on a un curseur, si CdeSCCSelD ≠ CdeSCCSelF on a une sélection.
-
Si dans un tableur dynamique la cellule n’est pas en mode « édition », les variables SCR CdeSCCSelD et CdeSCCSelF sont à 0 :
Variables SCR de pilotage de l’aide
|
Variable |
Contenu |
Initialisée |
Initialisation en CTL/AID |
|
VBP.Ques_AideSmart |
Utilisation SmartAide ? |
|
Indique que la colonne de TDY (en mode CTL/AID) utilise la SmartAide. |
|
SCR.CdeSCCSelD |
Position curseur/sélection début |
OUI |
Position début de l’insertion de la valeur sélectionnée. |
|
SCR.CdeSCCSelF |
Position curseur/sélection fin |
OUI |
Position fin de l’insertion de la valeur sélectionnée. |
|
SCR.CdeSCCSelM |
Mode de mise à jour aide |
|
Vide (pas de SmartAide) « D » (mode défaut où la valeur sélectionnée est insérée entre les positions SCR.CdeSCCSelD et SCR.CdeSCCSelF) « R » (passage dans requête d’aide en mode CTL/AID-MAJ). |
|
SCR.CdeSCCSelP |
Préfixe de mise à jour aide |
|
Est ajouté avant la valeur sélectionnée dans la liste d’aide. |
|
SCR.CdeSCCSelS |
Suffixe de mise à jour aide |
|
Est ajouté après la valeur sélectionnée dans la liste d’aide. |
|
SCR.CdeSCCSelR |
Séparateur aide multiple (un seul caractère) |
|
Si non, vide, indique que l’aide sera à sélection multiple et que la liste des valeurs sélectionnées sera séparée de ce caractère.
|
|
SCR.CdeSCCSelO |
Positionnement dans liste d’aide |
|
En sélection simple, choix du positionnement dans la liste d’aide (valeur de départ). |
Exemple d’utilisation de SCR.CdeSCCSelM :
Soit la formule « VPR.Hauteur = VPR.Largeur * 2.5 ». Le curseur est positionné en position 5 (après le « H » de « Hauteur »). On fait « F2 » :
On remplit une liste d’aide avec les variables VPR.
On initialise en mode CTL/AID SCR.CdeSCCSelD à la valeur « 1 » et SCR.CdeSCCSelF à la valeur « 11 » ce qui signifie que l’on veut remplacer « VPR.Hauteur » (entre caractère 1 et 11).
On initialise en mode CTL/AID SCR.CdeSCCSelM (« D », « R » ou autre valeur).
On choisit la valeur VPR.HautHorsTout, et selon la valeur de SCR.CdeSCCSelM :
Toute valeur sauf « D » et « R » : on obtient « VPR.HautHorsTout ».
Si SCR.CdeSCCSelM = « D » : DIAPASON remplace tout seul « VPR.Hauteur » par « VPR.HautHorsTout » : on obtient « VPR.HautHorsTout = VPR.Largeur * 2.5 ».
Si SCR.CdeSCCSelM = « R » : pour gérer les cas complexes on repasse dans la requête en mode CTL/AID-MAJ qui doit se charger d’alimenter SCR.RCT_ValCol avec la chaîne finale.
Exemple d’utilisation de SCR.CdeSCCSelP et SCR.CdeSCCSelR :
En partant de la valeur ci-dessus, on fait « F2 » :
On initialise en mode CTL/AID SCR.CdeSCCSelM avec la valeur « D ».
On initialise en mode CTL/AID SCR.CdeSCCSelP avec la valeur « [ ».
On initialise en mode CTL/AID SCR.CdeSCCSelR avec la valeur « ] ».
On choisit la valeur « TEST » :
Le résultat est le suivant : la sélection initiale a été remplacée par le préfixe (SCR.CdeSCCSelP), suivi de la valeur, puis du suffixe (SCR.CdeSCCSelS). Le curseur se positionne par défaut à la fin de la chaîne remplacée.
Remarque : pour insérer un espace à la fin de la chaîne il faut utiliser une variable ou constante globale donc le contenu est la fonction DIALOG : CHR(28).
Requête de mise à jour à la validation de l’aide
Suite à la validation de l’aide sur une zone, si la variable SCR.CdeSCCSelM est égale à « R » la requête est exécutée de nouveau afin de modifier la valeur retournée et de définir la position de la sélection/curseur.
Contexte en entrée :
|
Variable |
Valeur |
|
SCR.RCT_TypeAction |
AID-MAJ |
|
SCR.CdeSCCSelD |
Position curseur/sélection début |
|
SCR.CdeSCCSelF |
Position curseur/sélection fin |
|
SCR.RCT_ValCol |
Valeur de la zone au lancement de l’aide |
|
TAB-ACTION[COL-COU, LIG-COU] |
Valeur retournée dans la liste d’aide |
En sortie de requête les variables suivantes seront interprétées :
|
Variable |
Action |
|
SCR.CdeSCCVal |
Mise à jour de la valeur dans la zone |
|
SCR.CdeSCCSelD |
Mise à jour de la position début du curseur/sélection |
|
SCR.CdeSCCSelF |
Mise à jour de la position fin du curseur/sélection |
Liste d’aide « Article »
Une liste d’aide peut s’appuyer sur une liste d’articles standard (Articles / Paramétrage Gestion des Articles / Liste d’articles standards).
1ère méthode :
Définir au préalable une liste d’articles standards via le bureau applicatif des « Articles ».
Définir la requête RCT avec les mots clé :
INIT-SELART-STATIQUE avec la référence de la liste d’articles ;
PURGE-SELART avec la référence de la liste. Cette instruction supprime la liste et permet d’éviter de se retrouver avec une liste d’aide contenant plusieurs fois les mêmes informations si la fonction d’aide est appelée plusieurs fois ;
La fonction INIT-SELINF-ART (LISTE-INFO = Référence de la liste d’aide, LISTE-ART = Référence de la liste d’articles) ;
INIT-LISTE-AIDE = Référence liste d’aide.
2ème méthode :
Définir une « condition sur entité » via le bureau applicatif « Consultations ».
Définir la requête RCT avec les mots clé :
INIT-SELART-DYNAMIQUE avec la référence de la « Condition sur Entité » ;
PURGE-SELART avec la référence de la liste. Cette instruction supprime la liste et permet d’éviter d’avoir une liste d’aide contenant plusieurs fois les mêmes informations si la fonction d’aide est appelée plusieurs fois ;
La fonction INIT-SELINF-ART (LISTE-INFO = Référence de la liste d’aide, LISTE-ART = Référence de la « Condition sur Entité ») ;
INIT-LISTE-AIDE = Référence liste d’aide.