Hallo,
ich möchte gerne verhindern, das Personen ohne die
entsprechende Berechtigung (Editorfelder) keine Dokumente öffnen dürfen.
Hierzu habe ich folgendes geschrieben:
Dim workspace As New NotesUIWorkspace
Dim session As New NotesSession
Dim uidoc As NotesuiDocument
Dim doc As NotesDocument
Dim szStatus As String
Dim szStatus_docadmin As String
Dim szStatus_docstatus As String
Dim allowEdit As Integer
Set UIdoc=workspace.CurrentDocument
Set doc=workspace.CurrentDocument.Document
szStatus = source.FieldGetText("UserRoles")
szStatus_docadmin = source.FieldGetText("dcauthors")
szStatus_docstatus = source.FieldGetText("Doc_Freigabe")
If SaveOptions = 0 Then
SaveOptions = 1
End If
'Wenn Doc im Lesemodus, dann Folgecode nicht beachten
' If Source.EditMode = False Then Exit Sub
'Prüfe Statusfeld...
If Instr(1, szStatus, "admin") > 1 Then
' Source.EditMode = True
allowEdit = False
Exit Sub
Else
If szStatus_docadmin="" And Instr(1, szStatus, "admin") > 1 Then
' Source.EditMode = True
allowEdit = False
Exit Sub
Else
If Instr(1, szStatus_docadmin, session.CommonUserName) > 1 Then
' Source.EditMode = True
allowEdit = False
Exit Sub
Else
If szStatus_docstatus="No_Doc_Freigabe" Then
Exit Sub
Else
If Not Instr(1, szStatus_docadmin, session.CommonUserName) > 1 Or szStatus_docstatus="Doc_Freigabe" Then
allowEdit = False
'Call doc.Save( False, False)
Msgbox "The 'edit mode' is not allowed.", 64, "Error"
Exit Sub
End If
End If
End If
End If
End If
Aber dies will nicht so ganz funktionieren , da ich immer eine Meldung über verschachtelte Ereignisse erhalte.
wo liegt denn hier der Fehler, und wo plaziert man denn diesen Code am besten Querymodechange,postmodechange oder postopen
damit keinerlei Dokumente unbeabsichtigt verändert werden können.
Danke schon mal Gruß Jörg
und schon hängt es bei der Definition der Variable
Set doc=workspace.CurrentDocument.Document
ich denke mal , das dies daher kommt da ich hier auf das UIdoc zugreifen muss, oder????
Gruß Jörg
Wie sieht denn der restliche Code aus und wo hast Du diesen eingebunden?
Vorschlagen wuerde ich jedoch Folgendes.
Dim uiws As New NotesUIWorkspace
Dim doc as NotesDocument
Set doc = uiws.CurrentDocument.Document
Andreas