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 :

(gestion de commande)Fiche vide apres envoi par mail


Sujet :

WinDev

  1. #1
    Membre habitué
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Novembre 2007
    Messages
    297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Novembre 2007
    Messages : 297
    Points : 129
    Points
    129
    Par défaut (gestion de commande)Fiche vide apres envoi par mail
    Bonjour,

    Je bosse sur une petite appli de gestion de commande.

    L'utilisateur peut modifier une commande existante et l'envoyer par mail, l'imprimer ou ne rien faire. Cela fonctionne bien mais il y a un truc étrange qui se produit après l'envoi par mail si l'utilisateur veut éditer la même ou une autre commande dans la foulée. La commande s'ouvre mais la table contenant les lignes de la commande est vide. Pour revenir à un affichage normal je suis obligé de fermer ou ré-ouvrir l'appli.


    Voici le cheminement des actions que l'utilisateur fait :

    Double clic sur la commande
    Ouverture de la commande
    Modification de commande (une quantité par ex..)
    Clic sur le bouton validez (qui ouvre une fenêtre de choix)
    Sélection du choix :
    -1 enregistrer/fermer
    -2 envoi par mail (génère le BC en pdf et l'envoie par mail avec outlook) et fermer
    -3 imprimer (génère le pdf et l'imprime) et fermer

    Les codes :

    ouverture de la commande (sur double clic)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    xgnobc est une chaîne
    xgnobc = TABLE_REQ_COMMANDES.COL_NoBC..ValeurAffichée //récupère le n° de bon de commande
    Ouvre (FEN_BON_DE_COMMANDE_edit,xgnobc)
    Modification de la commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    //Initialisation de Table_REQ_commande_edit
    // Paramètres de la requête 'REQ_commande_edit'
    MaSource.ReqNobc = gnobc
    HExécuteRequête(REQ_commande_edit,hModifieFichier)
    Code bouton validez
    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
    17
    monnocmde est une chaîne
    monnocmde = SAI_NumBC
     
    //HLitRecherche(LigneCde,IDLigneCde,COL_IDLigneCde)
    Commande.TotalHT = SAI_TotalCMDEHT
    HModifie(Commande)
     
    //// Recalcule le total de la commande
    CalculeTotalCommande()
     
     
    TableAffiche (FEN_accueil.TABLE_REQ_COMMANDES,taRéExecuteRequete)
    DonneFocus(FEN_accueil.TABLE_REQ_COMMANDES)
    Ouvre (FEN_validecmde,monnocmde)
     
    // Ferme la fenêtre
    Ferme(FEN_BON_DE_COMMANDE_edit)
    Code des choix (clic bouton continuer)
    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
    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
    SI SEL_choix_envoi = 3 ALORS
    	iInitRequêteEtat(ETAT_bc,SAI_Ref)
    	iAperçu(iapZoom100)
    	iImprimeEtat(ETAT_bc)
    	Ferme(FEN_validecmde)
    FIN
    SI SEL_choix_envoi = 2 ALORS
    	NomFichier est une chaîne = ComplèteRep(fRepDonnées()) + ...
    	"\" + "Bon de Commandes" + "\" + SAI_Ref + ".PDF"
     
    	iInitRequêteEtat(ETAT_bc,SAI_Ref)
    	iDestination(iPDF,NomFichier)
    	iImprimeEtat(ETAT_bc)
    	LanceAppliAssociée(NomFichier)
     
    	//recuperation du mail fournisseur 
    	REQ_mail_fournisseur.Pnbc = SAI_Ref
    	HExécuteRequête(REQ_mail_fournisseur)
    	HLitPremier 
    	sMailfournisseur est une chaîne
    	sMailfournisseur = REQ_mail_fournisseur.Mail1
     
     
     
     
    	//1 : &Envoyer
    	//2 : &Ne pas envoyer
    	SELON Dialogue("Voulez-vous envoyer le Bon de Commande par Mail ?")
    		// &Envoyer
    		CAS 1
    			HLitRecherche(parametres,IDparametres,1)
     
     
    			smtpadresseexpe est une chaîne
    			smtpadresseexpe = parametres.adresse_mail
     
    			sMtpadressedesti est une chaîne
    			sMtpadressedesti = sMailfournisseur
     
     
     
    			smtpsujet est une chaîne
    			smtpsujet = "Bon de commande"
     
    			smtpmessage est une chaîne
    			smtpmessage = "Bonjour" + RC + RC + ...
    			"Veuillez trouver ci-joint le Bon de Commande N°" + " " + SAI_Ref + " " + RC + RC + ...
    			"Cordialement"
     
     
    			// Envoi d'un message avec pièce jointe
     
    			EmailRAZ()
    			Email.Destinataire[1] = sMtpadressedesti
    			Email.NbDestinataire = 1
    			Email.Sujet = smtpsujet
    			Email.Message = smtpmessage
    			Email.Attache[1] = NomFichier
    			Email.NbAttache = 1
    			EmailLanceAppli()
     
    			HLibèreRequête(REQ_mail_fournisseur)
    			EmailRAZ()
     
    			Ferme(FEN_validecmde)
     
    		// &Ne pas envoyer
    		CAS 2
    			Info("La commande est enregistrée")
    			Ferme(FEN_validecmde)
    	FIN
    FIN
     
    SI SEL_choix_envoi = 1 ALORS
    	Info("La commande est enregistrée")
    	Ferme(FEN_validecmde)
    FIN
    J'ai mis des points d'arrêt, les paramètres sont bien alimentés...

    Je ne vois pas trop d'où cela peut venir...

    Si quelqu'un à une idée et peux me filer une piste..

    Merci d'avance

  2. #2
    Membre averti
    Développeur informatique
    Inscrit en
    Avril 2010
    Messages
    256
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2010
    Messages : 256
    Points : 435
    Points
    435
    Par défaut
    Bonjour,

    Dans le code des choix, en ligne 19, vous faites un HLitPremier sans préciser le nom du fichier.
    Est-ce que par hasard, ça ne dépositionnerait pas votre fichier commandes?

    Patrick

  3. #3
    Membre habitué
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Novembre 2007
    Messages
    297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Novembre 2007
    Messages : 297
    Points : 129
    Points
    129
    Par défaut
    Bonjour

    Que je précises ou non le nom du fichier donnes le même résultat

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    Je ne serais pas de grande aide en disant cela mais,j'ai le même problème avec cette fonction EmailLanceAppli()

    Des qu'elle est exécutée, toutes les fonctions HExecuteRequete, HLitPremier, tous ce qui est fait par programmation ne fonctionne plus.
    Par contre toutes les relations entre les tables et les fichiers HFSQL fonctionne.

    J'ai tenté des Hferme("*") aprés un EmailLanceAppli(), rien y fait.

  5. #5
    Membre éprouvé
    Inscrit en
    Avril 2008
    Messages
    1 129
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 1 129
    Points : 1 283
    Points
    1 283
    Par défaut
    Salut

    Un Hexecuterequete te donne des résultats, mais en aucun cas place le pointeur sur le fichier en question.

    Bref, pour le HModifie(Commande) je ne vois à aucun moment dans le code un "positionnement" sur l'enregistrement en question avant de le modifier.

    Bon Courage

Discussions similaires

  1. Macro fermer sans enregistrer après envoi par mail
    Par pheonix00fr dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 22/10/2014, 11h39
  2. [XL-2010] Liste déroulante vide après envoi fichier
    Par besnielk dans le forum Excel
    Réponses: 2
    Dernier message: 12/06/2012, 20h36
  3. Envoi par mail de fiches individuelles
    Par LOUISXIV dans le forum VBA Access
    Réponses: 2
    Dernier message: 06/02/2012, 16h43
  4. Envoi par mail du résultat de la commande df -h
    Par moulery dans le forum Shell et commandes GNU
    Réponses: 10
    Dernier message: 14/06/2011, 17h58
  5. [OL-2010] Fichier en lecture seule apres envoi par mail
    Par Maxdu59 dans le forum Outlook
    Réponses: 3
    Dernier message: 25/02/2011, 17h36

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