Page 1 sur 1

RenderToRTItem

MessagePublié: 02 Déc 2009 à 15:47
par afournery
Bonjour,

je suis sur un document ouvert et j'ai mis un boouton en LS.
L'objectif est d'envoyer par mail le contenue d'un document en automatique.

j'appel ma fonction de la manière suivante
Call sendMailDocFull(uidoc.Document.Interlocuteur_fap(0), uidoc.Document)

Code : Tout sélectionner
Sub sendMailDocFull(sendTo As String, doc As NotesDocument)
   REM Le CRV n'accédant pas à l'application on l'informe en y  mettant le contenue du document dans le mail
   REM Declare
   Dim rtitem As NotesRichTextItem
   Dim memo As NotesDocument
   Dim db As NotesDatabase
   Dim session As New NotesSession
   Dim success As Variant
   
   REM Constante
   Const FYIsubject = "Veuillez trouvez une FAP qui vous est destiné"
   Const BodyDeb = "Une nouvelle FAP est susseptible de vous intéressé."
   Const BodyLink = "Veuillez trouver ci-dessous les informations"
   
   Set db = session.CurrentDatabase
   Set memo = New NotesDocument( db )
   memo.Form = "Memo"
   memo.SendTo = sendTo
   memo.Subject = FYIsubject
   
   Set rtitem = New NotesRichTextItem( memo, "Body" )
   Call rtItem.AppendText(BodyDeb)
   Call rtItem.AddNewline(2)
   Call rtItem.AppendText(BodyLink)
   Call rtItem.AddNewline(2)
   success = doc.RenderToRTItem( rtitem )
   Call memo.send( False )      
End Sub


Pour une raison que je ne connais pas il fait une erreur sur la ligne :
success = doc.RenderToRTItem( rtitem )

Erreur : Erreur Notes : Objet Base de document spécial introuvable

Merci de votre aide.

MessagePublié: 02 Déc 2009 à 16:26
par afournery
Pour information et avis à ceux qui travail en uidoc ou en documentContext, NotesDocument doit obligatoirement exister en backend.

MessagePublié: 15 Déc 2009 à 09:15
par Damien Serve
J'imagine que si tu est en édition sur le document et que l'utilisateur a fait des modifs, tu veux envoyer les modifs dans le mail... essaye un truc du genre :

dim s as string, nd as notesdocument
uidoc.save
s=uid.document.UniversalId
set nd=db.getdocumentbyunid(s)
sendMailDocFull nd.GetItemValue("Interlocuteur_fap")(0), nd

Comme ça tu ne passe pas par l'UI pour accéder à ton document, ca pourrait marcher