1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
|
PROCEDURE ModifModeFenetre(sModeFenetreAppliquée)
// Variables locales
sCleRelation est une chaîne
sNomCleLie est une chaîne
sValCleRelation est une chaîne
// Stocke le mode de la fenêtre
gsModeFenetre=sModeFenetreAppliquée
// Par défaut, si des boutons de liaison existent, ils sont accessibles
SI ChampExiste("GP_LIAISON") ALORS {"GP_LIAISON"}..Etat=Actif
// Par défaut, si des boutons d'applications de modifications existent, ils sont invisibles et grisés
SI ChampExiste("GP_APPLIQUER") ALORS
GP_APPLIQUER..Visible = Faux
GP_APPLIQUER..Etat = Grisé
FIN
// Passage en mode parcours
SI sModeFenetreAppliquée="Parcours" OU sModeFenetreAppliquée~="ParcoursLié" ALORS
// boutons du mode parcours visibles
GP_PARCOURS..Visible=Vrai
// boutons du mode modification invisibles
GP_MODIF..Visible=Faux
// boutons d'application des modifications visibles
SI ChampExiste("GP_APPLIQUER") ALORS GP_APPLIQUER..Visible=Vrai
// En ParcoursLié, l'enregistrement en cours est conservé
SI gsModeFenetre~="ParcoursLié" ALORS
gnNumEnr = HNumEnr(Client)
FIN
// positionnement sur l'enregistrement en cours
SI gnNumEnr<>0 ALORS
HLit(Client,gnNumEnr)
gnNumEnr = 0
// ou positionnement sur le premier enregistrement
SINON
HLitPremier(Client,IDClient)
FIN
// transfert du buffer du fichier vers les champs de la fenêtre
RADAffiche()
// Sinon passage en mode création ou modification
SINON
// Boutons du mode parcours invisibles
GP_PARCOURS..Visible=Faux
// boutons du mode modification visibles
GP_MODIF..Visible=Vrai
// Gestion du passage de paramètres pour les liens de relation
sCleRelation = ExtraitChaîne(gsModeFenetre,2,"=")
sNomCleLie = ExtraitChaîne(gsModeFenetre,2,".")
SI PAS sNomCleLie~="" ET PAS sNomCleLie~=EOT ALORS
// On mémorise la valeur du paramètre de relation
QUAND EXCEPTION DANS
sValCleRelation = {sCleRelation}
FAIRE
sValCleRelation = ""
FIN
FIN
// si passage en mode création
SI Gauche(sModeFenetreAppliquée,8)~="Création" ALORS
SI ChampExiste("GP_APPLIQUER") ALORS GP_APPLIQUER..Visible=Faux // boutons d'application des modifications invisibles
// vide les champs
HRAZ(Client)
RADEfface()
// En Création, si des boutons de liaison existent, ils sont inaccessibles
SI ChampExiste("GP_LIAISON") ALORS GP_LIAISON..Etat=Grisé
SINON
// boutons d'application des modifications visibles
SI ChampExiste("GP_APPLIQUER") ALORS GP_APPLIQUER..Visible=Vrai
// stocke le numéro d'enregistrement en cours
gnNumEnr = HNumEnr(Client)
FIN
// transfert du buffer du fichier vers les champs de la fenêtre
RADAffiche()
// On regarde si c'est un lien pour les FICHE sur fichier de relation
// (paramère de la forme Création=XXX ou Modif=XXX)
SI PAS sNomCleLie~~"" ALORS
sNomChamp est une chaîne = RADRechercheChamp(sNomCleLie)
SI PAS sNomChamp~="" ALORS
{sNomChamp,indChamp}..Etat = Grisé
// Si on est en mode Création, on doit mettre la valeur actuelle du fichier lié
SI Gauche(sModeFenetreAppliquée,8)~="Création" ALORS {sNomChamp,indChamp} = sValCleRelation
// Est-ce qu'un champ vision est associé à ce champ
SI ChampExiste("Vision_"+sNomChamp) ALORS
{"Vision_"+sNomChamp,indChamp}..Etat = Grisé
FIN
FIN
FIN
FIN
SI Gauche(sModeFenetreAppliquée,8)~="Création" ALORS
// Ajout de la date et de la personne
SaisiLe = DateSys()
SaisiPar = gpwRecupInfoUtilisateur(gpwInfoLogin)
SINON SI Gauche(sModeFenetreAppliquée,5)~="Modif" ALORS
ModifiéLe = DateSys()
ModifiéPar = gpwRecupInfoUtilisateur(gpwInfoLogin)
FIN |
Partager