DIAPASON 05
Breadcrumbs

Requête RCT de contrôle local & d' intégrité GANTT


      Introduction

      Comme dans un tableur, la requête de contrôle local dans un GANTT permet de:

      • mettre en place une aide au F2 dans une cellule

      • contrôler le contenu d’une cellule en sortie de la cellule

      Cette requête fonctionne exactement comme celle d’un tableur ! 🙂

      Quelles sont les SCR permettant de donner le contexte d’exécution de la requête ?

      Comme dans un tableur, on peut utiliser le contexte d’exécution:

      image-20230301-105701.png

      Les classiques

      • SCR.RCT_RefCol

      • SCR.RCT_ValCol

      • SCR.RCT_TypeAction

      • SCR.RCT_TypeAcces

      Et on a également la SCR.GTT_TacRef, qui contient la référence de la tâche qui a été modifiée ! On peut ainsi se repositionner sur la tache afin de lire ou mettre à jour d’autres informations:

      image-20230301-110002.png

      Que faut-il mettre dans cette requête ?

      Comme une requête de contrôle local de tableur, on peut déterminer ce qui doit se passer en fonction de l’action réalisée par l’utilisateur.

      Rappel: l’alimentation des taches dans la requête d’initialisation du Gantt est réalisée via la liste WFGTTTac. Par contre, quand on effectue une modification sur une tâche, ou qu’on crée une nouvelle tâche , les informations sont mises a jour dans la liste WFGTTTacMaj ! La Liste WFGTTTac contient les informations avant modifications, la liste WFGTTTacMaj contient la liste des informations modifiées ou en cours de modification, lorsque l’on passe dans la RCT en mode contrôle, lors de la modification d’un champ d’une tache. Quand on valide le Gantt, les informations de la liste WFGTTTacMaj sont recopiées dans la liste WFGTTTac qui est complétée avec l’action principale ayant été réalisée : CRE, MOD , SUP , vide si rien n’a été modifié. L’enregistrement du Gantt pourra etre réalisé en exploitant la liste WFGTTTac. Si on annule en sortie du GANTT, DIAPASON récupérera le contenu de la liste WFGTTTac, soit la valeur avant modification.

      Comme pour une requête de contrôle classique de tableur, on va donc gérer ce qu’il se passe:

      • quand l’utilisateur lance une action

        image-20230301-141244.png
      image-20230222-154817.png

      Gérer les actions

      Comme pour une requête de tableur, la SCR.TypeAccess=ACT.

      On peut gérer ici les actions du GANTT.


      • Menu contextuel: les actions apparaitrons toutes dans le menu contextuels avec le libellé défini dans le champ LisLAc.

      Pour ajouter un séparateur il faut utiliser le code action « *SEP ».

      • Barre d’actions: Les actions devant apparaitre dans la barre d’action du GANTT (toolbarre) devront avoir une représentation (Champ LisActRepres) commençant par « GBC » suivi d’une référence icone Diapason.

      Le libellé qui sera affiché sera le libellé court associé (champ ListActLibC)

      • Boutons du GANTT: Pour ajouter des boutons d’actions spécifiques à droite des boutons d’actions standards « Validation » et « Abandon » , il faut associer le code BTN dans la représentation (Champ LisActRepres) de l’action.

      Le libellé qui sera affiché sera le libellé court associé (champ ListActLibC)

      Il est possible de modifier le contenu de WfGttGen dans la règle de démarrage et dans la règle de construction du GANTT.


      Gestion des actions disponible sur une tache :

      • Si aucun code action n’est défini dans le champ WfGTTTac.TacLisAct, toutes les actions définit dans WfGTTGen.LisRAc seront disponible pour la tâche.

      • Si des codes actions sont présents dans le champ WfGTTTac.TacLisAct, alors seules ces actions seront disponibles pour la tâche courante. Les codes actions possibles sont les codes actions définis dans WfGTTGen.LisRac.


      • quand l’utilisateur lance l’aide ou modifie le contenu d’une cellule

        image-20230222-152711.png

      C’est tout comme dans un tableur classique 🙂

      image-20230308-110528.png


      Ajouter de l’aide au F2

      Le mode « AID » correspond à la constitution d’une liste d’éléments se rapportant à une colonne de la liste des tâches lorsque l’utilisateur utilise la fonction « Aide (F2) » en édition dans la cellule.

      Voir Créer une liste d' aide

      Les fonctionnalités disponibles dans le GANTT paramétré sont :

      • Ajout/Suppression de colonnes :

        • « R » pour la colonne « Référence »

        • « D » pour la colonne « Désignation »

        • « V » pour la colonne « Valide ». L’affichage de la colonne « Valide » va afficher les lignes supprimées (Valide = 1) en rouge barré.

        • Un chiffre correspondant à la position de la valeur dans la liste chainées SDH.LisInfCcom

      • Pilotage des titres des colonnes

      • Pilotage des types des colonnes : Les types possibles sont les types DIAPASON : A, E, R, D, L ou I.

      • Pilotage des formats des colonnes : Les formats de colonne par défaut sont « C/50» pour la colonne « Référence », « C/100 » pour la colonne « Désignation » et éventuellement « C/100 » pour la colonne « Commentaire »

      • Modification du séparateur

      • Pilotage des largeurs de colonnes


      Les fonctionnalités ci-dessous ne sont pas disponibles dans le GANTT :

      • Affichage d’images et d’icônes

      • Pilotage des colonnes filtrables

      • Sélection multiple

      • Pilotage des hauteurs de lignes

      • Utilisation de listes de valeurs existante

      Exemple de visuel de l'aide

      Déclenchement de l’aide :

      att_42_for_206176854.png

      Affichage de la liste d’aide : le GANTT n’est plus accessible tant que la fenêtre de la liste d’aide est ouverte

      att_41_for_206176854.png

      Trie des informations de la liste : en cliquant sur l’entête d’une colonne les données sont alors triées par ordre Croissant ou décroissant (sens de la flèche qui s’affiche)

      att_33_for_206176854.png

      Sélection d’une valeur : le double click sur un enregistrement valide la sélection ou l’appui sur le bouton « Valider » valide la ligne en surbrillance

      att_34_for_206176854.png

      Autres exemple de liste sur colonne caractère

      att_27_for_206176854.png
      att_35_for_206176854.png

      Exemple de liste d’aide sur colonne numérique

      att_40_for_206176854.png

      Limitations

      • Les colonnes images et icones ne sont pas affichées

      • On ne peut pas filtrer l’aide

      • Saisie d’une cellule au format Date : la saisie au clavier d’une cellule au format Date n’est pas activée. Pour modifier la valeur d’une zone au format Date il faut utiliser le calendrier disponible depuis la cellule en appuyant sur la flèche

      att_28_for_206176854.png

      C’est tout comme dans un tableur classique 🙂

      Contrôler les modifications effectuées dans les champs par l’utilisateur


      image-20230301-142005.png

      Enregistrer les modifications effectuées dans les champs par l’utilisateur

      Les modifications effectuées sont enregistrées dans la liste des tâches modifiées WFGTTTacMaj qui peut être lue et modifiée alors que la liste des tâches WFGTTTac ne peut être que lue: elle garde la valeur de la tâche avant modification. Si on valide le Gantt ( on passera alors dans la requête de validation du Gantt), on pourra alors écraser WFGTTTac avec WFGTTTacMaj. Et si on sort du Gantt en annulant, on gardera uniquement les données de WFGTTTacMaj sans modification.

      • quand on réaffiche le tableur après un changement de vue

        image-20230222-153725.png
      image-20230222-155807.png


      On gère le réaffichage du GANTT quand on change de vue

      Il faut indiquer dans cette requête que lorsque l’on change de vue, il faut réafficher le GANTT par la suite. Pour cela, on doit utiliser les mots clés *ENR, et *REA ( enregistrer et réafficher).

      • autre ?

      Contrôle de chaque cellule en saisie dans la liste.

      Dates Tâche et durée : SAI

      Autre zone : MOD




      En entrée

      1 WFGTTTacMaj (Action « SAI/MOD»)

      SCR.RCT_TypeAcces = CTL

      SCR.RCT_TypeAction = MOD

      SCR.GTT_REF = Gantt courant

      SCR.GTT_TacRef = WFGTTTacMaj.TacRef

      SCR.GTT_ActCtx = SAI

      SCR.RCT_RefCol = Référence champ saisi dans la liste

      SCR.RCT_ValCol = Valeur saisie dans la liste

      En sortie

      1 ou n WFGTTTacMaj (Action «MOD»)

      1 ou n WFGTTLieMaj (Action «MOD»)

      Actions Liens :

      LCRE

      LMOD

      LSUP

      En Entrée

      1 WFGTTLieMaj (Action « LCRE/LMOD/LSUP»)

      SCR.RCT_TypeAcces = ACT

      SCR.RCT_TypeAction = LCRE/LMOD/LSUP

      SCR.GTT_REF = Gantt courant

      SCR.GTT_TacRef = WFGTTTacMaj.TacRef

      SCR.GTT_ActCtx = ACT 

      En sortie

      1 ou n WFGTTTacMaj (Action «LCRE/LMOD/LSUP»)

      1 ou n WFGTTLieMaj (Action «LCRE/LMOD/LSUP»)

      Sélection Lien : LSEL

      En entrée

      1 WFGTTLieMaj.Action = SUP 

      SCR.RCT_TypeAcces = ACT

      SCR.RCT_TypeAction = LSUP

      SCR.GTT_TacOri = initialisé par LSEL

      SCR.GTT_TacDes = initialisé par LSEL

      SCR.GTT_REF = Gantt courant

      SCR.GTT_ActCtx = ACT

      En Sortie :

      1 ou n WFGTTTacMaj (Action «MOD»)

      1 ou n WFGTTLieMaj (Action «MOD»)

      Déplacement tâche : DEP

      En entrée:

      1 WFGTTTacMaj (Action « DEP »)

      WFGTTTac => WFGTTTacMaj (Action « »)

      WFGTTLie => WFGTTLieMaj (Action « »)

      WFGTTGen

      SCR.RCT_TypeAcces = ACT

      SCR.RCT_TypeAction = DEP

      SCR.GTT_REF = Gantt courant

      SCR.GTT_TacRef = WFGTTTacMaj.TacRef

      En sortie:

      1 WFGTTTacMaj (Action « DEP »)

      1 ou n WFGTTTacMaj (Action «MOD»)

      1 ou n WFGTTLieMaj (Action «MOD»)

      SCR.GTT_RAF



      En entrée :

      WFGTTGen

      WFGTTLis

      SCR.GTT_REF: Gantt courant

      SCR.GTT_ActCtx  : DEP 

      En sortie :

      WFGTTGen

      WFGTTLis

      WFTTTac

      WFTTLie


      En entrée :

      WFGTTGen

      WFGTTLis

      WFGTTTac

      WFGTTLie

      WFGTTTacMaj

      WFGTTLieMaj

      SCR.RCT_TypeAcces : DEM

      SCR.RCT_TypeAction : DEM

      SCR.GTT_REF : Gantt courant

      SCR.GTT_ActCtx : DEM

      En sortie :

      WFGTTGen

      WFGTTLis

      WFGTTTac

      WFGTTLie

      WFGTTTacMaj

      WFGTTLieMaj

      Gestion des niveaux :

      NIV+

      NIV-



      La gestion des niveaux s’apparente à une action de modification d’une tâche. La modification consiste à changer le père de la tâche et le numéro d’ordre / père.

      En Entrée

      1 WFGTTTacMaj (Action « NIV+/NIV-»)

      SCR.RCT_TypeAcces = ACT

      SCR.RCT_TypeAction = “NIV+/NIV-”

      SCR.GTT_REF = Gantt courant

      SCR.GTT_TacRef = WFGTTTacMaj.TacRef

      SCR.GTT_ActCtx = NIV+/NIV-

      En sortie

      1 ou n WFGTTTacMaj (Action «NIV+/NIV-»)

      1 ou n WFGTTLieMaj (Action «NIV+/NIV-»)

      Changement de vue

      Cette action spécifique a pour effet de pouvoir réinitialiser le gantt courant dans sa globalité :

      Retravailler les caractéristiques générales (WFGTTGEn), horizon, actions …

      Retravailler la structure de la liste (WFGTTLis)

      Retravailler le contenu des taches (WFGTTTac et WFGTTlien) ainsi que leurs actions

      En Entrée

      Code action décidé par le paramétreur

      En sortie

      VBP. IAP_TypeFils = ‘GTT’

      VBP.IAP_RefFils = *ENR/*REA/*IMP/*ENR,*REA/*ENR,IMP

      *ENR : Validation du GANTT

      *REA : Construction en mode DEM

      *IMP : Construction en mode DEM