Skip to main content
Skip table of contents

Mettre en place le moteur RCT


Comment utiliser le moteur RCT ?

Dans notre cas, on souhaite par exemple lancer une PSD. Dans la requête lancer la PSD, on écrira donc:

  • Quand l’utilisateur clique sur l’action…on a le contexte suivant :

    • la SCR.RCT_TypeAcces = ACT (Mode d’exécution de la règle : ‘ACT’ si elle est appelée par une action directe de l’utilisateur, ‘IAP’ si c’est le retour d’une application liée lors d’une fermeture)

    • La SCR.RCT_TypeAction = Code action lancé

Selon la nature de l’objet paramétré, d’autres contextes sont disponibles !

LPA : Liste paramétrée :

  • SCR.DiaTab=Table liée à l’enregistrement

  • SCR.DiaIde=Identifiant de l’enregistrement lié

  • SCR.EntCl1=Clé 1 de l’entité

  • SCR.EntCl2=Clé 2 de l’entité

  • SCR.EntCl3=Clé 3 de l’entité

  • SCR.EntVa1 à SCR.EntVa5=Valeurs aphanumériques (5 variables) uniquement si la LPA est par condition DIALOG

  • SCR.EntNu1 à SCR.EntNu5=Valeurs numériques (5 variables) uniquement si la LPA est par condition DIALOG

  • SCR.EntLo1 à SCR.EntLo5=Valeurs logiques (5 variables) uniquement si la LPA est par condition DIALOG

  • SCR.EntDa1 à SCR.EntDa5=Valeurs Date (5 variables) uniquement si la LPA est par condition DIALOG

Lors d’une sélection multiple, le contexte des éléments sélectionnés est également transmis en entrée de la requête, dans la liste standard WfEntSel :

  • TEn=Type entité gérée

  • DiaTab=table l’enregistrement lié

  • DiaIde=Identifiant de l’enregistrement lié

  • EntCl1=Clé 1 de l’entité

  • EntCl2=Clé 2 de l’entité

  • EntCl3=Clé 3 de l’entité

  • EntVa1 à EntVa5=Valeurs aphanumériques (5 variables) uniquement si la LPA est par condition DIALOG

  • EntNu1 à EntNu5=Valeurs numériques (5 variables) uniquement si la LPA est par condition DIALOG

  • EntLo1 à EntLo5=Valeurs logiques (5 variables) uniquement si la LPA est par condition DIALOG

  • EntDa1 à EntDa5=Valeurs Date (5 variables) uniquement si la LPA est par condition DIALOG

ARB : Arbre paramétré

  • SCR.DiaTab=Table liée à l’enregistrement

  • SCR.DiaIde=Identifiant de l’enregistrement lié

  • SCR.EntCl1 = Clé 1 de l’entité

  • SCR.EntCl2 = Clé 2 de l’entité

  • SCR.EntCl3 = Clé 3 de l’entité

  • SCR.EntVa1 à SCR.EntVa5 =,Valeurs aphanumériques (5 variables)

  • SCR.EntNu1 à SCR.EntNu5 = Valeurs numériques (5 variables)

  • SCR.EntLo1 à SCR.EntLo5 = Valeurs logiques (5 variables)

  • SCR.EntDa1 à SCR.EntDa5 = Valeurs Date (5 variables)

PER : Pert paramétré

  • SCR.DiaTab = Table liée à l’enregistrement

  • SCR.DiaIde = Identifiant de l’enregistrement lié

  • SCR.EntCl1 = Clé 1 de l’entité

  • SCR.EntCl2 = Clé 2 de l’entité

  • SCR.EntCl3 = Clé 3 de l’entité

  • SCR.EntVa1 à SCR.EntVa5 = Valeurs aphanumériques (5 variables)

  • SCR.EntNu1 à SCR.EntNu5 = Valeurs numériques (5 variables)

  • SCR.EntLo1 à SCR.EntLo5 = Valeurs logiques (5 variables)

  • SCR.EntDa1 à SCR.EntDa5 = Valeurs Date (5 variables)

PSD/PMS : Procédure de saisie dynamique/Procédure de mouvement de stock

SCR.IAP_VarPere = Zone en cours

SCR.IAP_ValPere = Valeur de la zone en cours

SCR.PAR_TypVar = Type de variables d’affichage de la fiche

Et dans notre requête on va initialiser:

  • La VBP.IAP_TypeFils = Type de l’objet lancé

  • La VBP.IAP_RefFils = Référence de l’objet lancé

  • La VBP.IAP_ModeRet = mode de retour défini sur l’action (S/U ou V)

On peut également initialiser…

  • VBP.IAP_FenSep =Ouverture en fenêtre séparée

  • VBP.IAP_ValActFils = Code action retour

  • VBP.IAP_LisVarUti =Liste des variables utiles (séparées par une virgule), pour le mode U

  • VBP.IAP_ModeRea = Mode de réaffichage à la fermeture de l’objet applicatif lancé

Lancement de l’action

On peut écrire le requête suivante:

1-On commence par récupérer l’accès ( est-ce qu’on lance l’action ou est-ce qu’on revient de l’action ? ), et le référence de l’action dans les SCR.RCT_TypeAcces (=ACT au lancement ou =IAP en mode retour) et SCR.RCT_TypeAction pour savoir ce que fait l’utilisateur !

2-On initialise les VBP IAP_ModeAcc et IAP_ModeDem à la valeur “C” (qui veut dire “Complet”). Cela permet de faire transiter un maximum d’informations vers l’objet fils, de la même manière que la VBP.IAP_ModeRet pilote la transition des informations en retour de l’objet fils sur l’objet père. Vous pouvez également initialiser la VBP.IAP_ModeRet à “C” pour encore améliorer la transition d’informations. Ce n’est pas obligatoire mais fortement conseillé 😉

On lance l’action qui a pour code action “SELPOS”, et qui permet de lancer une PSD dans notre exemple. On vient donc initialiser les VBP IAP_TypeFils et IAP_RefFils afin de piloter dynamiquement l’objet à lancer.

  • VBP.IAP_TypeFils : Type d’objet à lancer. ADG (Arbre documents GED), AGE (Agenda), AME (Application Métier), ARB (Arbre), COU (Couplage), CSY (Commande Système), DOC (Document), ENT (Entité), LPA (Liste Paramétrée), MCO (Message de Confirmation), PER (Diagramme PERT), PSD (Procédure de Saisie Dynamique), TDY (Tableur Dynamique).

  • VBP.IAP_RefFils : référence Objet. Doit exister pour le type donné.

  • VBP.IAP_EvtActFils : action DIALOG en retour de l’objet lancé. CTL (mode RCT = contrôle), vide (pas de DIALOG).

Dans le cas d’une action de type ACT, il est possible de juste faire des MAJ via cette requête sans lancer d’outil, dans ce cas là les VBP IAP_TypeFils et IAP_RefFils restent à vide.

Il est aussi possible de mettre des messages d’erreur afin de bloquer le lancement d’une action en fonction des conditions que vous souhaitez.

Remarque: Comme vous pouvez le constater, ce sont des VBP qui donnent l’objet à lancer. Ce type de variable (VBP = Variables Partagées entre Requêtes) permet de faire transiter des informations d’un objet à un autre, elles vont donc être très importantes dans le cas du lancement d’actions, notamment pour le retour !

Retour de l’action

Comment mettre en place le retour d’action ?

Au retour de l’action on a le contexte suivant :

  • La SCR.RCT_TypeAcces = IAP

  • La SCR.RCT_TypeAction = Code de retour de l’action (défini sur l'action)

  • La SCR.IAP_TypeFils = Type de l’objet fils dont on revient

  • La SCR.IAP_RefFils = Référence de l’objet fils dont on revient

  • La SCR.IAP_ParActFIls = VAL ou ABA suivant comment on a quitté l’objet fils

  • La SCR.IAP_ValActFils = Code de retour de l’action (défini sur l'action)

  • Les VBP qui auront été initialisées dans l’outil fils

On peut écrire le requête suivante:

Ici, on vient remettre à vide les VBP IAP_TypeFils et IAP_RefFils qu’on a utilisées dans une des actions plus haut, pour ne pas relancer l’outil pour lequel on a initialisé ces VPB !

Dans notre action, on demande des informations à l’utilisateur qu’on souhaite récupérer dans notre outil père, comment faire ?

Par exemple, dans notre action, on lance une autre PSD dans laquelle l’utilisateur doit choisir un client, et on souhaite récupérer dans notre PSD père la référence de ce client pour initialiser des champs.

Afin de faire transiter des informations à l’objet père, il faudra obligatoirement initialiser des variables VBP en validation de l’objet fils. Les SCR et VCR ne transiteront pas !

En cas de sélection multiple, la RCT est exécutée une seule fois, et non une fois pour chaque enregistrement sélectionné.

Enchainer sur un autre outil en retour d’action

A noter que lors du retour du lancement d’un outil, il est possible de lancer un nouvel outil ! Cette mécanique peut être répétée autant de fois que nécessaire !


JavaScript errors detected

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

If this problem persists, please contact our support.