Sperrung der Löschung von Dokumenten in einer Ansicht

  • Grüße in die Runde ...


    Ich habe folgendes Problem:
    Ich versuch im Datenbank-Script (QueryDocumentDelete-Ereignis) das Löschen von Dokumenten in Abhängigkeit von Benutzerrollen zu organisieren.
    Mein Problem dabei ist, das ich nicht weiß, wie ich herausfinde, welches der Dokumente in der Ansicht markiert sind ...
    Kann mir da jemand mal nen Tipp geben???


    Bis denne ...

  • Das wäre ja ansich ne gute Idee ...
    Das Problem dabei ist, dass das Löschen in Abhängigkeit eines Feldwertes der Dokumente in dieser Ansicht stattfinden soll und ich dementsprechend den Feldwert auslesen muss, bevor ich das Dokument löschen bzw den Agenten starten kann ...

  • Hallo,


    ich habe sowas auch schon mal realisiert. Über Script geht das ganz gut. Ich habe eine DocumentCollection referenziert und dann in einer Schleife den Feldwert abgefragt. Wenn ein bestimmter Wert vorhanden ist wird die Löschung der Dokumente komplett abgebrochen. Andere Optionen (Löschen des Feldwertes) wären natürlich auch möglich. Bei Bedarf kann ich den Beispielcode gerne zuschicken.


    Gruß helmie

  • Kein Problem. Ist aber ganz simpler Code. Geht bestimmt auch noch einfacher, aber es funktioniert auf jeden Fall...


    Sub Querydocumentdelete(Source As Notesuidatabase, Continue As Variant)
    Dim doc As NotesDocument
    Dim dc As NotesDocumentCollection

    Set dc = source.Documents

    Set doc = dc.GetFirstDocument

    Do Until doc Is Nothing
    If doc.FELDNAME(0) = "WERT" Then
    Msgbox "Es kann keine Löschung durchgeführt werden.", 0 + 16, "Löschsperre"
    continue = False
    End If
    Set doc = dc.GetNextDocument(doc)
    Loop

    End Sub


    Bei der Messagebox kann dann auch noch für den User ausgegeben werden warum nicht gelöscht werden kann.
    Viel Spaß damit