Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet 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.
-
Was für eine Fehlermeldung bring er den?
-
Kann es sein, dass "Geldwaeschebeauftragter" kein eindeutige gültige Mailadresse ist?
-
Für die Anzeige in der Sent-View fehlt auf jeden Fall schon mal PostedDate.
Bernhard
-
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.
-
Dir fehlt noch ein docB.PostedDate = Now. Schau Dir einfach mal die view selection formula von ($Sent) und ($Drafts) an.
HTH,
Bernhard
-
super!!! vielen dank!!! es hat geklappt... jetzt bin ich wieder etwas schlauer.