Skip to main content
Skip table of contents

Lancer un autre objet depuis le tableur (tableur dynamique, PSD, couplage..)


Lancement d’un autre Tableur Dynamique ou d’une PSD, etc.

Il est possible lors d’actions spécifiques définies sur un Tableur Dynamique de lancer un autre Tableur Dynamique, une PSD, … (voir tableau ci-dessous). Le lancement s’effectue dans la requête RCT de contrôle local par l’initialisation des variables VBP suivantes :

Variable

Valeurs possibles

Commentaire

IAP_TypeFils

TDY ou PSD ou ENT ou MCO ou AME ou LPA ou COU ou PER ou ARB ou CSY ou DOC ou AGE ou ADG

TDY : tableur dynamique

PSD : procédure de saisie dynamique

ENT : entité GFD (fiche GFD)

MCO : message de confirmation

AME : action métier

LPA : liste paramétrée

COU : couplage

PER : diagramme PERT

ARB : arbre paramétré

CSY : commande système

DOC : document

AGE : agenda

ADG : arbre de définition GED

IAP_RefFils

Référence existante de Tableur Dynamique ou de PSD, … à afficher

La valeur « *REA » permet de lancer un réaffichage du contenu du tableur.

La catégorie de PSD concernée est « IAP ».

L’entité GFD ne doit pas être de type « lignes ».

IAP_ModeAcc

S, V ou C

Mode d’accès

S = simple (seulement variables IAP*)

V = variables (idem S, avec variables VBP, SCR et VCR)

C = complet (idem V, avec WfTabValPere)

IAP_ModeRet

S, V ou C

Mode de retour

S = simple (seulement variables IAP*)

V = variables (idem S, avec variables VBP, SCR et VCR)

C = complet (idem V, avec WfTabValFils ou variables VSD)

IAP_SaiCri

VRAI ou FAUX

Ne concerne que les TDY. Si VRAI, la saisie des critères sera effectuée.

Lorsqu’on souhaite lancer un TDY via le moteur RCT et que ce TDY a au lancement une PSD critère, pour que celle-ci se lance il faut initialiser la VBP.IAP_SaiCri à OUI.

IAP_ValActFils

Libre

Valeur retournée dans la RCT au retour du tableur ou de la PSD lancé. Par défaut, est égal à « RETOUR- » + la référence de l’objet lancé.

IAP_EntCl1

Clé 1 de l’entité à traiter

Champ correspondant : voir l’application « Intégrité Générale Entités ».

IAP_EntCl2

Clé 2 de l’entité à traiter

Champ correspondant : voir l’application « Intégrité Générale Entités ».

IAP_EntCl3

Clé 3 de l’entité à traiter

Champ correspondant : voir l’application « Intégrité Générale Entités ».

IAP_EntAct

Action sur entité

Voir liste (1) ci-dessous.

IAP_EntPre

Présentation à utiliser

(1) liste des codes supportés dans la variable VBP.IAP_EntAct :

Code

Action

Commentaire

CRE

Création

Ne nécessite pas l’initialisation de VBP.IAP_EntCl*

MOD

Modification

DUP

Duplication

AMG=xxx

Modification Globale

Déclenche l’action de modification globale xxx.

DET

Détail

DET_ENT

Gestion Lignes

DET_ENT_VIS

Consultation Lignes

L’élément lancé adopte le même comportement que pour un lancement normal. Il est toutefois possible de paramétrer celui-ci en tenant compte des variables SCR suivantes :

IAP_TypePere (TDY)

IAP_TypeFils (TDY ou PSD)

IAP_ModeAcc (S, V ou C)

IAP_ModeRet (S, V ou C)

IAP_RefPere (référence TDY appelant)

IAP_RefFils (référence TDY ou PSD ou GFD appelé)

IAP_ColPere (indice dans WfTabVal avant appel)

IAP_ColFils (indice dans WfTabVal avant validation si TDY)

IAP_LigPere (dernier numéro de ligne avant appel)

IAP_LigFils (dernier numéro de ligne avant validation)

IAP_VarPere (dernière référence colonne avant appel)

IAP_VarFils (dernière référence colonne ou variable VSD avant appel)

IAP_ValPere (dernière valeur avant appel)

IAP_ValFils (dernière valeur avant validation)

IAP_ValActFils (action choisie pour le retour)

IAP_ParActFils (ABA-CRI, ABA ou VAL)

IAP_SaiCri (saisie des critères ?)

Lancement d’une PSD à partir d’une action d’un Tableur Dynamique

Dans la RCT, voici comment gérer l’appel à la PSD. A noter que cette PSD est dans la catégorie : IAP : « Lancement d’Application ».

SI SCR.RCT_TypeAcces = CLO."ACT" /*l’utilisateur a utilisé l’action spécifique du tableur */

SI SCR.RCT_TypeAction = CLO."RefAction" /* référence action indiquée dans la REB */

INIT VBP.IAP_ModeAcc = CLO."V" /* voir les différents niveaux de partage désiré */

INIT VBP.IAP_ModeRet = CLO."V" /* voir les différents niveaux de partage désiré */

INIT VBP.IAP_TypeFils = CLO."PSD" /* indique qu’il s’agit d’une PSD */

INIT VBP.IAP_RefFils = CLO."RefPSD" /* référence de la PSD */

INIT VBP.IAP_ValActFils = CLO."VAL-RefPSD" /* action à recevoir au retour de la PSD */

INIT VBP.Liste = CLO.’’.

FIN_BLOC

FIN_BLOC

SI SCR.RCT_TypeAcces = CLO."IAP" /* lorsque l’on revient sur le tableur principal, la RCT est exécutée , la variable critère RCT_TypeAcces a pour valeur IAP */

SI SCR.RCT_TypeAction = CLO."VAL-RefPSD" /* on revient de la PSD RefPSD */

SI SCR.IAP_ParActFils = CLO."VAL"

/* On veut boucler dans la PSD lors de la validation. */

INIT VBP.IAP_ModeAcc = CLO."V" /* voir les différents niveaux de partage possibles */

INIT VBP.IAP_ModeRet = CLO."V" /* voir les différents niveaux de partage possibles */

INIT VBP.IAP_TypeFils = CLO."PSD" /* indique qu’il s’agit d’une PSD */

INIT VBP.IAP_RefFils = CLO."RefPSD" /* référence de la PSD */

INIT VBP.Liste = VBP.Liste + CLO."," + VCR.Composant /* on concatène cf. NOTE ci-dessous */

FIN_BLOC

SINON

SI SCR.IAP_ParActFils = CLO."ABA"

/* on met à jour la cellule */

VLO.Liste = VBP.VarListe

VLO.Exec = TAB-ACTION( TAB-ACT= MAJ-VAL , LIGNE= LIG-COU ,

COLONNE= COL-COU , TYPE= CARACTERE , VALEUR= VLO.Liste )

FIN_BLOC

FIN_BLOC

FIN_BLOC

FIN_BLOC

NOTE : Pour récupérer la valeur saisie dans la PSD, il faut sur la définition de la procédure, définir la correspondance entre la variable saisie et une variable critère (SCR ou VCR) ; dans notre cas la VCR.Composant est utilisée ; ne pas oublier lors de la saisie de la correspondance de préciser que l’on veut récupérer la valeur en sortie.

Pour concaténer, il faut obligatoirement passer par une VBP ou une VCR/SCR.

Lancement d’une action sur entité à partir d’une action d’un Tableur Dynamique

Rappel : les champs correspondant aux valeurs des IAP_EntCl* sont visibles dans l’application « Intégrité Générale Entités ».

SI SCR.RCT_TypeAcces = CLO."ACT" /*l’utilisateur a utilisé l’action spécifique du tableur */

SI SCR.RCT_TypeAction = CLO."RefAction" /* référence action indiquée dans la REB */

INIT VBP.IAP_ModeAcc = CLO."V" /* voir les différents niveaux de partage désiré */

INIT VBP.IAP_ModeRet = CLO."V" /* voir les différents niveaux de partage désiré */

INIT VBP.IAP_TypeFils = CLO."ENT" /* indique qu’il s’agit d’une GFD */

INIT VBP.IAP_RefFils = CLO."GAD" /* référence entité : ici les articles */

INIT VBP.IAP_EntCl1 = CLO."R" /* clé 1 : pour les articles c’est le type */

INIT VBP.IAP_EntCl2 = CLO."RefArt" /* clé 2 : pour les articles c’est la référence */

INIT VBP.IAP_EntAct = CLO."MOD" /* modification */

INIT VBP.IAP_EntPre = CLO."ISIA" /* présentation à utiliser */

INIT VBP.IAP_ValActFils = CLO."VAL-GFD" /* action à recevoir au retour de la PSD */

FIN_BLOC

FIN_BLOC

SI SCR.RCT_TypeAcces = CLO."IAP" /* lorsque l’on revient sur le tableur principal, la RCT est exécutée , la variable critère RCT_TypeAcces a pour valeur IAP */

SI SCR.RCT_TypeAction = CLO."VAL-GFD" /* on revient de la GFD */

SI SCR.IAP_ParActFils = CLO."VAL"

/* on met à jour la cellule */

VLO.Liste = VBP.VarListe

VLO.Exec = TAB-ACTION( TAB-ACT= MAJ-VAL , LIGNE= LIG-COU ,

COLONNE= COL-COU , TYPE= CARACTERE , VALEUR= VLO.Liste )

FIN_BLOC

SINON

SI SCR.IAP_ParActFils = CLO."ABA"

LC-WARNING = CLO."Vous avez abandonné la mise à jour"

FIN_BLOC

FIN_BLOC

FIN_BLOC

FIN_BLOC

Lancement d’édition, de mise à jour à partir d’une action d’un Tableur Dynamique

Dans la RCT, voici comment gérer une action spécifique.

SI SCR.RCT_TypeAcces = CLO."ACT" /* l’utilisateur à utilisé l’action spécifique du tableur */

SI SCR.RCT_TypeAction = CLO."RefAction" /* référence action indiquée dans la REB */

/* dans ce cas on veut lancer le document ‘NomDocument’ */

VLO.ExecFonction = EXE-DOC( DOCUMENT= REB."NomDocument" , MODE= B ,

IMPRIMANTE= CLO."Fichier" , FICHIER= CLO."NomFichier" , DOC-CAR= CLO."" ,

DOC-MAJ= CLO."" , DOC-CLE= CLO."" )

/* on peut aussi utiliser la fonction TAB-ACTION décrite dans cette documentation. */

FIN_BLOC

FIN_BLOC

Un document peut aussi être lancé en alimentant la VBP.IAP_TypeFils avec “DOC” et la VBP.IAP_RefFils avec la référence du document. C’est intéressant car ça permet une impression écran chose qui n’est pas possible avec un EXE-DOC.

Lancement d’un Tableur Dynamique à partir d’une action d’un Tableur Dynamique

Dans la RCT, voici comment gérer l’appel au nouveau Tableur Dynamique.

SI SCR.RCT_TypeAcces = CLO."ACT" /* l’utilisateur a utilisé l’action spécifique du tableur */

SI SCR.RCT_TypeAction = CLO."RefAction" /* référence action indiquée dans la REB */

INIT VBP.IAP_ModeAcc = CLO."V" /* voir les différents niveaux de partage désiré */

INIT VBP.IAP_ModeRet = CLO."C" /* voir les différents niveaux de partage désiré */

INIT VBP.IAP_TypeFils = CLO."TDY" /* indique qu’il s’agit d’un tableur dynamique */

INIT VBP.IAP_RefFils = CLO."Ref.TableurDyn." /* référence du tableur dynamique */

FIN_BLOC

FIN_BLOC

SI SCR.RCT_TypeAcces = CLO."IAP" /* lorsque l’on revient sur le tableur principal, la RCT est exécutée , la variable critère RCT_TypeAcces a pour valeur IAP */

SI SCR.RCT_TypeAction = CLO."RETOUR-Ref.TableurDyn" /* on revient de ce tableur */

/* ci-dessous, on récupère le montant saisi (contenu dans la 4eme colonne) du tableur fils afin de

mettre à jour la colonne MontantTot de la ligne en cours du tableur père. */

VLO. MontantTot = CLO.0

POUR CHAQUE LST WFTabValFils :

VLO.MontantTot = VLO.MontantTot + DECIMAL( VALEUR= WFTabValFils.ContLig [4] )

FIN_BLOC

VLO.Exec = TAB-ACTION( TAB-ACT= MAJ-VAL , LIGNE= LIG-COU ,

COLONNE=CLO."MontantTot" , TYPE= NUMERIQUE , VALEUR= VLO.MontantTot )

FIN_BLOC

FIN_BLOC

NOTE : Dans le tableur père, la liste WfTabValFils contient les saisies effectuées sur le tableur fils ; dans le tableur fils, la liste WfTabValPere contient les données du père. Pour pouvoir avoir cette visibilité, les variables VBP.IAP_ModeRetour et VBP.IAP_ModeAcc respectivement doivent avoir la valeur « C » qui signifie « complet ».


JavaScript errors detected

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

If this problem persists, please contact our support.