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 |
| |
| |
| |
| |
| If Instr(1, szStatus, "admin") > 1 Then |
| |
| allowEdit = False |
| Exit Sub |
| Else |
| If szStatus_docadmin="" And Instr(1, szStatus, "admin") > 1 Then |
| |
| allowEdit = False |
| Exit Sub |
| Else |
| If Instr(1, szStatus_docadmin, session.CommonUserName) > 1 Then |
| |
| 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 |
| |
| 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