Gestion des tableaux 

Définition d'un tableau

Dans la terminologie des progiciels développés en technologie adonix, un tableau est un espace de saisie avec plusieurs lignes et colonnes, susceptible de permettre la saisie d'informations multiples.

Un tableau occupe un bloc d'écran, et se présente sous la forme suivante :

./TBL_MGT_05.gif

Il est caractérisé par :

  • une ligne de titre.
  • une première colonne avec des numéros consécutifs :
  • ./TBL_MGT_04.gif

Du point de vue du développeur, un tableau est vu comme un ensemble de variables avec des occurrences ; une variable (dite variable de bas de tableau) permet de connaître le nombre de lignes valides dans le tableau. Son nom correspond au nom du champ courant lorsqu'on utilise la touche  en étant positionné dans le tableau sans être en cours de saisie sur un champ.

Saisie dans un tableau

Il est possible de se positionner dans un tableau, de plusieurs façons :

  • en cliquant une fois sur une des cellules déjà saisies du tableau, ou sur la dernière ligne du tableau si on veut ajouter des lignes (cette dernière ligne porte un numéro, mais elle est vide). On dit alors qu'on prend "le focus" sur le tableau ; la touche  permet ensuite de passer en saisie.
  • en double-cliquant sur une cellule (on est alors directement en saisie sur une cellule du tableau).
  • en validant par  la saisie sur la zone précédant le tableau.

Dans tous les cas, on passe en saisie sur la première cellule pouvant être saisie (ce n'est pas forcément la première cellule du tableau, ou la cellule sur laquelle on a cliqué).

Le fonctionnement des touches est différent selon que l'on a simplement pris le focus sur une ligne, ou selon que l'on est en saisie dans une des cellules du tableau.

En mode focus

En mode focus sur le tableau, les comportements des touches sont les suivants :

  •  permet de passer au champ suivant le bloc du tableau.
  • Il est possible de sélectionner plusieurs lignes soit par balayage d'un ensemble de lignes tout en maintenant enfoncé le clic gauche de la souris, soit par déplacement d'une ligne à l'autre tout en maintenant la touche  activée. Les lignes sont alors passées en contraste inversé :
  • ./TBL_MGT_06.gif

  • La combinaison de touches   et l'option clic droit Suppression ligne permettent de supprimer la ligne courante, ou, le cas échéant, l'ensemble des lignes sélectionnées.
  • La touche  et l'option clic droit Insertion ligne permettent d'insérer une ligne à la position courante (en décalant vers le bas la ligne sur laquelle le curseur était positionné). On passe alors en saisie sur la première colonne saisissable de la ligne.
  •  (ou Escape, Echap selon les claviers) permet de restaurer la valeur antérieure de la ligne courante, et de sortir du mode de saisie en gardant le focus sur la ligne en question. C'est notamment la touche utilisée en début de ligne vide, lorsqu'on ne veut pas saisir de ligne supplémentaire dans le tableau. Elle permet également d'abandonner l'insertion d'une ligne en cours.
  • Les 4 flèches permettent de déplacer le focus sur toutes les cellules du tableau ; la touche  permet de se placer en fin de ligne, et la touche "début" en début de ligne (sur la première cellule qui peut être saisie) ; utilisées en combinaison avec , ces deux touches permettent de se placer en tout début (première ligne) ou en fin (dernière ligne, dernière colonne) du tableau.

Il est important de noter que l'insertion d'une ligne ou la suppression d'une ligne peut être interdite sur un tableau, sur des critères fonctionnels (les touches seront alors inopérantes).

En mode saisie

En mode saisie dans le tableau, les comportements des touches sont les suivants :

  •  permet de passer au champ suivant le bloc du tableau.
  •   permet de passer à la valeur précédente.
  •  permet de valider le reste de la ligne courante, et de sortir du mode de saisie en gardant le"focus" sur la ligne en question.
  •  (ou Escape, Echap selon les claviers) permet de restaurer la valeur antérieure de la ligne courante, et de sortir du mode de saisie en gardant le focus sur la ligne en question. C'est notamment la touche utilisée en début de ligne vide, lorsqu'on ne veut pas saisir de ligne supplémentaire dans le tableau.
  •   permet de valider la cellule courante et de passer à la même cellule sur la ligne suivante (si toutes les cellules situées entre les deux ont bien des valeurs valides).
  •   permet de valider la cellule courante et de passer à la même cellule sur la ligne précédente (si toutes les cellules situées entre la cellule courante et la fin de la ligne ont bien des valeurs valides).

Fonctions particulières

Agrandissement du bloc et défilement des informations

  • Le bloc de l'écran dans lequel s'affiche le tableau peut, au besoin, être agrandi.
    Cette fonctionnalité s'active :
    - En mode client serveur : en cliquant sur l'icône ./TBL_MGT_11.jpg.
    - En mode Web, en cliquant sur le coin supérieur droit du bloc.

    Le bloc est alors maximisé et vient occuper tout l'espace disponible. La liste gauche et les boutons de bas d'écran ne sont plus visibles.
    En mode client serveur, il est également possible d'agrandir le bloc tout en conservant l'affichage de la liste gauche et des boutons de bas d'écran. Il convient pour cela de cliquer sur l'icône ./TBL_MGT_11.jpg tout en maintenant la touche    enfoncée.
    Pour minimiser le bloc afin qu'il retrouve sa taille d'origine, il suffit de cliquer sur l'icône ./TBL_MGT_12.jpg  en mode client serveur, ou à nouveau sur le coin supérieur droit du bloc en mode Web.
  • Lorsqu'un tableau contient plus de colonnes que l'écran ne peut en afficher, une barre de défilement horizontale apparaît en bas du tableau. Il convient alors de faire glisser le curseur ou de cliquer sur les flèches de défilement pour visualiser les informations non visibles.
    Il est possible de verrouiller le défilement d'une ou plusieurs colonnes à gauche de l'écran afin de fixer leur affichage lorsque le défilement des colonnes suivantes est effectué.

    Ce verrouillage est défini soit de façon fixe (dans les blocs tableaux des écrans), soit dans des écrans de paramétrage (notamment les transactions selon les différents modules fonctionnels, et les consultations).
  • De la même façon, lorsqu'un tableau contient plus de lignes que l'écran ne peut en afficher, une barre de défilement verticale apparaît à droite du tableau.

Chargement des lignes et affichage partiel

Les progiciels en technologie adonix chargent en mémoire l'intégralité des lignes d'un tableau. Si des documents volumineux doivent être chargés, il est important de dimensionner correctement la mémoire dévolue à un poste de travail.
Néanmoins, pour des soucis d'optimisation, il est possible, via le paramètre utilisateur ADXLIG, de limiter le chargement des tableaux à un nombre limité de lignes tant que l'on ne s'est pas placé en saisie. Il est ainsi possible de visualiser rapidement un ensemble de fiches contenant des tableaux volumineux sans être ralenti. 
Lorsque le tableau n'est pas totalement rempli, l'icône ./TBL_MGT_13.jpg en mode client serveur ou ./TBL_MGT_14.jpg  en mode Web, est présente sur la première cellule en haut à gauche du tableau. Le chargement complet du tableau est obtenu par un simple clic sur cette icône, par le passage en saisie dans le tableau, ou par le fait de bouger l'ascenseur vertical du tableau.

Tri des colonnes

Les lignes d'un tableau peuvent être triées par simple clic sur l'en-tête de la colonne (descendant, et ascendant en cliquant à nouveau). Un pictogramme marque alors la colonne dans laquelle les lignes sont triées. Il s'agit du pictogramme ./TBL_MGT_03.jpg lorsque le tri est effectué par ordre descendant. Ce pictogramme est inversé lorsque le tri est effectué par ordre ascendant.

Lorsque le tableau est trié :

  • La case supérieure gauche du tableau contient le pictogramme suivant : ./TBL_MGT_02.jpg.
    Un simple clic sur ce pictogramme annule le tri et revient à l'ordre séquentiel des numéros de lignes.
  • Le focus peut être positionné sur une des cellules par un simple clic. Si on passe en saisie sur la cellule (par double clic, par frappe directe, ou via ), le tableau est retrié automatiquement dans l'ordre des numéros de lignes, car la saisie dans un tableau est toujours ordonnée. Par contre, on reste placé sur le numéro de ligne sur lequel on s'était placé après le tri.

Mode fiche

Ce mode est accessible lorsqu'on est en focus sur une ligne du tableau via un clic droit, et ce uniquement en mode client-serveur. Il permet de visualiser et saisir chaque ligne sous la forme d'une fiche telle que celle présentée ci-dessous :

./TBL_MGT_07.gif

Les deux premières icônes situées en haut de l'écran permettent d'insérer une ligne ou de supprimer la ligne courante; les boutons magnétophone permettent de changer de ligne dans le tableau. Les champs sont saisis en mode fiche de la même façon que s'ils étaient saisis dans le tableau.

Il est à noter qu'il est possible d'ouvrir le mode fiche par défaut à l'entrée dans un tableau.

Affichage graphique

Dans un tableau, dès lors qu'au moins une des colonnes est numérique, il est possible de présenter les valeurs de cette colonne sous forme graphique.
Cette présentation est largement employée dans les écrans de consultation.
 Le fait que la présentation apparaisse ou non est paramétrable ; elle peut apparaître soit en même temps que le tableau (à droite, à gauche, au dessus, ou en dessous), soit en bascule à l'endroit où se trouve le tableau.
Dans le cas où le tableau et le graphe apparaissent en bascule, le passage d'un mode à l'autre s'effectue en cliquant sur l'icône ./TBL_MGT_01.jpg  en mode client serveur, ou ./TBL_MGT_10.jpg  en mode Web, située dans le coin supérieur gauche du tableau.

Pour plus d'informations sur l'utilisation dynamique des graphiques, se reporter au document : Représentations graphiques.

Recherche

Cette fonction est accessible soit par clic droit sur la colonne, soit par la combinaison de touches  .

Elle permet d'ouvrir une fenêtre de saisie du texte à rechercher avec possibilité de préciser la direction de la recherche (vers le haut ou vers le bas) et d'indiquer s'il s'agit d'un mot entier et si la casse doit être respectée.

La recherche s'effectue dans toutes les colonnes à partir de la cellule courante, de gauche à droite, puis de haut en bas  ou de bas en haut, selon la direction indiquée.
Le focus est placé sur la première colonne contenant le texte recherché. Il est alors possible de chercher l'ocurrence suivante grâce à la touche , l'occurrence précédente grâce à la combinaison  .

Export Excel

Cette fonction est accessible soit clic droit sur la colonne.

Elle permet d'ouvrir une fenêtre de saisie qui propose de saisir un titre, un nom d'onglet, et permet de lancer l' via un bouton.

Si ceci est réalisé, un fichier Excel dont les caractéristiques sont les suivantes par défaut :

  • l'ensemble des colonnes et des lignes du tableau sont présentes.
  • le tableau est préfixé par un en-tête intégrant des filtres automatiques.
  • toute colonne numérique dispose d'un cumul en bas de tableau.

Il est par ailleurs possible de changer les caractéristiques du classeur Excel créé, par le biais de la touche . On fait alors apparaître une fenêtre comportant 4 onglets, qui permettent de modifier les caractéristiques du classeur créé par défaut. Il faut noter le bouton , qui permet d'enregistrer les paramètres correspondants en donnant un nom au mémo, et , qui permet de rappeler un mémo en indiquant son nom. Le mémo nommé STD, s'il existe, est chargé par défaut lorsqu'on lance la fonction d'export Excel.

Les informations ainsi saisies sont les suivantes :

Onglet Paramètres

Champs

Les champs suivants sont présents dans cette fenêtre :

Bloc numéro 1

  • Export titres de colonnes (champ COLTIT)

 

  • Création filtre colonnes (champ FILCOL)

 

  • Création ligne cumul (champ LIGCUM)

 

  • Export horodatage (champ COMFOOT)

 

  • Colorisation lignes (champ ALTERNAT)

 

Bloc numéro 2

  • Tableau croisé dynamique (champ TABDYN)

 

  • Design (champ DESIGN)

 

Bloc numéro 3

  • champ IMAG

 

Fermer

Cet onglet permet de définir des options globales du tableau créé (cumuls, filtres, colorisation), ainsi que le fait de savoir si on crée un tableau simple ou un tableau croisé dynamique. Dans ce dernier cas, un choix de styles prédéfinis est possible par la saisie d'un menu local, l'aperçu du style étant affiché en regard.

Onglet Couleurs

Champs

Les champs suivants sont présents dans cette fenêtre :

 

  • champ VISTIT

 

 

  • champ VISINTH

 

 

  • champ VISVALH

 

 

  • champ VISCOL

 

 

  • champ VISALT

 

 

  • champ VISALT1

 

 

  • champ VISCUM

 

 

  • champ VISFOOT

 

Fermer

Dans cet onglet, on retrouve des styles utilisés pour présenter les différentes données qui apparaissent dans le classeur Excel créé par l'export.

Ces styles permettent de décrire la police de caractères et la taille, ainsi que la couleur des caractères et la couleur de fond des cellules.

Onglet Tableau

Champs

Les champs suivants sont présents dans cette fenêtre :

Tableau Champs

  • A exporter (champ ASELCH)

 

  • Ordre (champ ORDCH)

 

  • Champ (champ DESIGCH)

 

  • Type dynamique (champ DYNCH)

 

  • Cumul (champ CUMCH)

 

  • Code (champ NAMCH)

 

 

  • Condition (champ CONCH)

 

 

  • Formule (champ FORMULCH)

 

Fermer

Dans cet onglet, on retrouve la liste de tous les champs du tableau, et on peut définir via une série d'attributs si ces champs doivent être présents ou pas, et si oui sous quelle forme.

Onglet Introduction

Champs

Les champs suivants sont présents dans cette fenêtre :

Tableau Commentaires

  • A exporter (champ ASEL)

 

  • Champ (champ DESIG)

 

  • Code (champ NAM)

 

  • Expression (champ EXPG)

 

Fermer

Cet onglet permet de définir des zones, dites "d'introduction" qui seront exportées avant le tableau, et qui permettent de rappeler un contexte dans la feuille Excel. Ces zones sont issues de l'écran d'entête (si il y en a), des blocs listes du même onglet que celui d'où le tableau est exporté. Par défaut aucune zone n'est sélectionnée.

Annexe technique

Lors de l'export vers Excel, le traitement ouvre les masques nommés AEXP1, AEXP2, AEXP4, et AEXP5 sous les abréviations AEY1, AEY2, AEY4 et AEY5. Il initialise ensuite les valeurs de masque en considérant par défaut :

  • que les styles utilisés pour l'en-tête sont AEXPEXCTIT, AEXPEXCTIT, AEXPEXCHCO, AEXPEXCHVA, AEXPEXCTCO, AEXPEXC1, AEXPEXC2, AEXPEXCUM, AEXPEXCFOO

    Si ces styles n'existent pas, il sont créés automatiquement avec les valeurs par défaut suivantes :
    • AEXPEXCTIT   : font-size:15pt;font-weight:bold;font-style:normal;background-color:#008000
    • AEXPEXCHCO : font-weight:bold;font-style:normal;background-color:#008000
    • AEXPEXCHVA  : font-style:normal;background-color:#80FF80
    • AEXPEXCTCO  : font-weight:bold;font-style:normal;background-color:#008040
    • AEXPEXC1       : font-style:normal;background-color:#FEFB81
    • AEXPEXC2       : font-style:normal;background-color:#C8FA85
    • AEXPEXCUM    : font-size:11pt;font-weight:bold;font-style:normal;background-color:#008040
    • AEXPEXCFOO  : STYRES=";font-weight:normal;font-style:italic;background-color:#C7E39B
  • que le titre donné en haut de la feuille Excel est le nom de la fenêtre à partir de laquelle l'export est lancé.
  • que tous les champs du tableau sont présentés par défaut
  • que tous les champs numériques donnent lieu à un cumul.

Trois points d'entrée sont définis pour permettre de choisir par programmation des options mieux adaptées pour certaines données de tableaux, ou pour contrôler l'exécution de l'export. Ces points d'entrée sont appelés successivement dans le programme standard de la fonction en cours d'exécution, dans le programme vertical (si il existe), et enfin dans le programme spécifique (si il existe). Les trois points d'entrée définis correspondent aux valeurs suivantes de la variable ACTION :

  • "EXCINI" : dans l'initialisation de la fenêtre d'export. Les variables suivantes sont à disposition:
    • BOIT : nom de la fenêtre ayant déclenché l'export
    • MASK1 : nom du masque ayant déclenché l'export
    • ABRMASK1 : abréviation de ce masque
    • NBASPAG : nom du champ ayant le focus lors du déclenchement de l'export

Il est possible dans le point d'entrée de surcharger ces valeurs, sachant que si le programme d'export ne valide pas l'appartenance du champ NBASPAG à un tableau, il refusera de s'exécuter.

  • "EXCPAR" : à la fin du remplissage des écrans de paramètres à partir du contexte (fenêtre, masque, tableau à exporter). Il est possible de modifier le paramétrage dans ce point d'entrée. Le contenu des masques AEY* peut ainsi être modifié et sera pris en compte lors du déclenchement de l'export
  • "EXCLIG" : avant le traitement de chaque ligne à exporter. NOLIGT contient le numéro de la ligne courante (0 à n-1). En retour,
    • Si FINT=1 on saute la ligne courante
    • Si FINT=2 on sort de la boucle de traitement des lignes

On peut ainsi remplir de façon dynamique, en fonction du contexte, les caractéristiques de l'export Excel à réaliser, sachant que l'on peut bien évidemment également utiliser (de façon plus statique) le rechargement d'un mémo sur ces paramètres; le mémo STD, comme il est d'usage, est automatiquement chargé s'il existe.