Klasse, vielen Dank! Jetzt funktioniert es so wie es sein sollte ;D
Sub Postdocumentdelete(Source As Notesuidatabase)
On Error Goto Fehlerbehandlung
Call LogIt(LOG_ACTION, "Datenbank-Script: 'PostDocumentDelete', gestartet")
'Deklarationen
Dim session As New NotesSession
Dim db As NotesDatabase
Dim docToDelete As NotesDocument
Dim docCopyOfDocToDelete As NotesDocument
Dim doccolToDelete As NotesDocumentCollection
'Initialisierung
Set db = session.CurrentDatabase
Set docCopyOfDocToDelete = New NotesDocument(db)
Set doccolToDelete = Source.Documents
Set docToDelete = doccolToDelete.GetFirstDocument
While Not docToDelete Is Nothing
Call docToDelete.CopyAllItems(docCopyOfDocToDelete, True)
Call docToDelete.Remove(True) ' DANKE ;)
'Benötigte Workflow-Ereignisse auslösen
If docCopyOfDocToDelete.GetItemValue("Form")(0) = "Mitarbeiter" Then
Call MitarbeiterGeloescht(docCopyOfDocToDelete)
Elseif docCopyOfDocToDelete.GetItemValue("Form")(0) = "Organisationseinheiten" Then
Call OrganisationseinheitGeloescht(docCopyOfDocToDelete)
Elseif docCopyOfDocToDelete.GetItemValue("Form")(0) = "Planstellen" Then
Call PlanstelleGeloescht(docCopyOfDocToDelete)
Elseif docCopyOfDocToDelete.GetItemValue("Form")(0) = "Dokumentenaenderungen" Then
Call DokumentenaenderungGeloescht(docCopyOfDocToDelete)
Elseif docCopyOfDocToDelete.GetItemValue("Form")(0) = "Feldaenderungen" Then
Call FeldaenderungGeloescht(docCopyOfDocToDelete)
End If
Set docToDelete = doccolToDelete.GetNextDocument(docToDelete)
Wend
Call LogIt(LOG_ACTION, "Datenbank-Script: 'PostDocumentDelete', erfolgreich ausgeführt")
Exit Sub
Fehlerbehandlung:
Call ErrorHandling("Datenbank-Script: 'PostDocumentDelete'")
Exit Sub
End Sub
Die andere Methode ist meiner Meinung nach umständlich, weil es doppelte Arbeit macht. In den Zugriffskontrolllisten der Datenbank und der Maske wird ja eigentlich schon festgelegt welche Personen und Gruppen was tun dürfen. Durch den zusätzlich notwendigen Code bei dieser Lösung entsteht zunächst bei der Erstellung und später bei Änderungen der Datenbank Mehrarbeit.