Règles DIALOG des ergonomies
Règle REB d’affichage
Dans la définition des ergonomies, des variables sont sélectionnables : les variables VAC (Variables Affichage Complémentaire). Ces variables sont des zones libres, qui ne sont pas saisissables mais qui sont alimentées par :
A l’affichage : la règle REB d’affichage (définie sur l’ergonomie)
Avant la saisie : la règle REB avant saisie (définie dans l’intégrité générale entités et sur l’ergonomie)
Durant la saisie : une règle RCT de contrôle local d’une zone (utilisation de liste de valeurs type « 3 »)
Durant la saisie d’une commande commerciale ou ligne de commande commerciale : respectivement dans une règle GCC ou GCA.
La règle REB d’affichage dispose des variables suivantes :
SCR.EntCtx : AFF
SCR.EntAct : AFF-FIC (fiche) ou AFF-LIS (liste) : suivi de « ,INI » si c’est le premier affichage de la liste ou de la fiche
SCR.EntIde : Identifiant de l'enregistrement courant (provision technique pour un accès plus rapide aux enregistrements)
SCR.EntCl1 : Clé 1 de l'enregistrement courant
SCR.EntCl2 : Clé 2 de l'enregistrement courant
SCR.EntCl3 : Clé 3 de l'enregistrement courant
SCR.EntTEn : Entité courante
SCR.EntPre : Référence Présentation en cours
SCR.EntErg : Référence Ergonomie en cours
Dans la règle REB d’affichage complémentaire de liste GFD, la variable SCR.LIG_LigAtt permet de piloter la couleur et les attributs de la ligne avec la syntaxe suivante :
INIT SCR.LIS_LigAtt = CLO."LIG-APP=sty01" où sty01 représente le code apparence de type liste définie dans le DIAPASON courant (visibles dans le « A Propos de DIAPASON » ou depuis l’application de définition des apparences listes).
Les listes paramétrables à présentation bénéficient également de l’affichage complémentaire.
Si une règle est définie sur l’ergonomie, elle est exécutée puis celle définie dans l’Intégrité Générale Entités est exécutée.
Exemple
But : Afficher en rouge les fournisseurs dont la référence commence par TEST sinon affichage en noir
RECH TBD/SOC DTD APFour AVEC DTD APFour.AppRefFour = SCR.EntCl1 :
SI DTD APFour.AppRefFour COMMENCE_PAR CLO."TEST"
INIT SCR.LIS_LigAtt = CLO."LIG-APP=ASUP"
FIN_BLOC
SINON
INIT SCR.LIS_LigAtt = CLO."LIG-APP=EnCours"
FIN_BLOC
FIN_BLOC
Note : « ASUP » et « EnCours » sont des références d’Apparences Listes (accessibles depuis le STUDIO DIAPASON à Apparences et Styles à Apparences Listes)
Règle REB « Gestion »
Entrée en saisie
Le but de cette règle est l’alimentation de variables de l'entité (via la fonction INI-VAR-ENT), de variables VAC, de variables VBP. Le contexte en entrée est le suivant :
SCR.EntCtx : ACT-INI
SCR.EntFct : I si utilisation interactive, E pour ENR-ACT-ENT
SCR.EntAct : CRE, MOD, DUP, ACT
SCR.EntIde : Identifiant de l'enregistrement courant (vide en création)
SCR.EntCl1 : Clé 1 de l'enregistrement courant (vide en création)
SCR.EntCl2 : Clé 2 de l'enregistrement courant (vide en création)
SCR.EntCl3 : Clé 3 de l'enregistrement courant (vide en création)
SCR.EntTEn : Entité
SCR.EntPre : Présentation
SCR.EntErg : Ergonomie
SCR.EntActPar : Clés de l’enregistrement d’origine lors de la duplication, séparées par le caractère « / ». Lors de toute autre action, cette variable n’est pas renseignée.
SCR.IAP_* : Variables contextuelles de l’application permettant donc de connaître le type et la référence objet, l'application, etc.
WfEntSel : Structure contenant les éléments sélectionnés
Si une règle est définie sur l’ergonomie, elle est exécutée puis celle définie dans l’Intégrité Générale Entités est exécutée.
Exemple 1
But : Initialisation d’une VAC.
INIT VAC.CliHierarCli = CLO.""
VLO.CliResRef = SCR.EntCl1
VLO.CliGenRef = SCR.EntCl2
VLO.IND_MAX = CLO.5
VLO.Hierarchie = VLO.CliGenRef
VLO.CliGenRefSup = VLO.CliGenRef
BOUCLE VLO.IND DE CLO.1 A VLO.IND_MAX :
VLO.RECVARSPE = REC-VAR-SPE( TYPE-VARIABLE= VCL , TYPE= CARACTERE , NOM-VARIABLE= CliGenGrp , CLE-1= VLO.CliResRef , CLE-2= VLO.CliGenRef , CLE-3= CLO."" , S:VALEUR= VLO.CliGenRef )
SI VLO.CliGenRef <> CLO.""
SI VLO.CliGenRef <> VLO.CliGenRefSup
VLO.Hierarchie = VLO.Hierarchie + CLO."/" + VLO.CliGenRef
VLO.CliGenRefSup = VLO.CliGenRef
FIN_BLOC
SINON
QUITTER
FIN_BLOC
FIN_BLOC
SINON
QUITTER
FIN_BLOC
FIN_BLOC
INIT VAC.CliHierarCli = VLO.Hierarc
Exemple 2
But : Réinitialisation à vide d’une variable spécifique article GAD_Test_Alpha en duplication d’articles
SI SCR.EntCtx = CLO."ACT-INI" /* la requête est exécutée avant l’entrée de saisie dans la GFD */
SI SCR.EntAct = CLO."DUP"
VLO.VarEntTEn = SCR.EntTEn /* entité sur laquelle l’utilisateur est positionné, soit GAD */
VLO.VarValeur = CGL.VIDE
VLO.Resultat = INI-VAR-ENT( ACTION= MAJ-VALEUR , ENTITE= VLO.VarEntTEn , VARIABLE= CLO."GAD_Test_Alpha" , E-S:VALEUR= VLO.VarValeur )
FIN_BLOC
FIN_BLOC
Création, modification, duplication, réactivation
Le but de cette règle est l’alimentation de variables de l'entité (via la fonction INI-VAR-ENT), de variables VAC, de variables VBP et l’utilisation des mots-clé LC-WARNING et LC-ERREUR. Le contexte en entrée est le suivant :
SCR.EntCtx : ACT-BAS
SCR.EntFct : I si utilisation interactive, E pour ENR-ACT-ENT
SCR.EntAct : CRE, MOD, DUP, ACT
SCR.EntIde : Identifiant de l'enregistrement courant
SCR.EntCl1 : Clé 1 de l'enregistrement courant
SCR.EntCl2 : Clé 2 de l'enregistrement courant
SCR.EntCl3 : Clé 3 de l'enregistrement courant
SCR.EntTEn : Entité
SCR.EntPre : Présentation
SCR.EntErg : Ergonomie
SCR.IAP_* : Variables contextuelles de l’application permettant donc de connaître le type et la référence objet, l'application, etc.
Si une règle est définie sur l’ergonomie, elle est exécutée puis celle définie dans l’Intégrité Générale Entités est exécutée.
Suppression
La règle REB de gestion est également exécutée lors de la suppression d’un élément. Le but de cette règle est alors d’annuler la suppression grâce au mot-clé LC-ERREUR. Le contexte d’exécution est le même que pour la gestion d’un élément :
SCR.EntCtx : ACT-BAS
SCR.EntFct : I si utilisation interactive, E pour ENR-ACT-ENT
SCR.EntAct : SUP
SCR.EntIde : Identifiant de l'enregistrement courant
SCR.EntCl1 : Clé 1 de l'enregistrement courant
SCR.EntCl2 : Clé 2 de l'enregistrement courant
SCR.EntCl3 : Clé 3 de l'enregistrement courant
SCR.EntTEn : Entité
SCR.EntPre : Présentation
SCR.EntErg : Ergonomie
SCR.IAP_* : Variables contextuelles de l’application permettant donc de connaître le type et la référence objet, l'application, etc.
Si une règle est définie sur l’ergonomie, elle est exécutée puis celle définie dans l’Intégrité Générale Entités est exécutée.
Exemple 1
But : Initialiser la zone « Requête Initialisation Lignes Devis » d’un Client
VLO.CliProDevRegIniLig = CLO."GCL"
VLO.INI-VAR-ENT = INI-VAR-ENT( ACTION= MAJ-VALEUR , ENTITE= GCLIENT , VARIABLE= CliProDevRegIniLig , E-S:VALEUR= VLO.CliProDevRegIniLig )
Exemple 2
But : Contrôler la saisie d’une zone de la fiche Client
SI SCR.EntCtx = CLO."ACT-BAS"
VLO.ResCliRef = SCR.EntCl1
VLO.CliGenRef = SCR.EntCl2
VLO.RECVARENT = REC-VAR-ENT( ACTION= REC-VALEUR , ENTITE= GCLIENT , VARIABLE= CliCptBanque , ENTITE-RECHERCHE= GCLIENT , CLE-1= VLO.ResCliRef , CLE-2= VLO.CliGenRef , CLE-3= CLO."" , S:VALEUR= VLO.CliCptBanque )
SI VLO.CliCptBanque = CLO.""
LC-ERREUR = CLO."Impossible de valider la fiche du client" + " " + VLO.CliGenRef + " " + CHR( VALEUR= CLO.13 ) + CHR( VALEUR= CLO.13 ) + CLO."Mode de règlement :" + " " + VLO.CliRegMod + " " + CLO."Info : Rib non obligatoire - Le RIB est incorrectement saisi !"
FIN_BLOC
FIN_BLOC
Exemple 3
But : Contrôle Date de Facture
SI SCR.EntCtx = CLO."ACT-BAS"
VLO.CdeFacRef = SCR.EntCl1
RECH TBD/SOC DTD CDFaEn AVEC DTD CDFaEn.CdeFacRef = SCR.EntCl1 :
VLO.DateJour = DATEJOUR( )
VLO.DateCtrl = CAL-DATE( DATE= VLO.DateJour , NB-JOURS= CLO.2 , SENS= - )
SI DTD CDFaEn.CdeFacCalDat < VLO.DateCtrl
LC-Erreur = CLO."Date Incorrecte"
FIN_BLOC
FIN_BLOC
FIN_BLOC
Règle REB « Modification Globale »
REB de gestion (alimentation variables de l'entité, variables VAC, variables VBP, LC-WARNING, LC-ERREUR) :
SCR.EntCtx : MOD-GLO
SCR.EntFct : I si utilisation interactive, E pour ENR-ACT-ENT
SCR.EntAct : référence AMG
SCR.EntTEn : Entité
SCR.EntPre : Présentation
SCR.EntErg : Ergonomie
WfEntSel : Structure contenant les éléments sélectionnés
Si une règle est définie sur l’ergonomie, elle est exécutée puis celle définie dans l’Intégrité Générale Entités est exécutée.