Skip to main content
Skip table of contents

GED Annexes


Exemple de paramétrage d’une arborescence

BUT : Surcharger la consultation des documents depuis un client.

Au lieu d’afficher les documents rattachés directement à ce client, nous allons afficher également les documents correspondants à ces commandes et leurs lignes.

Définition de l’ADG ADGCLI

Définition de l’arbre défaut ADGCLI_ARB

Définition entête

Structure hiérarchie

On définit par défaut une arborescence simple avec deux fils de la branche initiale ADCCLI_ARB (0000000001) :

  • Documents Client (0000000002) Caractéristique Champ Alpha 1 = GCLIENT (voir la suite)

  • Documents Commandes (0000000003)

Nous allons à partir de cette base alimenter la structure de l’arbre dynamiquement dans la requête d’initialisation afin d’ajouter autant de branches que de commandes du client ainsi que les lignes de ces mêmes commandes.

Requête REB d’initialisation de l’arbre ADGCLI_INI

On part du principe que cet objet paramétrable va être lancé depuis la GFD des clients.

J’ai donc à ma disposition les variables SCR.EntTen et EntCl* pour connaitre le client sur lequel je me trouve.

Requête

POUR CHAQUE/SOC DTD CDCoEn AVEC INDEX (ParCliCDCoEnIdx) DTD CDCoEn.CliResRef = SCR.EntCl1 ET DTD CDCoEn.CliGenRef = SCR.EntCl2 :

SI DTD CDCoEn.GenEnrDateCre >= VLO.DateDLim

CREATION Liste WfArbSor :

PRENDRE WfArbSor NodIdePer = CLO."0000000003"

PRENDRE WfArbSor NodRefPere = CLO."0000000003"

PRENDRE WfArbSor NodIdeEnc = DTD CDCoEn.CdeNumCom

PRENDRE WfArbSor NodRef = DTD CDCoEn.CdeNumCom

PRENDRE WfArbSor NodLib = DTD CDCoEn.CdeNumCom

PRENDRE WfArbSor NodIco = CLO."FAT-ENDED"

PRENDRE WfArbSor NodIcoFer = CLO."FERMER"

PRENDRE WfArbSor NodVa1 = CLO."DOS_GCDE"

PRENDRE WfArbSor NodCl1 = DTD CDCoEn.CdeNumCom

FIN_BLOC

CREATION Liste WfArbSor :

PRENDRE WfArbSor NodIdePer = DTD CDCoEn.CdeNumCom

PRENDRE WfArbSor NodRefPere = DTD CDCoEn.CdeNumCom

PRENDRE WfArbSor NodIdeEnc = DTD CDCoEn.CdeNumCom + CLO."_DOC"

PRENDRE WfArbSor NodRef = DTD CDCoEn.CdeNumCom + CLO."_DOC"

PRENDRE WfArbSor NodLib = CLO."Documents de" + " " + DTD CDCoEn.CdeNumCom

PRENDRE WfArbSor NodIco = CLO."FAT-ENDED"

PRENDRE WfArbSor NodIcoFer = CLO."FERMER"

PRENDRE WfArbSor NodVa1 = CLO."GCDE"

PRENDRE WfArbSor NodTab = CLO."GCDE"

PRENDRE WfArbSor NodCl1 = DTD CDCoEn.CdeNumCom

FIN_BLOC

POUR CHAQUE/SOC DTD CDCoLi AVEC INDEX (CDCoLiIdx) DTD CDCoLi.CdeNumCom = DTD CDCoEn.CdeNumCom :

CREATION Liste WfArbSor :

PRENDRE WfArbSor NodIdePer = DTD CDCoEn.CdeNumCom

PRENDRE WfArbSor NodRefPere = DTD CDCoEn.CdeNumCom

PRENDRE WfArbSor NodIdeEnc = DTD CDCoLi.CdeNumLig

PRENDRE WfArbSor NodRef = DTD CDCoLi.CdeNumLig

PRENDRE WfArbSor NodLib = DTD CDCoLi.CdeNumLig

PRENDRE WfArbSor NodIco = CLO."FAT-ENDED"

PRENDRE WfArbSor NodIcoFer = CLO."FERMER"

PRENDRE WfArbSor NodVa1 = CLO."GCDL"

PRENDRE WfArbSor NodTab = CLO."GCDL"

PRENDRE WfArbSor NodCl1 = DTD CDCoLi.CdeNumCom

PRENDRE WfArbSor NodCl2 = DTD CDCoLi.CdeNumLig

FIN_BLOC

FIN_BLOC

FIN_BLOC

FIN_BLOC

On initialise une branche par commande du client donné.

Dans chaque branche de la commande, on a une feuille permettant d’afficher les documents généraux de la commande ainsi qu’une nouvelle branche par lignes de commande.

Requête détail des documents ADGCLI_MAJ

RECH PREM LST WfArbEnt AVEC WfArbEnt.NodIdePer = SCR.ARB_NodIdePer ET WfArbEnt.NodIdeEnc = SCR.ARB_NodIdeEnc:

POUR CHAQUE/SOC DTD ADGEDEnt AVEC DTD ADGEDEnt.ADGEDTen = WfArbEnt.NodTab ET DTD ADGEDEnt.ADGEDCl1 = WfArbEnt.NodCl1 ET DTD ADGEDEnt.ADGEDCl2 = WfArbEnt.NodCl2 ET DTD ADGEDEnt.ADGEDCl3 = WfArbEnt.NodCl3 :

POUR CHAQUE/SOC DTD ADGEDDoc AVEC DTD ADGEDDoc.ADGEDCat = DTD ADGEDEnt.ADGEDCat ET DTD ADGEDDoc.ADGEDCleV = DTD ADGEDEnt.ADGEDCleV:

CREATION Liste WfEntSel:

PRENDRE WfEntSel DiaIde = IDENTIFIANT (DTD ADGEDDoc)

FIN_BLOC

FIN_BLOC

FIN_BLOC

FIN_BLOC

Dans cette requête, on alimente quand on est sur une feuille la liste WfEntSel qui permet d’afficher la liste standard de présentation des documents.

Résultat

Si le focus est sur « Documents Client », une branche de type, « Documents de CDC… » ou sur une Ligne de commande (001, 002, 003 dans notre exemple), on a un affichage du type :

Exemples d’utilisation des fonctions dialog

Envoi document GED à la validation d’une PSD

Requête PSD de validation :

VLO.NbMot = NB-MOT( SEPARATEUR= CLO.";" , CHAINE= VSD.MailDest )

SI VLO.NbMot >= CLO.1

VLO.Dest = CLO."D=" + MOT ( SEPARATEUR= CLO.";" , CHAINE= VSD.MailDest , NUMERO= CLO.1 )

SI VLO.NbMot > CLO.1

BOUCLE VLO.ind DE CLO.2 A VLO.NbMot :

VLO.Dest = VLO.Dest + CLO."; D=" + MOT ( CHAINE= VSD.MailDest , NUMERO= VLO.ind )

FIN_BLOC

FIN_BLOC

VLO.Corps = VSD.AgeEvtDes

VLO.Obj = VSD.AgeEvtSuj

VLO.typmes = CLO."J_v2k8dev"

VLO.NbMot = NB-MOT ( SEPARATEUR= CLO.",», CHAINE= VBP.Liste)

BOUCLE VLO.ind DE CLO.1 A VLO.NbMot :

VLO.ID = MOT ( SEPARATEUR= CLO."," , CHAINE= VBP.Liste , NUMERO= VLO.ind )

RECH TBD DTD ADGEDEnt AVEC IDENTIFIANT= VLO.ID :

RECH TBD/SOC DTD ADGEDDoc AVEC INDEX (I1) DTD ADGEDDoc.ADGEDCat = DTD ADGEDEnt.ADGEDCat

ET DTD ADGEDDoc.ADGEDCleV = DTD ADGEDEnt.ADGEDCleV :

SI VLO.PJ = CGL.VIDE

VLO.PJ = CLO."FIC-GED-INTERNE=|"

FIN_BLOC

SINON

VLO.PJ = VLO.PJ + CLO.";" + CLO."FIC-GED-INTERNE=|"

FIN_BLOC

VLO.PJ = VLO.PJ + DTD ADGEDDoc.ADGEDIde

FIN_BLOC

FIN_BLOC

FIN_BLOC

VLO.Corps = VLO.Corps + CLO."\n" + VLO.PJ

VLO.res = ENVOI-EMAIL (DESTINATAIRES= VLO.Dest, OBJET= VLO.Obj, MESSAGE= VLO.Corps,

PIECES-JOINTES= VLO.PJ, TYPE-MESSAGE= VLO.typmes)

FIN-BLOC

Import d’un document GED la validation d’une PSD

SI SCR.SDyProEvt = CLO."PRO-VAL"

SI VSD.Fichier EXISTE ET <> ""

CREATION Liste WfGEDEnt:

PRENDRE WfGEDEnt GEDCle = CLO."PRO-VAL"

PRENDRE WfGEDEnt GEDAct = CLO."REF"

PRENDRE WfGEDEnt GEDCat = CLO."PPT"

PRENDRE WfGEDEnt GEDFicOri = VSD.Fichier

PRENDRE WfGEDEnt GEDCleFct = CLO."PPT-REU"

PRENDRE WfGEDEnt GEDDes = CLO."Document de formation"

FIN_BLOC

CREATION Liste WfGEDLien :

PRENDRE WfGEDLien GEDCle = CLO."PRO-VAL"

PRENDRE WfGEDLien GEDEnt = CLO."REU"

PRENDRE WfGEDLien GEDCle1 = SCR.EVT_REf

FIN_BLOC

VLO.Res = ENR-ACT-GED ( )

FIN_BLOC

FIN_BLOC

Modification d’un document GED à partir d’un bouton d’une PSD

Requête RCT de lancement action Modification

VLO.RepVisu = CLO."\\\\gavarnie\\tmp\\"

COMMENTAIRE : ‘Récupération de l’identifiant du document à modifier’

VLO.Res = INT-CTX( ACTION= REC-VALEUR , TYPE-VARIABLE= VSD , NOM-VARIABLE= Action ,

E-S:VALEUR= VLO.IdDocGed)

RECH TBD DTD ADGEDEnt AVEC IDENTIFIANT= VLO.IdDocGed :

RECH PREM TBD/SOC DTD ADGEDDoc AVEC INDEX (I4) DTD ADGEDDoc.ADGEDVerPri VRAI

ET DTD ADGEDDoc.ADGEDCat = DTD ADGEDEnt.ADGEDCat

ET DTD ADGEDDoc.ADGEDCleV = DTD ADGEDEnt.ADGEDCleV :

VLO.ID = DTD ADGEDDoc.ADGEDIde

VLO.ficCible = DTD ADGEDDoc.ADGEDFicOri

VLO.NbMot = NB-MOT( SEPARATEUR= CLO."/" , CHAINE= VLO.ficCible )

VLO.nomFichier = MOT( SEPARATEUR= CLO."/», CHAINE= VLO.ficCible, NUMERO= VLO.NbMot)

COMMENTAIRE : ‘Extraction du document dans un fichier cible’

VLO.Res = GED-EXT-DOC (IDENTIFIANT= VLO.ID, DESTINATAIRE= VLO.ficCible)

SI VLO.Res = CGL.VIDE

COMMENTAIRE : ‘Lancement commande système d’ouverture du fichier’

INIT VBP.IAP_TypeFils = CLO."CSY"

INIT VBP.IAP_RefFils = CLO."Ouvrir"

INIT VBP.Parametre = VLO.RepVisu + VLO.nomFichier

FIN_BLOC

SINON

INIT VBP.Parametre = CGL.VIDE

FIN_BLOC

FIN_BLOC

FIN_BLOC

Commande système OUVRIR

Définition de la commande système ‘ouvrir’

Requête REB de la commande système ‘ouvrir’

SI VBP.Parametre EXISTE ET <> ""

INIT SCR.CdeSysCmd = SCR.CdeSysCmd + " " + VBP.Parametre

FIN_BLOC

SINON

INIT SCR.CdeSysCmd = CGL.VIDE

INIT VBP.IAP_ValActFils = CLO."KO"

INIT VBP.RCT_TypeAction = CGL.VIDE

FIN_BLOC

Requête PSD de validation de la PSD

A la validation de la PSD, suppression des liens de l’entité avec l’ancien document et référencement/rattachement du document modifié.

SI SCR.SDyProEvt = CLO."PRO-VAL"

COMMENTAIRE : ‘Récupération des caractéristiques du document origine’

RECH TBD DTD ADGEDEnt AVEC IDENTIFIANT= VBP.Liste :

CREATION Liste WfGEDEnt :

PRENDRE WfGEDEnt GEDAct = CLO."CAR"

PRENDRE WfGEDEnt GEDCle = CLO."CAR"

PRENDRE WfGEDEnt GEDCat = DTD ADGEDEnt.ADGEDCat

PRENDRE WfGEDEnt GEDCleV = DTD ADGEDEnt.ADGEDCleV

FIN_BLOC

VLO.essai = ENR-ACT-GED ( )

RECH PREM LST WfGEDEnt :

VLO.NomFicOri = WfGEDEnt.GEDFicOri

FIN_BLOC

EFFACER Liste WfGEDEnt

EFFACER Liste WfGEDLien

COMMENTAIRE : ‘Suppression des liens avec le document origine’

CREATION Liste WfGEDEnt :

PRENDRE WfGEDEnt GEDAct = CLO."SUP-LIEN"

PRENDRE WfGEDEnt GEDCle = CLO."SUP-LIEN"

PRENDRE WfGEDEnt GEDCat = DTD ADGEDEnt.ADGEDCat

PRENDRE WfGEDEnt GEDCleV = DTD ADGEDEnt.ADGEDCleV

FIN_BLOC

CREATION Liste WfGEDLien :

PRENDRE WfGEDLien GEDCle = CLO."SUP-LIEN"

PRENDRE WfGEDLien GEDEnt = DTD ADGEDEnt.ADGEDTen

PRENDRE WfGEDLien GEDCle1 = DTD ADGEDEnt.ADGEDCl1

FIN_BLOC

COMMENTAIRE : ‘Référencement/Rattachement du document modifié’

CREATION Liste WfGEDEnt :

PRENDRE WfGEDEnt GEDAct = CLO."REF"

PRENDRE WfGEDEnt GEDCle = CLO."REF"

PRENDRE WfGEDEnt GEDCat = DTD ADGEDEnt.ADGEDCat

PRENDRE WfGEDEnt GEDFicOri = VLO.NomFicOri

FIN_BLOC

CREATION Liste WfGEDLien :

PRENDRE WfGEDLien GEDCle = CLO."REF"

PRENDRE WfGEDLien GEDEnt = DTD ADGEDEnt.ADGEDTen

PRENDRE WfGEDLien GEDCle1 = DTD ADGEDEnt.ADGEDCl1

FIN_BLOC

VLO.essai = ENR-ACT-GED ( )

FIN_BLOC

FIN_BLOC

Récupération chemin complet à un document GED

Recherche du chemin d’un document pour y accéder depuis un client.



JavaScript errors detected

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

If this problem persists, please contact our support.