Hallo zusammen,
In einer Maske gibt es einen Abschnitt "Problemstatus".
In diesem Abschnitt darf nur derjenige einen Feldwert ändern der die Rolle "Problemstatus" hat. Das funktioniert aber nur wenn die Rolle in der ACL der Datenbank dem User zugewiesen wurde. Nun soll aber auch ein User den Wert ändern, nur für das aktuelle Dok, der die Rolle normalerweise nicht hat.
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Set uidoc=ws.CurrentDocument
Dim session As New NotesSession
Dim db As NotesDatabase
Set db=session.CurrentDatabase
Dim acl As NotesACL
Dim entry As NotesACLEntry
Set acl = db.ACL
Set entry = acl.GetEntry( session.UserName )
If entry.IsRoleEnabled("[AL]") Then
If Not entry.IsRoleEnabled( "[Problemstatus]" ) Then
Call entry.EnableRole( "[Problemstatus]" )
Call uidoc.FieldSetText("Problemstatus","angefordert")
Call entry.DisableRole( "[Problemstatus]" )
End If
End If
Woran kann das liegen.Im Debugger sehe ich, das disem User die Rolle korrekt zugewiesen wird, wenn er die Rolle AL schon hat und die Rolle Problemstatus nocht nicht. Trotzdem kann der User das Feld nicht ändern. Fehlermeldung.
"Das Feld kann nicht geändert werden"