Skip to main content
Skip table of contents

Exemple : créer un couplage tableur / tableur


On souhaite mettre en place un couplage qui permet de visualiser et gérer les colis rattachés à une entité. Il ressemblerait à ça :

Couplage_2.gif
  • La liste du haut présente les colis rattachés à l'entité.

  • Celle du bas montre le contenu de chaque colis sur lequel on est positionné.

  • Les actions de la barre de commande permettent :

    • d’agir directement (Suppression colis/palette et actualiser)

    • de lancer des outils tiers (création colis, modification, etc…). Une fois ces outils fermés on revient dans le couplage sur le tableur père (tableur fils en visualisation)

    • changer l’outil fils du couplage. L’action “Mode d’affichage synth./détaillée" permet de changer le mode de visualisation du contenu de colis. Ce sont 2 tableurs différents qui affichent plus ou moins de détail.

Comment mettre en place ce couplage ?

Créer le tableur père

Il s’agit d’un tableur dynamique “classique” : voir Créer un tableur dynamique simple

Quelles sont les requêtes du tableur ?

  • une REB de chargement qui reçoit des variables critères (le fameux “contexte”) issues des applications qui lancent le couplage (par moteur RCT qui permet d’alimenter des variables en plus) et alimente le tableur via la liste perso.

image-20241114-134037.png
  • une RCT locale pour gérer le lancement des actions et leur retour.

Dans le cas d’un couplage “tableur/…” les actions du tableur père donne les actions du couplage. Autrement dit, si on définie des actions sur le couplage lui-même elles ne sont pas prisent en compte.

  • Pas de saisie du tableur père sur cet outil donc on n’a pas de RCT globale.

De manière générale, il est tout à fait possible de saisir dans le tableur père d’un couplage ➡️ on passe dans la RCT globale à la validation du couplage.

Comment remplir la définition du tableur ?

Rien de particulier, si ce n’est que, comme indiqué plus haut, les actions de la barre de commande sont à déclarer sur le tableur.

On déclare les colonnes normalement. Voir Créer un tableur dynamique simple

Créer les tableurs fils

On déclare deux tableurs fils. C’est une action du tableur père qui permettra de basculer entre l’un ou l’autre.

Les tableurs fils permettent juste de faire de la visualisation donc ils sont très simples avec juste une REB de chargement.

Pas de RCT locale/globale et pas d’action.

Un tableur fils peut faire de la saisie comme un tableur utilisé seul. Dans ce cas on entre en saisie via le bouton “Accès gestion” du couplage ou via une action spécifique du père.

On a aide/contrôle sur chaque cellule saisissable et on passe dans les RCT globales à la validation du tableur fils.

Créer la requête de choix du fils

On passe maintenant du côté de notre couplage 🙂 Pour commencer, nous allons déterminer pourquoi on choisit l’un ou l’autre des tableurs fils depuis notre tableur père !

Pour cela, nous allons utiliser la requête de choix du fils. Cette requête est exécutée à chaque changement de cellule sur le tableur père.

Elle est très simple 😉 .

image-20241107-163532.png

On demande le lancement du tableur correspondant au mode visualisation choisit par l’utilisateur et stocké dans la VBP.Mode. Cette VBP est remplie depuis la RCT locale du tableur père. Dans cette RCT, à chaque clic sur l’action, on bascule d’un mode à l’autre:

image-20241107-163758.png

Créer la requête de médiation

Quelles informations nos tableurs fils ont-ils besoin en entrée? 🧐

La requête de médiation va permettre d’alimenter le contexte utilisé par les REB de chargement des tableurs fils.

Dans cet exemple, l’outil permet aussi de visualiser les colis sur des entités archivées: les colis affichés peuvent donc se trouver dans les tables CdExUe ou A_CdExUe.

C’est la REB de chargement du tableur père qui retrouve les colis à afficher: elle stocke dans des colonnes masquées la table et l’identifiant des colis affichés.

image-20241107-164351.png

Requête de médiation

Dans la requête de médiation, il suffit ensuite d’aller lire le contenu de ces colonnes masquées , qu’on stocke dans les VBP.TableRef et VBP.ID.

On peut ensuite utiliser ces VBP dans la requête de chargement des tableurs fils pour avoir un accès direct au colis sur lequel on est positionné :

image-20241107-165325.png

Début d’une requête de chargement d’un tableur fils

Créer l’entête du couplage

On finit par la création du couplage lui-même:

Pour retrouver le détail de tous les champs du coulage, voir Créer un couplage ( définition des couplages )

image-20241107-165533.png

On voit que la référence du fils indiquée ici correspond au fils par défaut. La requête de choix de l’enfant pourra le changer en cours d’utilisation.

image-20241107-165658.png

Pas d’action déclarée sur le couplage. Comme on l’a dit plus haut, ce sont les actions du tableur père qui s’appliquent sur un couplage tableur/…

Et c’est tout bon ! 🙂


JavaScript errors detected

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

If this problem persists, please contact our support.