Page 1 sur 2

Mail Automatique aprés Validation

MessagePublié: 06 Mai 2014 à 07:34
par Heldenn
Bonjour à tous, je me re-re-permets de venir demander de l'aide

Dans ma base il y a 5 étapes :
- En écriture
- Faits validés
- Analyses Terminées
- Décision Prise
- Archivée

Il y a 1 action pour passer d'étape en étape...

Je voudrais que lorsque je change d'étape ça envoie un mail a une personne personne précise ou à une liste de diffusion

Voila le code d'une action ( Pour passer de "En écriture" à "Faits validées") :
Sub Click(Source As Button)
'uidoc est l'objet représentant le document actuel'
Dim wkp As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim Doc As NotesDocument
Dim session As New NotesSession
Dim userName As New NotesName(session.UserName)
Set uidoc= wkp.currentdocument
Set doc= uidoc.document
Call uidoc.Refresh
If (doc.CONSREEL_DEROUL(0)="") Then
Msgbox "Renseigner la rubrique Conséquences réelles de la section CAUSES / CONSEQUENCES"
continue = False
Exit Sub
End If
If (doc.CONSPOTENT_DEROUL(0)="") Then
Msgbox "Renseigner la rubrique Conséquences potentielles de la section CAUSES / CONSEQUENCES"
continue = False
Exit Sub
End If
If (doc.Etat(0)="Etat0") Then
uidoc.Editmode=True
doc.Etat="Etat1"
Call uidoc.Refresh
Call doc.save(True,True)
uidoc.save
End If
End Sub


Merci de votre aide :)

Re: Mail Automatique aprés Validation

MessagePublié: 06 Mai 2014 à 09:03
par Jérôme Deniau
oh le bordel,
continue: aucun intérêt ce n'est pas un événement du masque (du style queryOpen) qui lui utilise continue
Ensuite uidoc.refresh puis doc.save puis uidoc.save, c'est plus ceinture et bretelles, mais ça sert à rien soit uidoc.save soit doc.save
uidoc.editmode!true: hum si je ne suis que lecteur...

Sinon pour la problématique d'envoi de mail, autant le mettre dans l'événement postSave car ainsi on est sûr de l'état et on envoi q'une fois_ voir dans l'aide notesdocument.mailsend

Re: Mail Automatique aprés Validation

MessagePublié: 06 Mai 2014 à 10:39
par Heldenn
Hello Jêrome, ma question la tout de suite quand je vois ce que tu mets, c'est :

Es que c'est faisable ? Si oui, es-ce compliqué à mettre en place ?

Ça fait 2 semaines que j'utilise Lotus notes, s'il faut je peux vous envoyer la base pour voir de quoi elle à l'air !

( Comme je le précisais dans un autre post, je repends la base d'un autre service, la base en question est de 2002 ...)

Merci encore !

Thomas

Re: Mail Automatique aprés Validation

MessagePublié: 06 Mai 2014 à 11:31
par Jérôme Deniau
Oui faire le code dans l'événement PostSave..... avec la méthode notesdocument.mailsend.....

Re: Mail Automatique aprés Validation

MessagePublié: 06 Mai 2014 à 12:24
par Heldenn
Et pour une personne qui ne connait pas grand chose à lotus note ? :p

Re: Mail Automatique aprés Validation

MessagePublié: 06 Mai 2014 à 12:50
par Jérôme Deniau
Il y a l'aide ou de la formation ;=)

postsave(source....)
dim maildoc as notesDocument
set maildoc = source.document
call maildoc.send(false,<champ contenant le ou les destinataire sour la forme maildoc.getItemValue("NomDuChampDestiantaires")(0) ou pas (0) si plusieurs destinataires......>)

end sub

mais il y a d'autres méthodes via la mail.box, etc........fournis dans ce forum (trucs et astuces)

Re: Mail Automatique aprés Validation

MessagePublié: 06 Mai 2014 à 13:09
par Heldenn
Ca marche, merci beaucoup, je vais regarder !

Re: Mail Automatique aprés Validation

MessagePublié: 07 Mai 2014 à 14:41
par Heldenn
Bonjour !!


Je suis sur le problème depuis hier, et je n'ai encore rien trouvé de concluant,

imaginons que je veuille que des que je passe en validation direction, ça m'envoie un mail ( heldenn@gmail.com par exemple )

Que vais-je devoir ajouter dans le code que j'ai mis un peu plus haut ?

Merci d'avance de votre aide.
Thomas

Re: Mail Automatique aprés Validation

MessagePublié: 09 Mai 2014 à 10:30
par pascal29
Si tu veux un exemple simple de code pour envoyer un mail :

Dim session As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Set db = session.CurrentDatabase
Set doc = New NotesDocument( db )
doc.Form = "Memo"
doc.SendTo = "heldenn@gmail.com"
doc.Subject = "Objet du mail"
doc.Body = "Corps du mail"
Call doc.Send( False )

Après tu voudras peut-être mettre un lien vers le doc dans le mail, mais là je t'invite à regarder l'aide en ligne ...

Re: Mail Automatique aprés Validation

MessagePublié: 12 Mai 2014 à 07:21
par Heldenn
Hello !!


Merci beaucoup ça marche !

Je suis encore en train de chercher pour inclure un lien vers la base, mais c'est sur la bonne voie !


Bonne fin de journée :)

Re: Mail Automatique aprés Validation

MessagePublié: 12 Mai 2014 à 21:49
par roubech
appenddoclink

Re: Mail Automatique aprés Validation

MessagePublié: 19 Mai 2014 à 08:01
par Heldenn
Hello, merci c'est bon tout fonctionne :)

Merci encore de votre aide !!

Re: Mail Automatique aprés Validation

MessagePublié: 22 Mai 2014 à 14:41
par Heldenn
Bonjour à tous :

Voici mon code pour le mail :

Dim session As New NotesSession
'uidoc est l'objet représentant le document actuel'
Dim db As NotesDatabase
Dim newDoc As NotesDocument
Dim rtitem As NotesRichTextItem
Set db = session.CurrentDatabase
Set newDoc = New NotesDocument( db )
Set rtitem = New NotesRichTextItem( newDoc, "Body" )
Call rtitem.AppendDocLink( db, db.Title )
newDoc.Subject = "Here is a link to the database"
newDoc.SendTo = "thomas.siegwald@edf.fr"
newDoc.Send( False )
End Sub

Mais le lien que j'ai dans mon mail, n'est pas le bon, il renvoi vers la vue qui stock tout mes doc, comment je dois faire pour renvoyer sur LE doc ?

Merci de votre aide

Re: Mail Automatique aprés Validation

MessagePublié: 22 Mai 2014 à 15:59
par Michael DELIQUE
salut

parceque en parametre de ton "Call rtitem.AppendDocLink( db, db.Title )" tu as passé "DB" la base en cours.

don ton cas il faudrait un

Call rtitem.AppendDocLink( Doc, db.Title ) ou Doc est le NotesDocument représentant le document que tu souhaite

Re: Mail Automatique aprés Validation

MessagePublié: 23 Mai 2014 à 07:15
par Heldenn
Bonjour, le code doit donc être :

Sub Click(Source As Button)
'uidoc est l'objet représentant le document actuel'
Dim session As New NotesSession
Dim db As NotesDatabase
Dim newDoc As NotesDocument
Dim rtitem As NotesRichTextItem
Set db = session.CurrentDatabase
Set newDoc = New NotesDocument( db )
Set rtitem = New NotesRichTextItem( newDoc, "Body" )
Call rtitem.AppendDocLink( doc, db.Title )
newDoc.Subject = "Une nouvelle fiche est en attente de décision direction"
newDoc.SendTo = "thomas.siegwald@edf.fr"
newDoc.Send( False )
End Sub


?