Hallo Notes-Forum,
ich werde aus folgenedem Notes-Verhalten einfach nicht schlau.
Hier kurz die Fakten:
Ich möchte nach dem Speichern eines neuen Dokuments den im Dokument genannten zuständigen Mitarbeiter informieren. Der bekommt dann eine Info-Mail mit DocLink zu dem entsprechenden Eintrag. Dieser Mailversand läuft im Backend und funktioniert solange der User nicht Einträge aus dem NAB ins PAB kopiert hat und somit Fehler 4295 auftritt ("Nicht eindeutiger Name...." oder so ähnlich).
Diesen Fehler fange ich jetzt explizit in der Fehlerbehandlung ab und verschicke die Mail in dieser im Frontend. Wundersamerweise verschickt er das Dokument nach Auswahl des korrekten Adressaten ohne Probleme inklusive Richtext-Feld, obwohl das Backend-Dokument vorher nicht gespeichert wurde.
Wenn der Code für den Mailversand im FrontEnd direkt in der Prozedur aufgerufen wird alternativ zum Versand im Backend ist das Richtext-Feld leer, weil ich ja das Backend-Dokument vorher nicht gespeichert habe.
Der Mailversand in der Fehlerbehandlung ist mir halt nicht ganz geheuer geschweige denn das ich die Logik von Notes nachvollziehen kann, aber es funktioniert.
Vielleicht hat ja schon jemand Erfahrungen mit diesem Verhalten gesammelt oder kann mich auf meinen Denkfehler hinweisen. Habe halt keine Lust irgendwann einen Berg von verwaisten Dokumenten in meiner DB zu haben die ich im Augenblick gerade übersehe.
Vielen Dank schon mal im voraus
Florian
Hier der Code der entsprechenden SUB:Sub MemoSend(doc As notesdocument)
Dim ns As New notessession
Dim ws As New notesuiworkspace
Dim db As notesdatabase
Dim MemoDoc As notesdocument
Dim ErrUIDoc As notesuidocument
Dim body As NotesRichTextItem
Dim msg As String
On Error Goto ErrMemoSend
Set db=ns.currentdatabase
Set MemoDoc =db.createdocument
Set body=memodoc.createrichtextitem("Body")
msg="Testmail"
memodoc.sendto="Florian Benedix"
memodoc.subject=msg
'Erstellung des Body-Felds inkl. DocLink-----------------------------------------------------------------------------------------------------
Call body.appendtext("_____________________________________________")
Call body.addnewline(2)
Call body.appendtext(msg)
Call body.addnewline(2)
Call body.addnewline(2)
Call body.appendtext("Für weitere Details benutzen Sie den folgenden Link:")
Call body.addnewline(2)
Call body.appendtext("---> ")
Call body.appenddoclink(doc,"Verknüpfung zum neuen Eintrag")
Call body.appendtext(" <---")
Call body.addnewline(2)
Call body.appendtext("Sollten Sie noch keinen Zugang zu der entsprechenden Datenbank haben, können Sie diesen über den folgenden Link einrichten.")
Call body.addnewline(2)
Call body.appendtext("---> ")
Call body.appenddoclink(db,"Verknüpfung zur Datenbank einrichten")
Call body.appendtext(" <---")
Call body.addnewline(2)
Call body.appendtext("Diese Mail wurde automatisch erstellt")
Call body.addnewline(1)
Call body.appendtext("_____________________________________________")
'---------------------------------------------------------------------------------------------------------------------------------------------------------------
'Mailversand Backend
memodoc.send(False)
Exit Sub
ErrMemoSend:
If Err=4295 Then
'Mailversand im Frontend
Set ErrUIDoc=ws.editdocument(False,memodoc)
Call ErrUIDoc.Send
Call ErrUIDoc.Close(True)
Else
Msgbox "Beim versenden einer Benachrichtigungsmail ist folgender Fehler aufgetreten:" & Err,48,"Fehler beim Mailversand"
End If
Resume ErrExit
ErrExit:
Exit Sub
End Sub