Envoi email à partir d'une vue

Forum destiné aux questions sur le développement : Formules, LotusScript, Java ...

Envoi email à partir d'une vue

Messagepar gadcho » 05 Juil 2010 à 14:54

http://forum.dominoarea.org/envoi-email-t14041.html

Bonjour,

J'ai une base avec des documents qui ont un champ e-mail.
Je veux un bouton qui permet d'ouvrir un mémo et de récupérer l'email.
J'ai donc copié le bouton qui est dans les contacts (CA perso), les bibliothèques MailLibrary.. et StringResources.., l'agent CreateMemo
Mais le mémo s'ouvre avec le destinataire vide.

Que dois je modifier pour l'adapter à ma base ?

Merci de votre réponse.
gadcho
Posteur habitué
Posteur habitué
 
Message(s) : 221
Inscrit(e) le : 25 Fév 2005 à 10:51
Localisation : Midi-Pyrénées

Messagepar roubech » 05 Juil 2010 à 20:57

tu as analysé le code copié pour comprendre ce u'il fait ?
Comment s'appelle le champ dans ton masque qui contient l'adresse email ? Tu as adapté la fonction GetMailAddress avec ce nom de champ ?
Avatar de l’utilisateur
roubech
Modérateur
Modérateur
 
Message(s) : 4976
Inscrit(e) le : 01 Fév 2007 à 20:22
Localisation : Lille

Messagepar gadcho » 06 Juil 2010 à 07:58

En fait, j'ai créé un champ MailAddress dans mon masque comme dans le masque Contact.
gadcho
Posteur habitué
Posteur habitué
 
Message(s) : 221
Inscrit(e) le : 25 Fév 2005 à 10:51
Localisation : Midi-Pyrénées

Messagepar gadcho » 06 Juil 2010 à 10:24

Voila le getmailaddress :

Function GetMailAddress() As String
Set pNote = db.getprofiledocument("tempvars")
CurrentMailingAddress = pNote.Pmailaddress

If note.Type(0) = "MFiche" Then
If CurrentMailingAddress(0) = "MA" Then
GetMailAddress = note.MailAddress(0)
If getMailAddress = "" And note.FullName(0) <> "" Then
GetMailAddress = note.FullName(0)
End If
Elseif CurrentMailingAddress(0) <> "" Then
GetMailAddress = CurrentMailingAddress(0)
Else
GetMailAddress= note.FullName(0)
End If
Elseif note.Type(0) = "Group" Then
GetMailAddress = note.ListName(0)
Else
GetMailAddress=""
End If

pNote.Pmailaddress = ""
Call pNote.save(False,False)
End Function
gadcho
Posteur habitué
Posteur habitué
 
Message(s) : 221
Inscrit(e) le : 25 Fév 2005 à 10:51
Localisation : Midi-Pyrénées

Messagepar gadcho » 06 Juil 2010 à 14:08

@SetProfileField("tempvars"; "Pmailaddress"; "MA")

Pouvez vous m'expliquer ce que fait la fonction ci-dessus ?

Merci
gadcho
Posteur habitué
Posteur habitué
 
Message(s) : 221
Inscrit(e) le : 25 Fév 2005 à 10:51
Localisation : Midi-Pyrénées

Messagepar LSong » 06 Juil 2010 à 14:42

ca mette a jour un champs dans un document de profil

va voir l'aide
LSong
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 353
Inscrit(e) le : 07 Nov 2007 à 14:27
Localisation : Ile de france

Messagepar gadcho » 06 Juil 2010 à 14:46

j'ai été voir mais je ne trouve pas le champ Pmailaddress
gadcho
Posteur habitué
Posteur habitué
 
Message(s) : 221
Inscrit(e) le : 25 Fév 2005 à 10:51
Localisation : Midi-Pyrénées

Messagepar roubech » 06 Juil 2010 à 15:03

tous les champs de toutes les bases Notes possibles ne sont pas référencés dans l'aide.
Ce qui compte, c'est la commande @SetProfileField
là, en l'occurence, tu vois qu'il passe par un document de profile "tempvars" pour stocker dans un champ "Pmailaddress" la valeur "MA"
utile pour passer d'un contexte à l'autre

Mais, je pense que ce qui doit être en formule, c'est plutôt un @GetProfileField pour calculer la valeur par défaut du destinataire dans le masque Memo de la boite mail standard
et dans ton bouton, tu fais appelle à la fonction GetMailAddress qui alimente ce doc profil en récupérant l'adresse du doc sélectionné
Par contre, le code que tu as repris commence par un test qui ne doit pas te concerner. Ton masque ne s'appelle pas "MFiche" ?
[syntax="LotusScript"]Function GetMailAddress() As String

If note.form(0) = "Contact" Then
GetMailAddress = note.MailAddress(0)
Else
GetMailAddress=""
End If

End Function[/syntax]

PS : entoure ton code des balises correspondantes, c'est beaucoup plus facile à lire
Avatar de l’utilisateur
roubech
Modérateur
Modérateur
 
Message(s) : 4976
Inscrit(e) le : 01 Fév 2007 à 20:22
Localisation : Lille

Messagepar gadcho » 06 Juil 2010 à 15:12

Mon masque s'appelle bien MFiche .
A quoi sert la valeur "MA" ?
gadcho
Posteur habitué
Posteur habitué
 
Message(s) : 221
Inscrit(e) le : 25 Fév 2005 à 10:51
Localisation : Midi-Pyrénées

Messagepar roubech » 06 Juil 2010 à 15:34

Regardes si tu comprend le principe comme ça
Je ne l'ai pas compilé ni testé
[syntax="LotusScript"]sub CreateMemoToSelectedContact()

Dim ws As New NotesUIWorkspace
Dim db As NotesDatabase, dbMail As NotesDatabase
Dim dc As NotesDocumentCollection
Dim docContact As NotesDocument, docMail As NotesDocument
Dim item As NotesItem

' Vérification des docs sélectionnés
Set db = ws.CurrentDatabase.Database
Set dc = db.UnprocessedDocuments
If dc Is Nothing Then
MessageBox "No documents were selected.",0,"Error"
Exit sub
End If
If dc.Count = 0 Then
MessageBox "No documents were selected.",0,"Error"
Exit Sub
End If

' Création du mail dans laBAL de l'utilisateur courant (cf doc site)
Set dbMail = New NotesDatabase( "", "" )
Call dbMail.OpenMail()
Set docMail = New NotesDocument( dbMail )
docMail.Form = "Memo"
Set item = docMail.ReplaceItemValue( "SendTo", "" )

' Alimentation des destinataires
Set docContact = dc.GetFirstDocument()
While Not docContact Is Nothing
Call item.AppendToTextList( docContact.MailAddress(0) )
Set docContact = dc.GetNextDocument(docContact)
Wend

' Affichage du mail à l'écran
Call ws.EditDocument( True, docMail )

End sub[/syntax]
Avatar de l’utilisateur
roubech
Modérateur
Modérateur
 
Message(s) : 4976
Inscrit(e) le : 01 Fév 2007 à 20:22
Localisation : Lille

Messagepar roubech » 06 Juil 2010 à 15:35

gadcho a écrit:A quoi sert la valeur "MA" ?

aucune idée, faut voir le contexte et où tu as pris le code
Avatar de l’utilisateur
roubech
Modérateur
Modérateur
 
Message(s) : 4976
Inscrit(e) le : 01 Fév 2007 à 20:22
Localisation : Lille


Retour vers Développement

cron