PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2024 → Etat Apercu, Email PDF, rajouter une adresse
Etat Apercu, Email PDF, rajouter une adresse
Iniciado por guest, 19,oct. 2005 11:28 - 5 respuestas
Publicado el 19,octubre 2005 - 11:28
Dans l'apercu d'un état on peut automatiquement générer un e mail et
mettre l'etat en PDF en pièce jointe.
J'aimerai savoir s'il était possible de mettre une adresse en
destinataire du mail ainsi que du texte dans le corp du mail ?
Est il possible aussi de donner un nom au PDF mit en pièce jointe ?


Merci
Publicado el 21,octubre 2005 - 10:29
Effectivement, bien souvent lorsque qu'on imprime un document la base de données contient l'adresse email de la personne. Après avoir parcouru l'aide de iAperçu et iParametre je n'ai pas trouver comment indiquer à l'outils d'aperçu d'impression comment spécifier l'adresse email du destinaire pour les deux boutons "Email" et "Email+PDF"

Est-il possible de la faire ?

Ce doit être possible car cette génération cré correctement le fichier joint à l'email, donc pourquoi ne pas pouvoir remplir le champs destinataire ?
Publicado el 25,octubre 2005 - 17:57
Question posée au support via RequêteAust :

Lancement d'impression par iAperçu sans spécifier de paramètre particulier. Donc avec toute la panopli de bouton de l'outils aperçu d'impression.
Envoi de l'impression par le bouton 'Email+PDF'
-> Le mail créé contient correctement le fichier joint
-> Le mail créé n'a pas de destinataire ni d'objet
Est-il possible de spécifier le destinataire et en bonus de spécifier l'objet de l'email ainsi créé ?
Utilisation de ces fonctionnalité avec en client de messagerie soit Outlook Express soit Outlook

Réponse su support via RequêteAust :

Bonjour,

Les boutons Email de l'aperçu appellent la messagerie par défaut. L'utilisateur doit ensuite intervenir par finaliser l'envoi. Pour un automatisation complète, il est nécessaire de recoder l'ensemble du traitement et d'utiliser la fenêtre d'aperçu personnalisée.
Publicado el 27,diciembre 2005 - 15:04
//Envoyer un Mail avec P-Jointe et Dest par OutLook

OUTLOOK est un objet OLE dynamique
EMAIL est un objet OLE dynamique
OUTLOOK = allouer un objet OLE "Outlook.Application"
EMAIL = OUTLOOK>>CreateItem(0)
EMAIL>>to = "dest@sdfsd.fr"
EMAIL>>subject = "Rapport DR de : " + sNomEmeteur
EMAIL>>body = "Bonjour," + CR+CR +"Ci-joint fichier " + sNomFicPdf
EMAIL>>attachments>>add(sCheminPdf + "\" + sNomFicPdf)
EMAIL>>Display() //ou send()
libérer OUTLOOK
Info("Mail à bien été envoyé ......","Ouvrez OutLook et","Cliqué sur Envoyer/Recevoir")
Publicado el 10,enero 2006 - 09:38
Bonjour

J'ai trouvé une façon de pouvoir inscrire l'adresse courriel dans la fenêtre d'envoi
de Outlook lors du clic du bouton EMAIL PDF dans la fenêtre Apercu de windev.
Pour ce faire il faut au préalable, bien entendu, utiliser une fenêtre d'aperçu
personalisée...et suivre les 3 étapes suivantes:

1- // Je déclare 3 variables globales au projet dans le
// code d'initialisation de mon projet exemple :
// ABAdresseCourriel est une chaine
// ABObjetCourriel est une chaine
// ABMessageCourriel est une chaine

// On doit assigner à ces 3 variables leur valeur respectives
// juste avant d'appeler la fonction iApercu(...)

2- // Dans la fenetre Apercu je cré une procédure locale

PROCEDURE ABTimer()
nNumHandle est un entier = SysFenHandle("Nouveau message")
// Au moment où la fenêtre de outlook ayant le titre "Nouveau message" est en focus
// on procède à l'édition des champs...
SI nNumHandle > 0 ALORS
// Édition de l'adresse courriel
EnvoieTouche(ABAdresseCourriel)
// Positionner la souris et cliquer sur la position relative: à l'objet du message...
EnvoieTouche("{BTNGAUCHE,100,160}")
EnvoieTouche(ABObjetCourriel)
// Positionner la souris et cliquer sur la position relative: au texte du message...
EnvoieTouche("{BTNGAUCHE,100,240}")
EnvoieTouche(ABMessageCourriel)
// Tout est rempli... fin du timer
FinTimerSys()
FIN

3- // Dans le code du bouton: BTN_EMail_PDF
// Je clique sur l'évènement : Bouton gauche enfoncé (WM_LBUTTONDOWN)
// J'y inscris l'appel à ma procédure locale : ABTimer

TimerSys("ABTimer",100)

Voilà assez simple et ça fonctionne.

AB
Publicado el 18,marzo 2006 - 15:39
Bravo Alain,
une belle réponse et qui fonctionne, cela répond bien à une lacune de windev (provisoire on l'espère).
Merci pour cette contribution dont je vais me servir aussi.
Laurent