DIAPASON 05
Breadcrumbs

Paramétrer l'affichage des documents en GED


L’accès aux documents GED depuis une entité se fait par le biais d’une application se présentant sous la forme d’un arbre et d’une liste.

On parle de ça :

image-20260127-153653.png

➡️ Cette présentation standard peut être paramétrée. Comment faire 🤓 ?


Dans notre exemple ci-dessous, au lieu d’afficher les documents rattachés directement à ce client, on souhaite également afficher les documents correspondants à ces commandes et leurs lignes, comme ci-dessous:

att_15_for_222364265.png

Comment faire ?

Etape 1 : Créer l’arborescence en dur

On commence par créer une trame d’arborescence “en dur” sur laquelle on ajoutera dynamiquement des branches.

C’est par ici :

image-20260129-082745.png

Et pour ajouter les branches, on clique sur

Définition entête

att_8_for_222364265.png

Structure hiérarchie

att_9_for_222364265.png

On définit par défaut une arborescence simple avec deux fils de la branche initiale ADCCLI_ARB (0000000001) :

  • Documents Client (0000000002) Caractéristique Champ Alpha 1 = GCLIENT (voir la suite)

  • Documents Commandes (0000000003)

Nous allons à partir de cette base alimenter la structure de l’arbre dynamiquement dans la requête d’initialisation afin d’ajouter autant de branches que de commandes du client ainsi que les lignes de ces mêmes commandes.

Etape 2 : On crée les requêtes

On va ensuite créer la requête d’initialisation de notre arbre, dont la construction se basera sur la hiérarchie défaut créée précédemment. Le principe est le même que pour un arbre paramétré, vous pouvez donc vous référez à cette documentation : Créer un arbre dynamique (chapitre "Créer la requête REB de constitution de l’arbre")


➡️ Requête REB d’initialisation de l’arbre ADGCLI_INI

On part du principe que cet objet paramétrable va être lancé depuis la GFD des clients.

Plus d'infos...

Contexte en entrée :

  • SCR.ARB_ArbRef : Arborescence défaut

  • SCR.ARB_ActCtx = ‘INI’

  • SCR.EntTEn = Entité en cours

  • SCR.EntCl1 = Clé 1 entité en cours

  • SCR.EntCl2 = Clé 2 entité en cours

  • SCR.EntCl3 = Clé 3 entité en cours

  • SCR.Titre = Titre de l’arborescence

  • SCR.Icone = Icône de l’arborescence

  • SCR.ARB_LisAct = Liste des actions de l’arbre

Si une arborescence défaut est renseignée, en entrée de requête d’initialisation, la liste WfArbSor sera initialisée avec le contenu de cette hiérarchie défaut.



J’ai donc à ma disposition les variables SCR.EntTen et EntCl* pour connaitre le client sur lequel je me trouve :


POUR CHAQUE/SOC DTD CDCoEn AVEC INDEX (ParCliCDCoEnIdx) DTD CDCoEn.CliResRef = SCR.EntCl1 ET DTD CDCoEn.CliGenRef = SCR.EntCl2 :

SI DTD CDCoEn.GenEnrDateCre >= VLO.DateDLim

CREATION Liste WfArbSor :

PRENDRE WfArbSor NodIdePer = CLO."0000000003"

PRENDRE WfArbSor NodRefPere = CLO."0000000003"

PRENDRE WfArbSor NodIdeEnc = DTD CDCoEn.CdeNumCom

PRENDRE WfArbSor NodRef = DTD CDCoEn.CdeNumCom

PRENDRE WfArbSor NodLib = DTD CDCoEn.CdeNumCom

PRENDRE WfArbSor NodIco = CLO."FAT-ENDED"

PRENDRE WfArbSor NodIcoFer = CLO."FERMER"

PRENDRE WfArbSor NodVa1 = CLO."DOS_GCDE"

PRENDRE WfArbSor NodCl1 = DTD CDCoEn.CdeNumCom

FIN_BLOC

CREATION Liste WfArbSor :

PRENDRE WfArbSor NodIdePer = DTD CDCoEn.CdeNumCom

PRENDRE WfArbSor NodRefPere = DTD CDCoEn.CdeNumCom

PRENDRE WfArbSor NodIdeEnc = DTD CDCoEn.CdeNumCom + CLO."_DOC"

PRENDRE WfArbSor NodRef = DTD CDCoEn.CdeNumCom + CLO."_DOC"

PRENDRE WfArbSor NodLib = CLO."Documents de" + " " + DTD CDCoEn.CdeNumCom

PRENDRE WfArbSor NodIco = CLO."FAT-ENDED"

PRENDRE WfArbSor NodIcoFer = CLO."FERMER"

PRENDRE WfArbSor NodVa1 = CLO."GCDE"

PRENDRE WfArbSor NodTab = CLO."GCDE"

PRENDRE WfArbSor NodCl1 = DTD CDCoEn.CdeNumCom

FIN_BLOC

POUR CHAQUE/SOC DTD CDCoLi AVEC INDEX (CDCoLiIdx) DTD CDCoLi.CdeNumCom = DTD CDCoEn.CdeNumCom :

CREATION Liste WfArbSor :

PRENDRE WfArbSor NodIdePer = DTD CDCoEn.CdeNumCom

PRENDRE WfArbSor NodRefPere = DTD CDCoEn.CdeNumCom

PRENDRE WfArbSor NodIdeEnc = DTD CDCoLi.CdeNumLig

PRENDRE WfArbSor NodRef = DTD CDCoLi.CdeNumLig

PRENDRE WfArbSor NodLib = DTD CDCoLi.CdeNumLig

PRENDRE WfArbSor NodIco = CLO."FAT-ENDED"

PRENDRE WfArbSor NodIcoFer = CLO."FERMER"

PRENDRE WfArbSor NodVa1 = CLO."GCDL"

PRENDRE WfArbSor NodTab = CLO."GCDL"

PRENDRE WfArbSor NodCl1 = DTD CDCoLi.CdeNumCom

PRENDRE WfArbSor NodCl2 = DTD CDCoLi.CdeNumLig

FIN_BLOC

FIN_BLOC

FIN_BLOC

FIN_BLOC

On initialise une branche par commande du client donné.


On va ensuite créer la règl ede mise à jour de l’arborescence. Dans cette requête, on alimente quand on est sur une feuille la liste WfEntSel qui permet d’afficher la liste standard de présentation des documents.

Dans chaque branche de la commande, on a une feuille permettant d’afficher les documents généraux de la commande ainsi qu’une nouvelle branche par lignes de commande.

Plus d’informations sur la règle MAJ

Cette règle DIALOG permet de piloter l’affichage de la partie droite de l’ADG (Visualisation des documents) sur les feuilles de l’arbre (nœud finaux).

Si dans la définition de l’arbre (liste WfArbSor), au moins NodTab est alimenté sur une feuille, alors la liste des documents sera alimentée automatiquement et la requête de mise à jour de liste ne sera pas exécutée.


Sur une feuille, si WfArbSor.NodTab est vide, la requête de mise à jour sera exécutée.


Contexte en entrée:

WfArbEnt : liste de (Description de la structure de l’arbre (identique à WfArbSor mais non modifiable).

SCR.ARB_NodIdeEnc : Identifiant nœud courant

SCR.ARB_NodIdePer : Identifiant nœud père

SCR.ARB_ActCtx = ‘MAJ’

SCR.EntTEn = Entité courante

SCR.EntCl1 = Clé 1 entité courante

SCR.EntCl2 = Clé 2 entité courante

SCR.EntCl3 = Clé 3 entité courante


Contexte en sortie:

WfEntSel qui indiquera les documents à afficher partie droite. :

WfEntSel.DiaIde = Identifiant du document.

Requête détail des documents ADGCLI_MAJ

RECH PREM LST WfArbEnt AVEC WfArbEnt.NodIdePer = SCR.ARB_NodIdePer ET WfArbEnt.NodIdeEnc = SCR.ARB_NodIdeEnc:

POUR CHAQUE/SOC DTD ADGEDEnt AVEC DTD ADGEDEnt.ADGEDTen = WfArbEnt.NodTab ET DTD ADGEDEnt.ADGEDCl1 = WfArbEnt.NodCl1 ET DTD ADGEDEnt.ADGEDCl2 = WfArbEnt.NodCl2 ET DTD ADGEDEnt.ADGEDCl3 = WfArbEnt.NodCl3 :

POUR CHAQUE/SOC DTD ADGEDDoc AVEC DTD ADGEDDoc.ADGEDCat = DTD ADGEDEnt.ADGEDCat ET DTD ADGEDDoc.ADGEDCleV = DTD ADGEDEnt.ADGEDCleV:

CREATION Liste WfEntSel:

PRENDRE WfEntSel DiaIde = IDENTIFIANT (DTD ADGEDDoc)

FIN_BLOC

FIN_BLOC

FIN_BLOC

FIN_BLOC

Etape 2 : On créé la nouvelle arborescence

On va ensuite créer une nouvelle arborescence, c’est par ici :

image-20260127-084309.png

On remplit ensuite :

att_17_for_222069180.png

Onglet Généralités 

  • Référence : La référence de l’arborescence.

  • Désignation : La désignation de l’arborescence, correspondant au texte affiché dans un explorateur, ainsi que dans le menu contextuel lorsqu’il s’agit d’une action.

  • Libellé court : Le libellé court, correspond au texte affiché dans la barre de commande lorsqu’il s’agit d’une action.

  • Titre : Le titre de l’arborescence.

  • Icône : L’icône de l’arborescence, qui sera affiché dans l’explorateur et devant le titre une fois lancé.

  • Mot Directeur : Le mot directeur de l’application.

  • Domaine, Famille, Sous Famille : Le domaine, la famille et la sous famille de l’arborescence utilisé dans la gestion des droits.

  • Commentaire: Permet d’indiquer une indication sur l’arborescence.


Onglet Démarrage

att_18_for_222069180.png
  • Mode Démarrage : Le mode de démarrage va permettre de déterminer l’accès aux actions de gestion de l’arborescence paramétré, et le comportement vis-à-vis des applications père.

Valeur

Description

0

Mode Visualisation : Aucune action de gestion n’est disponible, pas de blocage du père

1

Mode Gestion Libre : L’accès aux actions est disponible, le père n’est pas bloqué

2

Mode Gestion avec blocage applications père : les actions sont disponibles, le père est bloqué jusqu’à la fermeture de l’arbre

Typ. Ctx. App. : Type de récupération de critères lors d’un démarrage depuis une application standard :

Valeur

Description

1

Pas de relation : aucun critère n’est récupéré.

2

Identifiant : l’identifiant et le critère clé de l’application père sont récupérés.

3

Identifiant et Variables contextuelles : en plus de l’identifiant et du critère clé, les critères du contexte courant de l’application père sont récupérés

4

Identifiant et Liste de sélection : la liste des identifiant sélectionnés sur le père est récupérée

5

Identifiant, liste de sélection et variables contextuelles : tous les critères cités dans ce tableau sont récupérés

  • Typ Ctx. DIALOG: Type de récupération de critères lors d’un démarrage depuis une application paramétrable :

Valeur

Description

1

Pas de relation : aucun critère n’est récupéré.

2

Variables utiles : récupération sur le père des variables de type VCR déterminées dans la zone « Var Dem. Dia. »

3

Toutes les variables : récupération de toutes les variables SCR, VCR, VBP de l’application père.

4

Toutes les variables et tableur père éventuel : récupération de toutes les variables précédemment citées et si le père est un tableur dynamique, le contenu de WfTabValPere.

  • Var. Dém. Dia. :: Variables utiles au démarrage depuis une application paramétrée. Accès à un drag&drop sur les variables VCR.

  • Détail : Ajout d’un détail éventuel.


Onglet Définition

att_19_for_222069180.png
  • Règle Initialisation: La règle d’initialisation de l’arborescence. Cette requête permettra de définir l’arborescence de l’ADG. Le but de cette requête est d’alimenter la liste WfArbSor qui décrit l’arborescence (Niveaux, icônes, libellés). On renseigne la règle créée à l'étape précédente.

  • Arb. Défaut: On renseigne l’arborescence défaut créée dans l'étape 1.

  • Gestion Droit ? Logique indiquant si on affiche dans la liste les documents pour lesquels l’utilisateur n’a pas les droits. Si oui, il n’aura aucune action disponible sur l’enregistrement.

  • Règle Màj: La règle de mise à jour de l’arborescence. On renseigne la règle créée à l'étape précédente.


Onglet Interface

att_20_for_222069180.png
  • Act. Ouv.: Logique indiquant si sur la liste des documents, l’action « ouvrir document » est disponible.

  • Orientation séparateur: Permet de définir l’orientation du splitter :

    • Vertical : l’arbre sera à gauche de la liste

    • Horizontal : l’arbre sera au dessus de la liste

  • Caract. séparateur: Proportion en pourcentage de la taille de l’arbre par rapport à la taille totale d’affichage de l’arborescence.


Onglet Actions

att_21_for_222069180.png
  • Actions: Accès à l’application de définition des actions pour l’arborescence

L’action standard “Joindre un document” est disponible uniquement :

  • Au clic droit depuis une entité

  • Depuis un arbre standard


Mais il est possible de l’ajouter ici comme une action spécifique pour les arbres paramétrés. Cette action doit avoir :

  • Type : ACT,

  • Code action : JOINDRE.

att_22_for_222069180.png
En savoir plus...

Cette action doit exécuter une requête RCT (champ Règle Actions).

La requête RCT permet de gérer l’ajout d’un document : sélection d’un fichier puis référencement du fichier (le référencement n’est pas obligatoire).

Ordonnancement pour référencer un document :

  1. Créer un WfGEDEnt avec GEDAct = ‘SELFIC’ : cette action permet d’ouvrir l’explorateur fichier afin de sélectionner le document que vous souhaitez. Afin de positionner l’explorateur sur un dossier, vous pouvez spécifier un chemin dans GEDAdr. La catégorie GEDCat est OBLIGATOIRE.

  2. Exécuter la fonction ENR-ACT-GED.

  3. Ensuite, tester le GEDAct = SELFIC-RET qui est le retour de sélection d’un document (affectation automatique après sélection d’un fichier), afin de vérifier qu’on va bien traiter le fichier sélectionné.

  4. Conserver les valeurs de WfGEDEnt (fichier d’origine (chemin complet avec nom de fichier) et la catégorie) dans des variables locales.

  5. Vider la temp-table WfGEDEnt afin de n’avoir qu’un seul enregistrement à chaque exécution du ENR-ACT-GED.

  6. OPTIONNEL (uniquement si vous souhaitez référencer le document) : Créer un WfGEDEnt avec GEDAct = ‘REF’ qui permet de référencer le document précédemment sélectionner. Affectez la catégorie et le chemin du fichier précédemment sauvegarder.

  7. Exécuter la fonction ENR-ACT-GED.


Exemple de requête RCT simple effectuant un référencement de document :

att_32_for_222069180.png

Si le nom de votre document comporte des accents, ils seront automatiquement supprimés.

  • Détail: Affichage du détail des actions définies pour la rubrique.

  • Règle Actions: Règle RCT de gestion des actions.

Etape 4 : associer ce nouvel affichage de GED à l’entité concernée

Une fois le nouvel affichage créé, encore faut-il l’associer à l’entité concernée, ici, les clients ! Dans les entités, on vient donc saisir cette nouvelle arborescence :

image-20260203-155925.png

Et il n’y a plus qu'à tester !