title image


Smiley Re: Dokumente in Ansicht nur per Schaltfläche löschen
Ich benutze sowas Ähnliches: das Skript unten im Querydeledocument der Datenbank bewirkt folgendes:

- Die Benutzerrolle [Admin] darf alles & überall löschen

- Die Benutzerrolle [OttoNormalUser] darf nur innerhalb der Ansichten mit den Aliassen "view1" und "view2" löschen

- Der Rest darf überhaupt nicht löschen



Dim workspace As New NotesUIWorkspace

Dim session As New NotesSession

Dim db As NotesDatabase

Dim uiView As NotesUIView

Dim doc As NotesDocument

Dim dc As NotesDocumentCollection

Dim acl As NotesACL

Dim entry As NotesACLEntry



Set db = Source.Database

Set acl = db.ACL

Set entry = acl.GetEntry( session.CommonUserName )

Set uiView = workspace.currentview

Set dc=Source.Documents



If entry Is Nothing Then

Set entry = acl.GetEntry( session.UserName )

End If



msg="Sie sind nicht berechtigt, Dokumente in der Ansicht "+uiView.viewName+" zu löschen"

titel="Keine Löschberechtigung vergeben"



If entry Is Nothing Then

Messagebox msg,64,titel

continue=False

Elseif entry.IsRoleEnabled( "[Admin]" ) Then

Goto delDocs

Elseif entry.IsRoleEnabled( "[OttoNormaUser]" ) Then

Select Case uiView.viewAlias

Case "view1"

Goto delDocs

Case "view2"

Goto delDocs

Case Else

Messagebox msg,64,titel

continue=False

End Select

Else

Messagebox msg,64,titel

continue=False

End If

Exit Sub



delDocs:

continue = False

answer = Messagebox("Vorgang fortsetzen",36,Cstr(dc.count)+" Dokument(e) löschen")

If answer=6 Then

For j = 1 To dc.Count

Set doc = dc.GetNthDocument( j )

doc.remove True

Next

End If

Call workspace.ViewRefresh

End Sub



Mit INI-Werten würde ich nicht arbeiten, wenn Du die Ansichten nicht hardcoded haben willst. Hol Dir ggf. die löschbaren Ansichten aus einem ProfileDoc.

jo@chim
IBM Certified Advanced Application Developer - Lotus Notes and Domino 7


geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: