Présentation sous Forme Hiérarchique
Cette fonctionnalité a été ajoutée afin d’afficher les lignes de devis/Commandes et facture de manière hiérarchisée, c'est-à-dire que la liste des lignes est classée selon une arborescence. Celle-ci a pour but de faciliter la saisie sur les lignes entités doubles lorsqu’elles sont nombreuses.
![](../__attachments/115291875/att_12_for_222135043.png?inst-v=2e0628d9-a170-4eb1-b774-b0d7a84fa1a1)
Principe général
Soit la hiérarchie suivante pour une commande:
![](../__attachments/115291875/att_1_for_222135043.png?inst-v=2e0628d9-a170-4eb1-b774-b0d7a84fa1a1)
Soit la commande suivante dans l’ergonomie classique DIAPASON liste-fiche :
![](../__attachments/115291875/att_22_for_222135043.png?inst-v=2e0628d9-a170-4eb1-b774-b0d7a84fa1a1)
Voici la même commande présentée hiérarchiquement avec l’arborescence ci-dessus :
![](../__attachments/115291875/att_23_for_222135043.png?inst-v=2e0628d9-a170-4eb1-b774-b0d7a84fa1a1)
Dans cette présentation la zone de type « Arbre » permet de filtrer la liste de droite.
Si l’utilisateur clique sur la branche de l’explorateur libellé Bâtiment B du panneau présenté à la page précédente, toutes les lignes « enfants » rattachées à cette branche sur la liste sont masquées. Le panneau est alors le suivant :
![](../__attachments/115291875/att_13_for_222135043.png?inst-v=2e0628d9-a170-4eb1-b774-b0d7a84fa1a1)
Les présentations sous forme hiérarchique sont possibles pour les entités suivantes :
les devis et commandes clients
les factures clients
Gestion des Hiérarchies
La définition des hiérarchies est disponible dans les explorateurs applicatifs :
Gestion commerciale
![](../__attachments/115291875/att_14_for_222135043.png?inst-v=2e0628d9-a170-4eb1-b774-b0d7a84fa1a1)
Facturation Client
![](../__attachments/115291875/att_15_for_222135043.png?inst-v=2e0628d9-a170-4eb1-b774-b0d7a84fa1a1)
Elle est également disponible dans la gestion des affaires par l’action « Maintenance Hiérarchie ».
Définition des Hiérarchies
Onglet « Définition » :
![](../__attachments/115291875/att_2_for_222135043.png?inst-v=2e0628d9-a170-4eb1-b774-b0d7a84fa1a1)
Hiérarchie
Zone obligatoire. Référence de la Hiérarchie. Saisie uniquement en création.
Désignation
Zone Facultative. Désignation de la Hiérarchie.
Dossier Défaut
Zone non saisie. Référence du dossier (ou nœud) de la structure utilisé par défaut.
Commentaire
Zone facultative. Commentaire associé à la hiérarchie.
Icône Ouvert
Zone facultative. Icône à utiliser par défaut dans la structure de la hiérarchie sur un nœud ouvert. Initialisé avec l’icône défaut DIAPASON « HIE-OUV ».
Icône Fermé
Zone facultative. Icône à utiliser par défaut dans la structure de la hiérarchie sur un nœud fermé. Initialisé avec l’icône défaut DIAPASON « HIE-FER ».
Onglet « Qui,Quand ? » : uniquement en consultation, présente les informations de gestion de l’enregistrement courant.
Actions Possibles sur les Hiérarchies
Structure Hiérarchie
Permet de définir la structure hiérarchique.
Intégrité Hiérarchie
Cette action a pour but de contrôler ou de mettre à jour les hiérarchies en fonction du contrôle d’intégrité effectué sur l’ensemble des hiérarchies définies dans DIAPASON. L’action présente le critère suivant :
![](../__attachments/115291875/att_3_for_222135043.png?inst-v=2e0628d9-a170-4eb1-b774-b0d7a84fa1a1)
Il est possible de choisir l’action à mener, « Contrôle » ou « Mise à jour ».
Intégrité Hiérarchie / Critère
Cette action a pour but de contrôler ou de mettre à jour les hiérarchies en fonction du contrôle d’intégrité effectué sur les hiérarchies sélectionnées par le critère suivant :
![](../__attachments/115291875/att_4_for_222135043.png?inst-v=2e0628d9-a170-4eb1-b774-b0d7a84fa1a1)
Toutes les zones du critère sont saisissables :
Action: Permet d’effectuer un contrôle d’intégrité seul ou un contrôle d’intégrité et la mise à jour.
Mode de mise à jour: Permet de choisir le type de hiérarchie à traiter parmi les valeurs proposées :
![](../__attachments/115291875/att_5_for_222135043.png?inst-v=2e0628d9-a170-4eb1-b774-b0d7a84fa1a1)
Application: Cette zone est saisissable uniquement si le mode choisi est « ENT » ou « CEN ». Permet de sélectionner l’entité DIAPASON parmi celles proposées :
![](../__attachments/115291875/att_6_for_222135043.png?inst-v=2e0628d9-a170-4eb1-b774-b0d7a84fa1a1)
Clé 1: Cette zone est saisissable uniquement si le mode choisi est « ENT » ou « TDY ».
Une aide est disponible sur cette zone.
Dans le cadre de ces deux actions, la validation du critère enchaine sur une trace présentant l’état des lieux des incohérences trouvées. La mise à jour effectue les corrections possibles sur les hiérarchies. Certains correctifs devront être effectués manuellement sur les hiérarchies concernées.
La trace se présente comme suit :
![](../__attachments/115291875/att_16_for_222135043.png?inst-v=2e0628d9-a170-4eb1-b774-b0d7a84fa1a1)
Elle est composée :
D’une rubrique récapitulative sur :
l’action menée « Contrôle » ou « Mise à jour »
le mode indiquant le type de hiérarchie traité
l’entité traitée (toujours vide dans le cadre d’un mode sur toutes les hiérarchies)
la clé de l’entité traitée
D’une rubrique « hiérarchies incohérentes ». Concerne toute hiérarchie présente dans DIAPASON mais ne pouvant pas être utilisée en gestion. Le contrôle ressort les incohérences sous la forme :
Hiérarchie <<référence hiérarchie>> à supprimer ( <<clés de la hiérarchie>>) (Type= CEN,ENT,TDY / Entité,Entité,’’ /Clé 1 entité,’’,’’/’’,’’,’’/’’,’’,’’
En mode « Mise à jour », les hiérarchies trouvées sont supprimées.
D’une rubrique « dossier défaut sur hiérarchie et lien non rattachés à hiérarchie). Cette phase a pour but de contrôler que la branche défaut est bien renseignée au niveau de la hiérarchie et vérifie que la structure ne contient pas de branche non rattachée à une hiérarchie. Le contrôle ressort les incohérences sous la forme :
Dossier défaut <<référence dossier>> à mettre à jour sur hiérarchie <<clés de la hiérarchie>> (Type= CEN,ENT,TDY / Entité,Entité,’’ /Clé 1 entité,’’,’’/’’,’’,’’/’’,’’,’’/Hiérarchie). En mode « Mise à jour », le dossier défaut est automatiquement maintenu sur la hiérarchie.
Branche défaut sans hiérarchie <<référence branche>> (Type= CEN,ENT,TDY / Entité,Entité,’’ /Clé 1 entité,’’,’’/’’,’’,’’/’’,’’,’’/Hiérarchie/Branche)
Branche sans hiérarchie <<référence branche>> (Type= CEN,ENT,TDY / Entité,Entité,’’ /Clé 1 entité,’’,’’/’’,’’,’’/’’,’’,’’/Hiérarchie/Branche)
En mode « Mise à jour », les branches sont supprimées.
D’une rubrique « suppression liens incohérents »
Branche incohérente.
En mode « Mise à jour », les branches sont supprimées.
D’une rubrique « maj dossier défaut ».
Hiérarchie ne contenant pas de dossier défaut dans sa structure.
En mode « Mise à jour », le dossier défaut est mis à jour sur la structure. Toute hiérarchie dont la structure ne contient qu’une racine ressortira toujours car la racine ne peut pas être dossier défaut. Une telle hiérarchie ne décrit réellement pas de structure…
D’une rubrique « maj dossiers lignes de devis&commandes »
Ligne « clé ligne » (Société ‘ ‘ Numéro Devis ou Commande ‘ ‘ Numéro de ligne)
Cette phase a pour but de détecter toute ligne orpheline (n’étant pas rattachée à une branche de la structure).
En mode « Mise à jour », les lignes sont rattachées à la branche défaut de la hiérarchie.
D’une rubrique « maj dossiers lignes de factures »
Ligne facture « clé ligne » (Société ‘ ‘ Numéro Facture ‘ ‘ Numéro de ligne)
Cette phase a pour but de détecter toute ligne orpheline (n’étant pas rattachée à une branche de la structure).
En mode « Mise à jour », les lignes sont rattachées à la branche défaut de la hiérarchie.
La mise à jour règle nombre d’incohérences, toutefois certains éléments peuvent encore apparaitre et devront être traités au cas par cas. Les cas les plus fréquents sont :
Hiérarchie ne décrivant pas de structure (seul un dossier racine est défini).
Structure hiérarchie présentant plus d’un dossier défaut. Ce cas n’est plus possible mais il peut subsister des cas résidus en base, il faut les corriger manuellement.
Renumérotation Dossiers
Cette action permet de renuméroter les dossiers de l’arbre hiérarchique.
Structure de Hiérarchie
La définition de la structure d’une hiérarchie est disponible depuis :
La gestion des hiérarchie par l’action « Structure Hiérarchie »
La gestion des devis et commandes clients par l’action « Maintenance Hiérarchie »
La gestion des factures clients par l’action « Maintenance Hiérarchie »
La définition de la structure de la hiérarchie est un couplage de type Arbre/Fiche, elle permet de définir une structure hiérarchique pour chaque hiérarchie.
![](../__attachments/115291875/att_17_for_222135043.png?inst-v=2e0628d9-a170-4eb1-b774-b0d7a84fa1a1)
Fiche Structure de hiérarchie
Onglet « Définition »
![](../__attachments/115291875/att_7_for_222135043.png?inst-v=2e0628d9-a170-4eb1-b774-b0d7a84fa1a1)
Référence
Zone non saisie. Référence unique du dossier.
Référence Père
Zone non saisie. Référence du dossier père.
Numéro d’ordre
Zone non saisie. Positionnement du dossier par rapport aux dossiers ayant le même père.
Désignation
Zone facultative. Désignation du dossier, sur l’arbre hiérarchique.
Dossier Défaut
Drapeau indiquant si le dossier est le dossier défaut, celui-ci aura toutes les lignes de l’entité rattachées. Le dossier défaut doit être obligatoirement sur le dernier niveau de l’arbre.
Icône ouvert
Zone facultative. Icône du dossier lorsque celui-ci est ouvert dans l’arbre.
Icône fermé
Zone facultative. Icône du dossier lorsque celui-ci est fermé dans l’arbre.
Onglet « Caractéristiques »
![](../__attachments/115291875/att_8_for_222135043.png?inst-v=2e0628d9-a170-4eb1-b774-b0d7a84fa1a1)
Cet onglet contient l’initialisation des informations générales que porte le nœud. On peut y renseigner cinq valeurs alphanumériques, cinq valeurs numériques, cinq date, cinq logiques.
Actions sur l’arbre
Création Niveau Inférieur
Création d’un dossier avec comme dossier père, le dossier courant, et comme numéro d’ordre, le numéro d’ordre du dossier fils le plus bas + 10, ou si le dossier courant n’a pas de fils, 10.
Création dessus
Accessible uniquement si le dossier n’est pas la racine. Création d’un dossier avec comme dossier père, le père du dossier courant, et comme numéro d’ordre, le numéro d’ordre du dossier courant - 10.
Création dessous
Accessible uniquement si le dossier n’est pas la racine. Création d’un dossier avec comme dossier père, le père du dossier courant, et comme numéro d’ordre, le numéro d’ordre du dossier courant + 10.
Modification
Modification du dossier courant. Les caractéristiques, les icones et le libellé sont accessibles. Le drapeau dossier défaut est aussi accessible, il ne peut être modifié que si le dossier modifié est au dernier niveau.
Suppression Lien
Supprime le dossier courant. Si celui-ci a des fils, ceux-ci vont prendre sa place dans la hiérarchie. Le dossier défaut ne peut être supprimé, ainsi que la racine de l’arbre hiérarchique.
Suppression Hiérarchie Nœud
Supprime le dossier courant et tous ses fils. Le dossier défaut ne peut être supprimé, ainsi que la racine de l’arbre hiérarchique. Si le dossier défaut fait partie des fils alors impossible de supprimer.
Sélection
Copie le dossier courant et tous ses dossiers fils dans le presse papier.
Déplacer Sélection en Bas
Uniquement si un dossier a été sélectionné dans le presse papier auparavant. Déplace ce dossier en dessous du dossier courant.
Déplacer Sélection en Haut
Uniquement si un dossier a été sélectionné dans le presse papier auparavant. Déplace ce dossier en dessus du dossier courant.
Déplacer Sélection au Niveau Inférieur
Uniquement si un dossier a été sélectionné dans le presse papier auparavant. Déplace ce dossier comme dernier des fils du dossier courant.
Coller Dessous
Uniquement si un dossier a été sélectionné dans le presse papier auparavant depuis l’application courante ou une autre application lors de la session courante. Colle ce dossier en dessous du dossier courant.
Coller Dessus
Uniquement si un dossier a été sélectionné dans le presse papier auparavant depuis l’application courante ou une autre application lors de la session courante. Colle ce dossier en dessus du dossier courant.
Coller au Niveau Inférieur
Uniquement si un dossier a été sélectionné dans le presse papier auparavant depuis l’application courante ou une autre application lors de la session courante. Colle ce dossier comme dernier des fils du dossier courant.
Dossier Défaut
Uniquement accessible sur les dossier du dernier niveau. Marque le dossier courant « dossier défaut ». Démarque le précédent « dossier défaut ».
Contrôle Intégrité Dossier/Ligne
Action uniquement accessible depuis les commandes et les factures. Lance un traitement vérifiant les incohérences entre les dossiers de dernier niveau, et les dossiers renseignés sur les lignes.
Le résultat du traitement est une trace présentant les incohérences, et les changements qui seront effectués lors de la validation des modifications de la structure hiérarchique.
Définition d’une présentation hiérarchique
Le paramétrage des présentations hiérarchiques sur les entités se fait sur la présentation de l’entité. Les entêtes de l’entité s’afficheront de manière classique (liste – fiche), l’action « Gestion lignes » donnera accès à une présentation hiérarchique (arbre – liste), cette présentation permettant dans le cas de commandes avec beaucoup de lignes, de classer celles-ci selon les critères définis sur l’arbre.
![](../__attachments/115291875/att_24_for_222135043.png?inst-v=2e0628d9-a170-4eb1-b774-b0d7a84fa1a1)
Deux types de paramétrage peuvent être effectués pour déterminer la hiérarchie de chaque élément des entités devis/commande et facture :
Un paramétrage « fonctionnel » : On définit une hiérarchie sur chaque entête, celle-ci peut être initialisée par l’affaire, ou par une hiérarchie défaut.
Un paramétrage « Défaut » : La hiérarchie défaut définie sur la présentation initialise la liste standard WfArbSor, la règle de construction définie sur la présentation permet de modifier cette liste afin d’obtenir une hiérarchie personnalisée.
Définition d’une hiérarchie sur les entités (paramétrage « fonctionnel »)
Chaque entête de devis/commande ou de facture peut avoir une hiérarchie spécifique pour présenter ses lignes. Deux modes d’initialisation de la hiérarchie de l’élément de l’entité sont possibles :
Initialisation hiérarchie via l’affaire liée.
Les hiérarchies définies sur les affaires permettent d’initialiser celles des devis./commandes ou factures qui sont liées à l’affaire. Il est possible d’en définir plusieurs sur chaque affaire :
Sur la fiche des affaires :
Le drapeau Gés.Hiérar. sur l’affaire permet de déterminer si des hiérarchies peuvent être liées à l’affaire, si celui-ci est coché, la zone Hiérarchie est accessible, en création celle-ci est initialisée avec « 0 » qui est la hiérarchie défaut créée par DIAPASON, il est possible de modifier celle-ci avec une hiérarchie défaut pour les affaires, l’affaire créée par DIAPASON lors de la création de l’affaire aura alors la structure de cette hiérarchie défaut (Voir la définition des hiérarchies défaut) .
En modification, cette zone permet de déterminer la hiérarchie qui sera utilisée par défaut lors de la saisie de devis/commande ou facture.
L’action « Maintenance Hiérarchies » sur l’entité Affaires :
Celle-ci permet de modifier la structure des hiérarchies liées à l’affaire, d’en créer de nouvelles, en modifier, supprimer… (Voir définition structures hiérarchies).
Initialisation hiérarchie via les hiérarchies défaut.
Il est possible de définir des structures hiérarchiques utilisables pour initialiser celle des entités (Voir définition d’une hiérarchie défaut pour les entités).
Il est également possible de forcer sur la présentation une hiérarchie défaut couplée avec une règle DIALOG utilisée pour afficher les lignes de l’entité.
![image-20240322-155213.png](../__attachments/115291875/image-20240322-155213.png?inst-v=2e0628d9-a170-4eb1-b774-b0d7a84fa1a1)
Enfin une règle DIALOG permet d’afficher les données sur les lignes hiérarchiques (lignes dans la liste correspondant à des dossiers dans la hiérarchie).
Définition du lien ligne – dossier hiérarchique.
Afin de présenter les lignes d’une commande par exemple avec une organisation hiérarchique, il faut déterminer pour chacune d’entre elle sur quel dossier elle sera rattachée. Cette opération va se faire de manière différente selon que la présentation est standard ou hiérarchique.
Création et Rattachement d’une ligne en présentation hiérarchique :
Sur une présentation paramétrée hiérarchique, lors de la validation de la création de l’entête, les lignes, s’affichent avec l’arbre hiérarchique à gauche, et les lignes hiérarchiques à droite :
![](../__attachments/115291875/att_18_for_222135043.png?inst-v=2e0628d9-a170-4eb1-b774-b0d7a84fa1a1)
Pour créer une ligne, il suffit de se positionner sur la liste sur la branche hiérarchique correspondant à l’enregistrement que l’on veut créer, et exécuter l’action « Création ». La fiche des lignes va alors s’ouvrir, et la destination hiérarchique sera alors initialisée et non saisissable avec la branche correspondant à la ligne hiérarchique d’où a été lancée l’action « création ».
![](../__attachments/115291875/att_19_for_222135043.png?inst-v=2e0628d9-a170-4eb1-b774-b0d7a84fa1a1)
Création et Rattachement d’une ligne en présentation classique :
La validation de la saisie de l’entête va ouvrir les lignes en mode liste – fiche, avec la fiche en saisie. Le champ Bra. Des. Hié. (branche de destination hiérarchique) est saisissable, il est possible d’y afficher une aide présentant la liste des branches de dernier niveau. Le commentaire présentant le chemin depuis la racine.
Le champ Nord Des. Hié. permettant d’ordonner les lignes liées à ce nœud.
![](../__attachments/115291875/att_20_for_222135043.png?inst-v=2e0628d9-a170-4eb1-b774-b0d7a84fa1a1)
Déplacement d’une ligne d’une destination hiérarchique à l’autre :
L’action « Déplacer lignes sélectionnées » accessible en présentation classique et hiérarchique permet de changer la destination hiérarchique des lignes sélectionnées vers celle de la ligne sur laquelle a été déclenchée l’action.
Affichage des lignes hiérarchique
Chaque dossier dans l’arbre hiérarchique donne lieu à une « ligne hiérarchique » dans la liste. Sur ces lignes hiérarchiques, il est possible de paramétrer l’apparence, ainsi que le contenu de chaque colonne, grâce à la règle d’affichage des nœuds.
![](../__attachments/115291875/att_21_for_222135043.png?inst-v=2e0628d9-a170-4eb1-b774-b0d7a84fa1a1)
Cette requête (REB) est exécutée à chaque affichage de la liste, c’est à dire au démarrage et à chaque actualisation, pour chaque ligne hiérarchique, en allant des nœuds les plus bas vers la racine.
Il existe différentes fonctions afin d’intervenir sur les éléments de la liste hiérarchique.
HIE-LEC-CTX. Cette fonction permet d’accéder en lecture sur une caractéristique du nœud. Elle prendra comme paramètres les variables suivantes :
NŒUD : nœud sur lequel on effectue la lecture
TYPE : type de la donnée lue (caractère, logique, numérique, date)
NOM-VARIABLE : nom de la variable consultée. Diapason propose la liste des attributs de l’enregistrement hiérarchique mais il est aussi possible de lire la valeur d’une colonne. Pour cela, on entrera dans ce paramètre la référence de la colonne.
VALEUR : résultat de la recherche
Exemple : lecture du libellé du nœud lié et écriture dans une variable locale.
![](../__attachments/115291875/att_9_for_222135043.png?inst-v=2e0628d9-a170-4eb1-b774-b0d7a84fa1a1)
La fonction HIE-LEC-CTX donne accès aux informations suivantes :
De type caractère :
NodRef : référence du nœud (renseigné dans WfArbSor)
NodRefPere : référence du nœud père. (renseigné dans WfArbSor)
NodLib : Libellé du nœud
NodIco : Icône ouvert du nœud
NodIcoFer : Icône fermé du noeud
NodLisSty : apparence liste de la ligne hiérarchique liée au nœud.
NodCl1-2-3 : clés du nœud
NodVa1-2-3-4-5 valeurs alphanumériques
De type numérique :
NodNOr : numéro d’ordre (renseigné dans WfArbSor)
NodNu1-2-3-4-5 : valeurs numériques
De type date :
NodDa1-2-3-4-5 : valeurs dates
De type logique :
NodDNi : indique si on est sur un nœud de dernier niveau
NodOuv : indique si le nœud est ouvert
NodLo1-2-3-4-5 : valeurs logiques.
HIE-INI-CTX. Cette fonction permet de modifier le contenu ou un attribut de l’enregistrement hiérarchique. On retrouvera en entrée les paramètres suivants :
NŒUD : nœud sur lequel on effectue l’écriture
TYPE : type de la donnée que l’on va modifier
NOM-VARIABLE : nom de la variable modifiée. Diapason propose la liste des attributs de l’enregistrement hiérarchique mais il est aussi possible de modifier la valeur d’une colonne. Pour cela, on entrera dans ce paramètre la référence de la colonne.
VALEUR : valeur que l’on donne.
Exemple : écriture de la valeur ValCol dans la colonne de référence NomCol :
![](../__attachments/115291875/att_10_for_222135043.png?inst-v=2e0628d9-a170-4eb1-b774-b0d7a84fa1a1)
PARCOURS LISTE POUR HIERARCHIE DES LIGNES LIEES . Cette instruction permet de parcourir toutes les lignes liées au nœud indiqué. Elle prendra les paramètres suivants :
NŒUD : référence du nœud sur lequel on effectue la recherche.
IDENTIFIANT-PARCOURU : ligne que l’on est entrain de parcourir.
ERREUR : code erreur du parcours
Exemple : parcours de toutes les lignes liées au nœud RefNoeud. Pour chacune de ces lignes, l’identifiant sera dans la variable Identifiant.
![](../__attachments/115291875/att_11_for_222135043.png?inst-v=2e0628d9-a170-4eb1-b774-b0d7a84fa1a1)
PARCOURS ARBRE HIERARCHIQUE
DES ENFANTS DIRECTS DU NŒUD : Cette instruction permet de parcourir tous les enregistrements de la hiérarchie qui sont des fils directs d’un nœud.
DES ENFANTS DU NŒUD : Cette instruction permet de parcourir tous les enregistrements de la hiérarchie qui sont des fils directs ou indirects d’un nœud.
DU NŒUD : Cette instruction positionne sur le nœud courant.
DU PERE DU NŒUD : Cette instruction permet de retrouver le père d’un nœud
On trouvera les paramètres suivants en entrée :
NŒUD : référence du nœud sur lequel on effectue la recherche.
NOEUD-PARCOURU : référence du nœud que l’on est entrain de parcourir.
ERREUR= code erreur du parcours
Définition d’une hiérarchie sur les entités (paramétrage « défaut »)
Le paramétrage défaut lié à la présentation hiérarchique s’applique dans les cas suivants :
Le champ « Forcer Hié. Déf. » est coché sur la définition de la présentation : cela signifie que quelque soit le paramétrage sur l’entité (gestion hiérarchie ou non, hiérarchie liés à un élément de l’entité), le paramétrage par défaut de la présentation sera appliqué.
Le champ « Forcer Hié. Déf. » n’est coché, mais on affiche les lignes d’un enregistrement qui n’a pas de paramétrage hiérarchique (« Ges. Hiérar. » n’est pas coché sur l’entête), alors que la présentation est hiérarchique.
L’affichage des lignes hiérarchiques dans ce cas se fera en plusieurs étapes :
Construction de l’arbre hiérarchique.
Etablissement du lien nœud – ligne entité.
Affichage des lignes hiérarchiques.
Construction de l’arbre hiérarchique
Dans le cas du paramétrage « défaut », à chaque ouverture des lignes hiérarchiques, la règle de construction des nœuds est exécutée. Celle-ci peut être facultative, dans la mesure où la hiérarchie défaut définie sur les présentations va initialiser la structure de l’arbre avant l’exécution de la requête.
Contexte en entrée de la requête :
Liste WfArbSor initialisée avec la hiérarchie défaut de la présentation.
SCR.EntTEn : Référence de l’entité.
SCR.EntCl1, SCR.EntCl2, SCR.EntCl3 : clés de l’entête.
SCR.EntCtx : « DEM-PRES » lors du démarrage des lignes « ACT-PRES » lors d’une actualisation.
Lors de l’exécution de la requête :
Initialiser la liste DIALOG WfArbSor (voir détails docum).
Possibilité d’utiliser la fonction DIALOG HIE-INI-ARB (Initialisation de l’arbre d’une hiérarchie)/ Cette fonction permet d’initialiser la structure de WfArbSor avec une structure hiérarchique défaut, ou définie sur une affaire, un devis, une commande, une facture:
Paramètres en entrée :
TYPE-INI : type de hiérarchies :
CLE-ENTITE = la hiérarchie est liée à une clé sur une entité (une commande, un devis, une affaire, une facture).
REF-DEF-ENTITE = Hiérarchie défaut pour les entités
REF-DEF-TABDYN = Hiérarchie défaut pour tableurs dynamiques hiérarchiques
ENTITE : Référence entité (cas CLE-ENTITE ou REF-DEF-ENTITE).
CLE-ENTITE : Référence devis/commande, référence affaire ou référence facture (uniquement dans le cas CLE-ENTITE).
REF-HIERARCHIE : Référence de la hiérarchie parmi les hiérarchies de l’entité (Défaut, ou référence).
En sortie de la requête
Liste WfArbSor contient la structure de l’arbre hiérarchique.
Définir un WfArbsor de dernier niveau pour être nœud défaut (WfArbSor.NodDef = OUI).
Définition du lien nœud-ligne
Maintenant que l’arbre et la liste hiérarchique sont construits, il est nécessaire de déterminer pour chaque ligne de l’entité, à quel nœud elles doivent être liées. Pour cela, la règle de construction est à nouveau exécutée avec le contexte particulier SCR.EntCtx = INI-LIS. Le but de cette exécution est d’initialiser une liste standard DIALOG WfArbIni, liant un enregistrement, à un nœud.
Contexte en entrée de la requête :
Liste WfArbSor en lecture.
SCR.EntTEn : Référence de l’entité.
SCR.EntCl1, SCR.EntCl2, SCR.EntCl3 : clés de l’entête.
SCR.EntCtx : « INI-LIS ».
Lors de l’exécution de la requête :
Initialiser la liste standard DIALOG WfArbIni :
TEn : Type entité
Cl1, Cl2, Cl3 : clés de la ligne de l’entité.
DiaTab : Table de la ligne de l’entité lié à l’identifiant
DiaIde : Identifiant de la ligne à lier.
NodRef : Référence nœud lié
NodNOr : Numéro d’ordre de la ligne parmi toutes les lignes liées au nœud.
Il est possible de renseigner soit les clés soit la table et l’identifiant pour identifier la ligne.
Contexte lu en sortie de requête :
Liste DIALOG WfArbini.
Remarque : Cette règle est également exécutée à chaque actualisation de la liste. Dans ce cas, la liste WfArbSel présentera les liens nœud/ligne avant l’exécution de la requête.
Actions sur les présentations hiérarchiques
Les actions possibles sur les parties arbre et liste des présentations hiérarchiques vont différer du fait que le paramétrage est « fonctionnel « ou « défaut ».
Trois menus contextuels peuvent permettre d’effectuer des actions de gestion et de maintenance des lignes, et de la structure hiérarchique.
![image-20240322-155836.png](../__attachments/115291875/image-20240322-155836.png?inst-v=2e0628d9-a170-4eb1-b774-b0d7a84fa1a1)
Menu contextuel de l’arbre.
Accessible uniquement lorsque la présentation hiérarchique a été définie sur la clé de l’entité. Les actions vont permettre de maintenir l’arbre hiérarchique, ainsi que les lignes de l’entité :
Accès Arbre en Gestion
Cette action permet d’accéder à la maintenance de la structure de l’arbre. A la validation de l’application de maintenance de la structure de l’arbre, un traitement de contrôle va vérifier que toutes les lignes sont liées à un nœud de dernier niveau, auquel cas, les lignes sont liées au nœud défaut.
Au retour de cette action, l’arbre et la liste hiérarchique seront actualisés pour prendre en compte les modifications effectuées.
Sélection ligne hiérarchique
Cette action permet de mettre un nœud en sélection, pour effectuer des actions de duplication. Pour marquer le nœud sélectionné, celle-ci est changé pour l’icône défaut « HIE-SEL ».
Duplication Hiérarchie
Cette action n’est active que si un nœud a été sélectionné. Elle va copier la hiérarchie du nœud, ainsi que toutes les lignes qui leur sont rattachées sous le nœud courant où a été déclenché l’action.
Suppression Hiérarchie
Cette action va supprimer la hiérarchie du nœud courant, ainsi que les lignes liées.
Actions paramétrées sur l’entité ligne
Les actions paramétrées sur l’entité, ou sur la liste applicative de l’entité sont accessibles, et seront exécutées pour toutes les lignes liées à la hiérarchie du nœud sur lequel a été déclenchée l’action.
Actions de modification globale
Sur le même principe que les actions paramétrées, les actions de modification globale sont accessibles.
Menu contextuel sur la liste hiérarchique.
Pour les lignes hiérarchiques :
Les actions sont les mêmes, et suivent le même principe que si elles étaient exécutées directement sur les nœuds liés.
Pour les lignes de l’entité :
Les actions sont les mêmes que sur une présentation classique.
Actions disponibles sur les Présentations
Sel. Utilisateurs et Classes
Cette action permet de sélectionner les utilisateurs et les classes d’utilisateurs pour lesquels la présentation courante sera la présentation de démarrage. Un premier drag&drop permet de sélectionner les modes de démarrage auxquels on souhaite appliquer la présentation de démarrage avant de présenter un second drag&drop permettant de sélectionner effectivement les utilisateurs et les classes d’utilisateurs.
Sup. Utilisateurs et Classes
Cette action permet de sélectionner les utilisateurs et les classes d’utilisateurs pour lesquels on ne souhaite plus que la présentation courante soit la présentation de démarrage. Comme pour l’action précédente, il faut sélectionner les modes de démarrage avant de sélectionner les utilisateurs et les classes d’utilisateurs.
Cas d’Emploi (LAP). Cette action permet d’accéder à la liste des listes paramétrées (LAP) utilisant la présentation courante :
comme présentation de démarrage
dans la liste des présentations possibles si celle-ci est renseignée
si la liste des présentations possibles n’est pas renseignée mais que « Sél. Prés ? » est coché.