IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

Problème de gestion des erreurs sur blocage enregistrement [WD20]


Sujet :

WinDev

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur indépendant
    Inscrit en
    Mai 2002
    Messages
    231
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur indépendant

    Informations forums :
    Inscription : Mai 2002
    Messages : 231
    Points : 116
    Points
    116
    Par défaut Problème de gestion des erreurs sur blocage enregistrement
    bonjour,

    Je souhaite gérer les erreurs en cas d'accès sur le même enregistrement

    J'ai un premier code dans la fin d'initialisation de ma fenêtre societe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
    HSurErreur(Societe,hErrBlocage,"Blocage_Enreg")
     
    HLitPremier(Societe)   // Point appel de la gestion du blocage 
    IF NOT HTrouve(Societe) THEN HAjoute(Societe)
     
    HBloqueNumEnr(Societe,hNumEnrEnCours,hBlocageLectureEcriture)
     
    FichierVersEcran()
     
    Init_ouverture()
    Ce code fait appel à la procédure Blocage_Enreg
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    PROCEDURE Blocage_Enreg()
     
    Erreur("Un autre utilisateur est sur la fiche société ")
     
    RENVOYER opfintraitement
    En cas de blocage de l'enregistrement par la première application , je passe bien dans la procédure de gestion du blocage

    Par contre ensuite je voudrais fermer ma fenêtre société automatiquement
    Mais celle reste ouverte sans lecture de l'enregistrement et le programme continue sur le code après le hlitpremier sans rien afficher

    Comment fermer automatiquement la fenêtre société si je détecte un blocage d'enregistrement ?

    Philippe

  2. #2
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    2 327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 327
    Points : 3 840
    Points
    3 840
    Par défaut
    Bonjour,

    A mon avis, tu devrais tester le blocage avant le code d'ouverture de la fenêtre société.

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur indépendant
    Inscrit en
    Mai 2002
    Messages
    231
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur indépendant

    Informations forums :
    Inscription : Mai 2002
    Messages : 231
    Points : 116
    Points
    116
    Par défaut
    Merci pour ta réponse Lo²

    J'ai essayé mais j'ai toujours le même problème de plantage
    J'ai conservé ton idée en ajoutant une gestion personnelle du blocage

    Déclarations globales de la fenêtre
    Je teste si je passe dans la procédure blocage_enreg pour gérer la fermeture de la fenêtre au retour.
    En plaçant le code dans la déclaration , je ne vois pas la fenetre vide si j'ai un blocage d'enregistrement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    HSurErreur(Societe,hErrBlocage,"Blocage_Enreg")
    gstListe_blocage.sBlocage_texte="La fiche société est en cours d'utilisation"
     
    HLitPremier(Societe)
    // Si blocage en cours 
    IF gstListe_blocage.bLocage_retour ="1" THEN Ferme(FEn_Societe)
     
    IF NOT HTrouve(Societe) THEN HAjoute(Societe)
    HBloqueNumEnr(Societe,hNumEnrEnCours,hBlocageLectureEcriture)
    FichierVersEcran()
     
    Init_ouverture()
    Fermeture de la fenetre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
     
     
    IF MoiMême..Modifié = True THEN 
    	IF OuiNon("Enregistrez les modifications ?") = Oui THEN 
    		EcranVersFichier()
    		HModifie(Societe)
    		Change_edition()
    	END
    END
     
    QUAND EXCEPTION  DANS 
    	HDébloqueNumEnr(Societe,hNumEnrEnCours)
    FAIRE 
    	Ferme()
    END
    Je suis obligé de mettre en retour opannuler car opfintraitement j'ai un plantage
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    PROCEDURE Blocage_Enreg()
     
    gstListe_blocage.bLocage_retour = Vrai
     
    Avertissement(gstListe_blocage.sBlocage_texte)
     
    RENVOYER opAnnuler
    Avec ce code ça fonctionne

    Merci pour l'idée

    Philippe

  4. #4
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    2 327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 327
    Points : 3 840
    Points
    3 840
    Par défaut
    En fait, je voyais plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    HSurErreur(Societe,hErrBlocage,"Blocage_Enreg")
    HLitPremier(Societe)   // Point appel de la gestion du blocage 
    Ouvre(maFenetreSociete)
    Ce qui permet d'ouvrir le fenêtre société uniquement si l'enregistrement n'est pas bloqué.

  5. #5
    Membre régulier
    Homme Profil pro
    Développeur indépendant
    Inscrit en
    Mai 2002
    Messages
    231
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur indépendant

    Informations forums :
    Inscription : Mai 2002
    Messages : 231
    Points : 116
    Points
    116
    Par défaut
    Oui , je viens d'essayer comme tu l'as indiqué avec le contrôle avant l'appel de l'ouverture de la fenêtre.

    C'est beaucoup mieux en effet

    J'ai modifié la procédure Blocage_Enreg pour indiqué opfintraitement dans la valeur de retour

    Merci à toi

    Philippe

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Gestion des erreurs sur les noms des villes
    Par yosryosr dans le forum Pascal
    Réponses: 3
    Dernier message: 18/04/2008, 11h52
  2. gestions des erreurs sur les Noms des villes
    Par yosryosr dans le forum Langage
    Réponses: 2
    Dernier message: 15/04/2008, 12h07
  3. Gestion des erreurs sur SQLServer 2005
    Par vhellers dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 28/08/2007, 09h20
  4. Gestion des erreurs sur une commande multiple
    Par domiq44 dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 05/10/2006, 15h03
  5. [PHP-JS] gestion des erreurs sur liste déroulente
    Par HwRZxLc4 dans le forum Langage
    Réponses: 9
    Dernier message: 28/05/2006, 03h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo