Hallo,
wir haben ein Zeiterfassungssystem, in dem automatisch die Pausen je nach geleisteten Stunden abgezogen werden. Das soll aber bei externen Mitarbeiter nicht passieren. Dafür haben wir eine Rolle definiert, bei der die Pause nicht abgezogen wird und diese Rolle wurde einer Gruppe zugewiesen. Alles OK bis dahin.
Mit diesem Script ermittel ich die Rollen und kann demnach beim Speichern eine Pause abziehen oder nicht.
Dim check As String
roles = Evaluate({@UserRoles})
check = "[ohne Pause]"
Forall role In roles
If role = check Then
pauseabziehen = 1
Exit Forall
End If
End Forall
Wenn jetzt aber die Verwaltung das Dokument nochmal speichern muss, weil ein Kommentar gefehlt hat oder sonst was, werden die Rollen wieder ermittelt und diesmal Pause abgezogen, weil die Verwaltung diese Rolle ja nicht besitzt.
Nun meine Frage: Wie kann ich die Rollen anhand eines Namens ermitteln und nicht die Rollen des aktuellen Benutzers?
Ich habe es mal mit Script und der NotesACL-Klasse probiert, aber dort habe ich das Problem, dass ich die Gruppen dafür extra auflösen muss, was während des Speicherns zu langen Wartezeiten führt und von den Mitarbeitern so natürlich nicht akzeptiert wird.