Domino 9 und frühere Versionen > ND6: Entwicklung
Userroles - Scriptfehler
wuwu:
Hallo,
habe folgendes Script:
Sub Click(Source As Button)
On Error Goto ErrorHaendler
Dim session As New NotesSession
Dim ws As New NotesUIWorkspace
Dim doc As NotesDocument
Dim uidoc As NotesUIDocument
Dim db As notesdatabase
Dim count As Integer
Set uidoc=ws.CurrentDocument
Set doc = uidoc.Document
Set db = doc.ParentDatabase
If ws.Prompt(Prompt_YESNO,"Neuzuweisung?",_
"Wollen sie?") = 0 Then
Exit Sub
Else
Dim acl As NotesACL
Dim entry As NotesACLEntry
Set acl = db.ACL
Set entry = acl.GetEntry(session.UserName)
Forall role In entry.Roles
entryRole = entryRole & role
End Forall
Select Case entryRole
Case "[Test]" :
doc.department_detail = "v_P"
........ usw.
Wenn der User einzeln in der ACL ist funktioniert das auslesen der Rolen, wenn der User aber in einer Gruppe ist bekomme ich in der Zeile :
Forall role In entry.Roles
die Fehlermeldung: Variable not set.
Wie kann ich die Userrole auslesen wenn der User einer Gruppe angehört?
dirk_2909:
Hallo,
mit
Set entry = acl.GetEntry(session.UserName)
holst Du einen bestimmten Eintrag in der ACL.
Ich würde über alle Einträge der ACL laufen.
Wenn es ein Namenseintrag ist, kannst Du den Wert direkt mit session.UserName vergleichen.
Wenn es ein Gruppenname ist, musst Du erst aus dem DD alle Members holen und dann jeden einzelnen Member mit session.UserName vergleichen.
Dirk
rar:
Du könntest aber auch mit
Dim rollen As Variant
rollen = Evaluate( "@Userroles" )
die UserRoles des Users in ein Array schreiben und dann damit weiter arbeiten.
dirk_2909:
:-[ Evaluate habe ich gar nicht in betracht gezogen :(
Ist natürlich schneller ;D
wuwu:
Ja, das hab ich auch schon probiert:
Dim rollen As Variant
rollen = Evaluate( "@Userroles" )
Msgbox rollen
Fehler: Type mismatch bei Zeile msgbox rollen
Im Debuger zeigt er mir die Rolle von mir an, gibt Sie mir aber nicht aus, warum?
2)
Wie kann ich dann alle Usernamen auslesen von der ACL, auch wenn Sie in einer Gruppe sind?
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln