Skip to main content
Skip table of contents

Créer un tableur dynamique simple


Quelles sont les étapes pour créer un tableur dynamique simple ? Suivez le guide !

➡️ Dans notre exemple, nous souhaitons créer un tableur pour y réaliser des mouvements de stock: l’utilisateur devra décider en entrée du tableur dans quelle section les mouvements seront effectués, et s’il s'agira d’entrées ou de sorties.

Tableur_simple.gif

Quelles sont les différentes étapes pour créer le tableur ?

Etape 1: Créer la requête REB qui permet d’initialiser le tableur

On commence par créer la requête d’extraction (REB) qui va chercher les données nécessaires pour « alimenter » le contenu du tableau:

image-20240618-135159.png

Avant d'écrire la requête, on va sans doute avoir besoin de créer des variables critère:

Est-ce qu’on doit demander des informations à l’utilisateur pour pouvoir lancer le tableur ? Dans notre cas on demande à l’utilisateur de choisir une section et un type de mouvement de stock pour lancer le tableur.

➡️ Il va donc falloir choisir des variables SCR ou VCR ou, si elles n’existent pas, créer des variables critère VCR à renseigner par l’utilisateur en entrée du tableur.

C’est par ici:

image-20240618-134951.png

Comment écrire la requête ?

image-20240618-135515.png

On récupère ( si il y en a), la valeur des critères saisie par l’utilisateur en entrée du tableur.

Dans notre cas, c’est donc la section et le type de mouvement qu’on récupère ici !

Quand on crée une nouvelle colonne, on peut remplir la désignation, le format… ils seront récupérés dans le tableur, c’est donc un gain de temps !

image-20240618-150059.png

Puis:

image-20240618-150123.png
  • On récupère les enregistrements qu’on souhaite afficher dans notre tableur: dans notre cas, les articles standards qui ont du stock sur la section que l’utilisateur a entrée en critère.

  • On vient créer une liste, dont le contenu sera affichée dans le tableur, avec CREATION Liste: on lui donne un nom logique selon ce qu’on souhaite afficher !

  • On utilise le mot-clé PRENDRE pour déterminer les informations qu’on aura dans les colonnes de notre tableur: ici , on veut y afficher 5 colonnes, avec le référence article, la désignation…

On préconise de nommer les colonnes de la liste avec le même nom que les champs standard qui les aliment ( Ex GenRefArt et non Article), quand on en utilise un. Cela permet de mieux s’y retrouver !

Créer le tableur dynamique

Une fois la REB créée, on va venir s’occuper de l’organisation et de la présentation des données en créant le tableur dynamique et en gérant les colonnes.

Pour créer le tableur dynamique, aller ici:

image-20240618-133240.png

Comment remplir les différents champs du tableur ?

Pour avoir la liste complète et détaillée des champs, c’est par ici !

image-20240618-133517.png

  • Scénario & Désignation: on donne un nom et un désignation explicites à notre tableur !

image-20240618-133542.png

  • Requête: on met ici la requête REB qu’on a crée dans une étape précédente et qui permet d’initialiser le contenu du tableur

  • Requêtes d’Aide/Ctr.Local, Ctr.Sortie et Ctr Global/ Maj: on va renseigner ici les requêtes de contrôle qu’on va créer dans les étapes suivantes

Dans le Ctr.Sortie, on a par défaut “*DER-CTL” qui est sélectionné: quand on est sur une cellule et qu’on valide/abandonne le tableur, si on ne sélectionne pas ça, la requête de contrôle local sur cette cellule n’est pas exécutée ! Autrement dit, on pourrait écrire n’importe quoi dans cette cellule sans aucun contrôle !

  • Critères déf.: les critères qu’on a mis en entrée de notre requête REB apparaissent ici. Il s’agit donc des “questions” qu’on va poser à l’utilisateur avant de pouvoir lancer le tableur. On peut y ajouter des listes d’aide, les rendre non saisissables, les initialiser…et également définir des règles pour quand on entre où on sort du formulaire où ils s’affichent.

Il est possible également d’associer directement une liste d’aide sur la VCR… mais dans ce cas, si cette VCR est réutilisée pour un autre outil, sa liste d’aide sera toujours la même…

  • Intégrité MAJ : si on coche cette case, s’il y a une erreur dans la requête de contrôle global en sortie du tableur, toutes les modifications effectuées dans le tableur seront annulées. En général on coche !

image-20240618-133555.png

  • Pré-initialisé ? : en cochant cette case, DIAPASON va aller récupérer les colonnes du tableur qu’on a créées dans la requête REB

  • Liste Perso: On mets ici la liste qu’on a crée dans la requête REB, et qui contient les enregistrements à afficher dans notre tableur. Dans notre exemple, cette liste s’appelle “Article”.

  • Création : est-ce qu’on autorise l’ajout de lignes dans le tableur ?

  • Req. Création : est-ce qu’on souhaite passer dans des requêtes quand on ajoute une ligne ? ➡️ Généralement on coche !

  • Modification ? est-ce qu’on autorise la modification des informations dans le tableur ?

  • Req.Mod : est-ce qu’on souhaite passer dans des requêtes quand on fait une modification ? ➡️ Généralement on coche !

  • Suppression : est-ce qu’on autorise la suppression de lignes dans le tableur ?

  • Req. Sup : est-ce qu’on souhaite passer dans des requêtes quand on supprime une ligne ? ➡️ Généralement on coche !

On peut ensuite valider le tableur !

On initialise les colonnes

Cette étape permet de faire le lien entre la structure de la liste que l’on a créé dans la REB et la manière dont on souhaite afficher ces données sous forme de colonnes dans le tableur.

Sur notre tableur on va ensuite faire clic. droit, “Initialisation des colonnes”:

image-20240618-152918.png

On peut alors initialiser l’affichage et la saisie de toutes les colonnes en même temps si on le souhaite:

image-20240618-153135.png

Une fois qu’on valide, DIAPASON nous propose de sélectionner les colonnes qu’on souhaite afficher dans notre tableur.

L’ordre des colonnes sélectionnées dans la partie droite de l'écran ci-dessous sera l’ordre des colonnes dans notre tableur !

image-20240618-153256.png

On peut ensuite valider !

On gère l’affichage et la saisie de chaque colonne

On va ensuite venir gérer indépendamment chacune des colonnes. Pour cela, on va faire clic droit, “Gestion des colonnes”:

image-20240618-153814.png

Dans l’écran qui s’affiche ensuite, on va pouvoir y gérer les caractéristiques de chaque colonne:

image-20240618-154627.png

On peut par exemple définir des colonnes non saisies, ou gérer des aides…

image-20240618-154652.png

  • Numéro d’ordre: on peut le modifier pour gérer l’ordre de la colonne dans le tableur

image-20240618-154704.png

  • Affichée: est-ce qu’on souhaite afficher cette colonne ou non ( colonne cachée) dans le tableur ?

  • Largeur: largeur de la colonne dans le tableur en pixels.

Ne pas hésiter à tester différentes largeurs, et valider le tableur pour voir comment ça rend !

  • Couleur: Couleur de la colonne dans le tableur. On peut s’en servir pour griser les colonnes non saisissables par exemple !

Comment faire pour enlever la couleur qu'on a mis ici ?

On se place sur le champs largeur puis on fait “Entrer”:

image-20240619-135042.png

On clique sur “Supr”:

image-20240619-135112.png

image-20240618-154722.png

  • Saisie : Est-ce que les cellules de cette colonne sont saisissables lors d’une mordication ( une cellule peut être saisissable lors de la création d’une nouvelle ligne - champ Saisie Création - dans le tableur mais pas lors d’une modification ) ?

  • Aide ? Souhaite-t-on afficher une liste des choix possibles pour remplir les cellules de cette colonne ?

  • Contrôle ? Souhaite-t-on contrôler que ce qu’on mets dans les cellules de cette colonne obéissent à des règles définies ?

  • Saisie Création ? Peut-on saisir le contenu de cette colonne quand on crée une nouvelle ligne ?

image-20240618-154739.png

On peut ensuite valider !

N’hésitez pas à lancer le tableur pour venir tester la saisie des critères et l’affichage des données !

image-20240619-144534.png

Créer la requête de contrôle local

On va ensuite pouvoir créer la requête RCT de contrôle local. Cette requête permet de gérer le comportement du tableur, et notamment si on veut y lancer des actions, ajouter de l’aide du du contrôle sur son contenu…

Pour tout savoir sur la requête RCT de contrôle local c’est pas ici !

On remplira donc cette requête selon notre besoin !

Un exemple de requête de contrôle local:

image-20240725-123122.png

On commence par récupérer:

  • la référence de la colonne en cours

  • la valeur de la cellule dans laquelle l’utilisateur est positionné

image-20240725-123152.png

Souvent, on ajoute de l’aide dans certaines cellules pour que l’utilisateur puisse choisir ce qu’il souhaite entrer parmi une liste de valeurs définies.

  • On se place dans le bloc de Contrôle avec SCR.RCT_TypeAcces=CLO.”CTL”

  • On se place ensuite dans le bloc d’aide avec SCR.RCT_TypeAction=CLO.”AID”

  • On se place sur la cellule sur laquelle on veut lancer cette aide en vérifiant que VLO.VarZoneEnCours est bien égale à la référence de la colonne

Comment ajouter une aide? ➡️ Créer une liste d'aide dans un tableur ou Créer une liste d'aide à choix multiple dans un tableur

image-20240828-115819.png

On veut aussi souvent vérifier ce que l’utilisateur entre dans une cellule pour que le contenu du tableur soit cohérent.

  • On se place dans le bloc de Contrôle avec SCR.RCT_TypeAcces=CLO.”CTL”

  • On lance cette vérification quand l’utilisateur est en modification, donc on se place dans le bloc de modification avec SCR.RCT_TypeAction=CLO.”MOD”

  • On se place sur la cellule sur laquelle on veut lancer ce contrôle en vérifiant que VLO.VarZoneEnCours est bien égale à la référence de la colonne

On peut ensuite réaliser le contrôle selon le besoin ! 🙂

image-20240725-123636.png

Il arrive de vouloir lancer une action depuis la tableur.

  • On se place dans le bloc Action avec SCR.RCT_TypeAcces=CLO.”ACT”

  • Selon la référence de l’action que l’utilisateur vient de lancer, on lance l’action adaptée

Comment lancer une action ?➡️ Lancer une action depuis le tableur dynamique

On peut ensuite valider !

Créer la requête de sortie

On peut ensuite créer la requête RCT de sortie ( qui n’est pas obligatoire). Cette requête permet si besoin d’effectuer un contrôle de cohérence des données du tableur, et de bloquer la phase de traitement globale. L’utilisateur reste alors en saisi dans le tableur afin qu’il puisse corriger l’origine de l’erreur rencontrée.

Pour tout savoir sur la requête RCT de sortie c’est pas ici !

image-20240725-123919.png
  • On se place dans le bloc Sortie avec SCR.RCT_TypeAcces=CLO.”SOR”

Ici, par exemple, on a une erreur dans le cas où il y a des quantité nulle dans notre tableur.

Et dans cette requête, tant qu’on a une erreur, on ne peut pas sortir du tableur, contrairement à la requête de contrôle globale, présentée ci-après !

Créer la requête de contrôle global

La requête de contrôle globale correspond au traitement de mise a jour à réaliser à partir des données contenues dans la tableur. Cette requête est exécutée lors de la phase de validation du tableur après l’exécution de la requête de sortie ( sans erreur), mais peut l’être aussi lors de l’abandon du tableur si le statut MAJ Abandon est coché sur la fiche de définition du tableur dynamique.

Pour tout savoir sur la requête RCT de contrôle global c’est pas ici !

image-20240725-123939.png
  • On se place dans le bloc Contrôle global avec SCR.RCT_TypeAcces=CLO.”CTG”

On effectue les mises à jour nécessaires en sortie de tableur !

On peut lancer des erreurs dans cette requête: ces erreurs n’empêcheront pas de sortir du tableur.


JavaScript errors detected

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

If this problem persists, please contact our support.