Page 1 sur 2
Lien vers une vue dans un mail

Publié:
22 Sep 2010 à 15:27
par clementbp
Bonjour,
J'aurais besoin de créer un agent planifié qui tous les soirs envoie un mail qui contienne un lien qui lorsqu'on clique dessus, ouvre la vue "Relance".
Je n'ai pas d'idée de la manière dont je pourrais faire.
Pourriez vous m'aider.
Merci

Publié:
22 Sep 2010 à 15:31
par Michael DELIQUE
salut
vue web ou vue sur le client lourd ?

Publié:
22 Sep 2010 à 15:35
par clementbp
C'est une vue sur client lourd !!
Aucune utilisation Web

Publié:
22 Sep 2010 à 15:40
par Michael DELIQUE
re,
dans ton agent (LS) tu créé un richtext (Body) et tu insers dedans via Call notesRichTextItem.AppendDocLink( linkTo, comment$ [, HotSpotText$ ] )
ta vue, linkto étant un objet Notesview, au click ça ouvrira la base et la vue

Publié:
22 Sep 2010 à 15:41
par nemrod93
Bonjour,
regarde du côté de la classe notesrichtextitem
Syntax
Call notesRichTextItem.AppendDocLink( linkTo, comment$ [, HotSpotText$ ] )
Parameters
linkTo
NotesDatabase, NotesView, or NotesDocument. The database, view, or document to which you want to link.

Publié:
22 Sep 2010 à 15:42
par nemrod93
@mickaël
t'as été plus rapide que moi


Publié:
22 Sep 2010 à 16:45
par clementbp
J'ai créé un agent par contre j'ai deux problèmes :
- le premiere et que le lien vers la vue n'apparait pas dans le mail
- le deuxieme est que quand j'execute l'agent , il ne marche pas tant que je le fais pas avec le débogage de lotus.
Voici mon code, si vous avez une idée :
Sub Initialize
'////Déclaration des variables
Dim oSession As NotesSession
Dim oWks As NotesUIWorkspace
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim rtitem As Variant
Dim tableau () As String
'///Initialisation
Set oSession = New NotesSession()
Set oWks = New NotesUIWorkspace()
Set db = oSession.CurrentDatabase
Set uidoc = oWks.CurrentDocument
'///Préparation du mail pour le commercial
Dim maildb As New NotesDatabase( "", "" )
Call maildb.OpenMail
Set maildoc = New NotesDocument( maildb )
maildoc.Form = "Memo"
maildoc.Subject = "DBB : Relances"
Set rtitem = New NotesRichTextItem( maildoc, "Body" )
Call rtitem.AddNewLine (2)
Call rtitem.AppendText ("Bonjour,")
Call rtitem.AddNewLine (2)
Call rtitem.AppendText ("Merci de bien vouloir cliquer sur le lien pour afficher la vue des workflows à relancer")
Call rtitem.AddNewLine (2)
maildoc.SendTo = "clement.PEQUIGNET@jurafiltration.fr"
Call oWks.Editdocument (True, maildoc)
Dim LinkTo As NotesView
Call rtitem.AppendDocLink( linkTo, "CBP-vDBBTousVuePourRelance" )
End Sub

Publié:
22 Sep 2010 à 19:46
par Michael DELIQUE
re,
il ne faut pas passer le nom de la vue mais l'objet NotesView

Publié:
23 Sep 2010 à 01:22
par roubech
si tu veux planifier ton agent, il faut virer tout ce qui est UI
Dim oWks As NotesUIWorkspace
Set oWks = New NotesUIWorkspace()
Set uidoc = oWks.CurrentDocument
Call oWks.Editdocument (True, maildoc)
uidoc, tu t'en sert pas et pour l'agent planifié j'imagine que tu va envoyer le mail directemet plutot que de l'afficher à l'écran

Publié:
23 Sep 2010 à 09:23
par clementbp
Bonjour,
j'ai esayé d'apporter les modifications décrites plus haut.
Mais bon il y a toujours un problème.
Voici le code:
Sub Initialize
'////Déclaration des variables
Dim db As NotesDatabase
Dim rtitem As Variant
Dim LinkTo As NotesView
'///Préparation du mail pour le commercial
Dim maildb As New NotesDatabase( "", "" )
Call maildb.OpenMail
Set maildoc = New NotesDocument( maildb )
maildoc.Subject = "DBB : Relances"
Set rtitem = New NotesRichTextItem( maildoc, "Body" )
Call rtitem.AddNewLine (2)
Call rtitem.AppendText ("Bonjour,")
Call rtitem.AddNewLine (2)
Call rtitem.AppendText ("Merci de bien vouloir cliquer sur le lien pour afficher la vue des workflows à relancer")
Call rtitem.AddNewLine (2)
Dim view As NotesView
Set view = db.GetView( "CBP-vDBBTousVuePourRelance" )
Call rtitem.AppendDocLink( linkTo, view )
maildoc.SendTo = "toto@tata.com"
End Sub

Publié:
23 Sep 2010 à 09:27
par Michael DELIQUE
re
quelle est le pb ?

Publié:
23 Sep 2010 à 09:41
par nemrod93
Bonjour,
déjà je remplacerais le
maildoc.SendTo = "toto@tata.com"
par
maildoc.Send = "toto@tata.com"

Publié:
23 Sep 2010 à 09:45
par Michael DELIQUE
re Nemrod
sendto pour renseigné le destinataire
mais pour l'envois c'est send. j'aime pas mélanger les deux.
et puis la comme on c'est pas qu'elle est le pb...

Publié:
23 Sep 2010 à 09:52
par nemrod93
re
j'vais boire un kfé, là c'est impératif

Publié:
23 Sep 2010 à 10:56
par clementbp
Bon alors j'ai fais plusieurs test et j'ai essayé de modifier mon code pour qu'il soit le plus simple possible.
Mon premier problème et que je n'arrive pas a mettre une zone de texte riche dans le corps du texte. Pourriez vous me dire la syntaxe qu'il faut utilisé.
Je suppose aussi que la ligne qui correspond au lien vers la vue ne sera pas correct mais pour le moment je ne peut pas faire de test.
Merci de votre aide.
Voici mon code :
Sub Initialize
Dim session As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim rtitem As NotesRichTextItem
Set db = session.CurrentDatabase
Set doc = New NotesDocument( db )
doc.Form = "Memo"
doc.SendTo = "clement.PEQUIGNET@jurafiltration.fr"
doc.Subject = "DBB : Relances"
Set rtitem = New NotesRichTextItem (doc, "CorpsDuMail")
Call rtitem.AddNewLine (2)
Call rtitem.AppendText ("Bonjour,")
Call rtitem.AddNewLine (2)
Call rtitem.AppendText ("Merci de bien vouloir cliquer sur le lien pour afficher la vue des workflows à relancer")
Call rtitem.AddNewLine (2)
Call rtitem.AppendDocLink( linkTo, "CBP-vDBBTousVuePourRelance" )
Doc.Body = CorpsDuMail
Call doc.Send( False )
End Sub