Lien vers une vue dans un mail

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

Lien vers une vue dans un mail

Messagepar clementbp » 22 Sep 2010 à 15:27

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
clementbp
Posteur habitué
Posteur habitué
 
Message(s) : 236
Inscrit(e) le : 03 Fév 2010 à 16:42

Messagepar Michael DELIQUE » 22 Sep 2010 à 15:31

salut

vue web ou vue sur le client lourd ?
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar clementbp » 22 Sep 2010 à 15:35

C'est une vue sur client lourd !!
Aucune utilisation Web
clementbp
Posteur habitué
Posteur habitué
 
Message(s) : 236
Inscrit(e) le : 03 Fév 2010 à 16:42

Messagepar Michael DELIQUE » 22 Sep 2010 à 15:40

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
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar nemrod93 » 22 Sep 2010 à 15:41

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.
cdlt

Alain

On ne voit que ce qu'on veut voir, et on trouve rarement si on ne cherche pas
Avatar de l’utilisateur
nemrod93
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 378
Inscrit(e) le : 04 Déc 2008 à 10:26
Localisation : Saint Malo

Messagepar nemrod93 » 22 Sep 2010 à 15:42

@mickaël

t'as été plus rapide que moi :D :D :D
cdlt

Alain

On ne voit que ce qu'on veut voir, et on trouve rarement si on ne cherche pas
Avatar de l’utilisateur
nemrod93
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 378
Inscrit(e) le : 04 Déc 2008 à 10:26
Localisation : Saint Malo

Messagepar clementbp » 22 Sep 2010 à 16:45

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
clementbp
Posteur habitué
Posteur habitué
 
Message(s) : 236
Inscrit(e) le : 03 Fév 2010 à 16:42

Messagepar Michael DELIQUE » 22 Sep 2010 à 19:46

re,

il ne faut pas passer le nom de la vue mais l'objet NotesView
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar roubech » 23 Sep 2010 à 01:22

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
Avatar de l’utilisateur
roubech
Modérateur
Modérateur
 
Message(s) : 4976
Inscrit(e) le : 01 Fév 2007 à 20:22
Localisation : Lille

Messagepar clementbp » 23 Sep 2010 à 09:23

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
clementbp
Posteur habitué
Posteur habitué
 
Message(s) : 236
Inscrit(e) le : 03 Fév 2010 à 16:42

Messagepar Michael DELIQUE » 23 Sep 2010 à 09:27

re

quelle est le pb ?
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar nemrod93 » 23 Sep 2010 à 09:41

Bonjour,
déjà je remplacerais le

maildoc.SendTo = "toto@tata.com"

par

maildoc.Send = "toto@tata.com"
cdlt

Alain

On ne voit que ce qu'on veut voir, et on trouve rarement si on ne cherche pas
Avatar de l’utilisateur
nemrod93
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 378
Inscrit(e) le : 04 Déc 2008 à 10:26
Localisation : Saint Malo

Messagepar Michael DELIQUE » 23 Sep 2010 à 09:45

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...
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar nemrod93 » 23 Sep 2010 à 09:52

re

:boul02:

j'vais boire un kfé, là c'est impératif
cdlt

Alain

On ne voit que ce qu'on veut voir, et on trouve rarement si on ne cherche pas
Avatar de l’utilisateur
nemrod93
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 378
Inscrit(e) le : 04 Déc 2008 à 10:26
Localisation : Saint Malo

Messagepar clementbp » 23 Sep 2010 à 10:56

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
clementbp
Posteur habitué
Posteur habitué
 
Message(s) : 236
Inscrit(e) le : 03 Fév 2010 à 16:42

Suivant

Retour vers Développement

cron