Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: thilo.torkler am 08.02.06 - 11:56:44

Titel: Umgang mit RenderToRTItem
Beitrag von: thilo.torkler am 08.02.06 - 11:56:44
hallo zusammen, ich hoffe, dass ihr mir einen kleinen denkanstoss geben könnt. ich weiss nämlich nicht mehr weiter ;-)

ich habe eine datenbank A, in der ich masken erstellt habe (formulare). nachdem ein mitarbeiter ein formular ausgefüllt hat, soll er es mittels seiner mail-db versenden. zu beginn habe ich es mir einfach gemacht und die systemaktion "weiterleiten" eingebunden. klappt auch alles wunderbar... kann nur nicht den empfänger etc. vorgeben und die mail nicht sofort versenden, ohne das der user noch aktionen ausführen muss.

ich habe mich nun umgeschaut und festgestellt, dass "RenderToRTItem" genau das ist, was ich brauche. ich habe das beispiel aus der hilfe etwas modifiziert, aber er bringt mir immer ne fehlermeldung. zudem zeigt er die ausgehende mail beim user nicht in der ansicht "Gesendet" sondern in "Entwurf" an. hier mein code:

Sub Click(Source As Button)
   Dim session As New NotesSession
   Dim workspace As New NotesUIWorkspace
   Dim db As NotesDatabase
   Dim maildb As NotesDatabase
   Dim uidoc As NotesUIDocument
   Dim docA As NotesDocument
   Dim docB As NotesDocument
   Dim rtitem As NotesRichTextItem
   Dim success As Variant
   
   Set db = session.CurrentDatabase
   Set uidoc = workspace.CurrentDocument
   Set docA = uidoc.Document
   Call uidoc.Save   
   
   Set maildb = session.GetDatabase("","")
   maildb.OpenMail
   
   Set docB = New NotesDocument(maildb)
   docB.Form = "Memo"
   docB.Subject = "Geldwäsche Verdachtsmeldung"
   docB.SendTo = "Geldwaeschebeauftragter"
   
   Set rtitem = New NotesRichTextItem(docB, "Body")   
   Call docB.Save(True, True)
   success = docA.RenderToRTItem(rtitem)
   Call docB.Save(True, True)
   Call docB.Send(False)
   Call uidoc.Close
   
End Sub



das dokument soll in der datenbank A nicht gespeichert werden. dafür habe ich auch schon das queryclose-ereignis eingestellt, welches auch funktioniert:

Sub Queryclose(Source As Notesuidocument, Continue As Variant)
   If Not Source.IsNewDoc Then
      noteid$ = source.document.NoteID
      Delete source '[ this deletes the memory reference to the uidoc and anything inferred from it, except noteid$ lingers on ]
      Dim S As New notessession
      Set db = s. currentdatabase
      Set doc = db.GetDocumentbyID(noteid$)
      Call doc.Remove(True)
   End If
End Sub

was muss ich daran ändern?! jetzt schon vielen dank für eure antworten... gruß thilo.
Titel: Re: Umgang mit RenderToRTItem
Beitrag von: umi am 08.02.06 - 14:18:27
Was für eine Fehlermeldung bring er den?
Titel: Re: Umgang mit RenderToRTItem
Beitrag von: Glombi am 08.02.06 - 14:22:44
Kann es sein, dass "Geldwaeschebeauftragter" kein eindeutige gültige Mailadresse ist?
Titel: Re: Umgang mit RenderToRTItem
Beitrag von: koehlerbv am 08.02.06 - 14:47:42
Für die Anzeige in der Sent-View fehlt auf jeden Fall schon mal PostedDate.

Bernhard
Titel: Re: Umgang mit RenderToRTItem
Beitrag von: thilo.torkler am 08.02.06 - 17:02:12
die mailadresse "Geldwaeschebeauftragter" ist korrekt. es klappt auch mittlerweile mit dem senden ohne fehlermeldung... obwohl ich ehrlich gesagt nicht weiss, woran es gelegen hat.

wie funktioniert das mit der anzeige in der ansicht "gesendet" und... das er es nicht in der ansicht "entwürfe" speichert?

vielen dank.
Titel: Re: Umgang mit RenderToRTItem
Beitrag von: koehlerbv am 08.02.06 - 17:35:21
Dir fehlt noch ein docB.PostedDate = Now. Schau Dir einfach mal die view selection formula von ($Sent) und ($Drafts) an.

HTH,
Bernhard
Titel: Re: Umgang mit RenderToRTItem
Beitrag von: thilo.torkler am 08.02.06 - 17:46:27
super!!! vielen dank!!! es hat geklappt... jetzt bin ich wieder etwas schlauer.