Re: btn appliquer
Posté par Elodou le 17/4/2008 10:58:06
Code
Déclarations globales de Benoit_Prian_taches_en_cours
// Ouverture de la fenêtre de type Fiche
// Entrée: ModeOuverture=mode d'ouverture de la fenêtre :
// - "Parcours" Visualisation de tous les enregistrements
// grâce aux boutons de parcours
// - "Modif" Modification de l'enregistrement en cours
// - "Création" Création d'un nouvel enregistrement
// - "ParcoursLié" Parcours du fichier en liaison avec la fenêtre mère
// (avec suppression et création)
PROCEDURE FicheRAD(ModeOuverture="Parcours")
GLOBAL
gnNumEnr est un entier = 0 // enregistrement en cours dans le fichier
gsModeFenetre est une chaîne // mode de la fenêtre
gbFenetreModifiee est un booléen = Faux // Est-ce qu'un enregistrement a été modifié ?
gsModeAppel est une chaîne = ModeOuverture // Mode d'appel de la fenêtre
// Gestion des erreurs d'accès à la base de données
// Les messages d'erreurs renvoyés par la base sont affichés
// Vous pouvez traiter ici les compte-rendu d'erreurs de votre base
QUAND EXCEPTION
Erreur("Une erreur est survenue dans la fenêtre",ExceptionInfo(errMessage))
// On réactive les exceptions
ExceptionActive()
// On reprend le traitement
RepriseSaisie()
FIN
Initialisation de Benoit_Prian_taches_en_cours
// si la fiche est ouverte en mode parcours
// mais que le fichier n'a aucun enregistrement
// passe automatiquement en mode création
SI (ModeOuverture="Parcours" OU ModeOuverture~="ParcoursLié") ET HNbEnr(EN_COURS)=0 ALORS
// ouvre une boite de dialogue pour informer l'utilisateur
Info("Le fichier ne contient aucun enregistrement.","La fiche va passer en mode 'Création'.")
// changement de mode d'ouverture
ModeOuverture="Création"
FIN
// activation des champs selon le mode de la fenêtre
ModifModeFenetre(ModeOuverture)
Fermeture de Benoit_Prian_taches_en_cours
// vérification des modifications de la fiche
VerifModification()
Ferme("",gbFenetreModifiee)
A chaque modification de Benoit_Prian_taches_en_cours
// Si un champ a été modifié, on active le groupe de validation des modifications
SI ChampExiste("GP_APPLIQUER") ALORS GP_APPLIQUER..Etat = Actif
Ici il me met Warning : La déclaration de la variable globale 'gbFenetreModifiee' masque la procédure 'gbFenetreModifiee' de la fenêtre 'Benoit PRIAN T_en_Cours'.
Benoit PRIAN T_en_Cours, Déclarations globales, ligne 15, colonne 2
Cliq sur BTN_OK
// Selon le mode de la fenêtre
SELON Gauche(ExtraitChaîne(gsModeFenetre,1,"="),8)
// Mode création
CAS "Création"
// Mise en place de l'enregistrement et validation
SI RADEnregistre() ALORS
// Ajout de l'enregistrement
HAjoute(EN_COURS)
SI ErreurDétectée ALORS
Info("Impossible d'ajouter un enregistrement"+RC+HErreurInfo())
RETOUR
FIN
// Indique que la fiche n'est plus modifiée
gbFenetreModifiee = gbFenetreModifiee OU MaFenêtre..Modifié
MaFenêtre..Modifié=Faux
FIN
// Mode modification
CAS "Modif"
// Mise en place de l'enregistrement et validation
SI RADEnregistre() ALORS
// modification de l'enregistrement
HModifie(EN_COURS)
SI ErreurDétectée ALORS
Info("Impossible de modifier l'enregistrement"+RC+HErreurInfo())
RETOUR
FIN
// Indique que la fiche n'est plus modifiée
gbFenetreModifiee = gbFenetreModifiee OU MaFenêtre..Modifié
MaFenêtre..Modifié=Faux
FIN
FIN
// si la fenêtre a été ouverte en mode parcours
SI ModeOuverture="Parcours" OU ModeOuverture~="ParcoursLié" OU gsModeAppel~="Parcours" ALORS
// le nouvel enregistrement devient l'enregistrement en cours
gnNumEnr = HNumEnr(EN_COURS)
// Est-ce que le mode d'ouverture de la fenêtre a été changé ?
SI gsModeAppel ~= "Parcours" ALORS
// On se positionne sur l'enregistrement pour réinitialiser le parcours
SI gnNumEnr<>0 ALORS
HLitPremier(EN_COURS)
SINON
HLitPremier(EN_COURS,Numéro_PDCA)
FIN
// On rétablit le mdoe d'ouverture prévu
ModeOuverture = gsModeAppel
FIN
// retour dans le mode d'origine
ModifModeFenetre(ModeOuverture)
// dans les autres cas
SINON
// fermeture de la fenêtre
Ferme("",gbFenetreModifiee)
FIN
Il me met 2 erreurs
RADEnregistre() : Expression non booléenne
Cette contribution était de : http://old.wdforge.org/newbb/viewtopic.php?forum=18&topic_id=5831&post_id=23653