Domino 9 und frühere Versionen > ND7: Entwicklung

Sortierte Zugriffsliste beim Autorenfeld

(1/1)

masptv:
Hallo liebe Community,

leider bin ich mit meinem Problem überfragt. Hab bereits das ganze Forum durchforstet und nach einer Lösung gesucht, leider ohne Erfolg!

Zur Problemstellung:

Ich habe in einer Maske ein Autorenfeld angelegt und verwende die Zugriffskontrolliste zur Auswahl. Durch die Menge an unsortierten Benutzern ist die Liste aber sehr unübersichtlich.
Gibt es eine Möglichkeit die Zugriffskontrolliste sortieren zu lassen? Oder ein Denkanstoss für eine eigene Zugriffsliste?

Vielen Dank für eure Hilfe schonmal im Voraus

ascabg:
Hallo,

Entweder kann ich nicht mehr richtig sehen, aber bei mir ist die ACL sortiert.

Eigene Zugriffsliste wuerde ein kleines Stuecken eigenen Code erfordern.


Andreas

masptv:
danke erstmal für die schnelle antwort!

also.. wenn ich mir die Zugrifssliste (ZL) ansehe "Datenbank-Zugrifssliste",
dann sind die Einträge auch sortiert, schön nach dem Vornamen (unsere konvention
Vorname Nachname/SB/EHG/FIRMA/DE".

Nur leider eben nicht, wenn ich die ZL für das Autorenfeld verwende.
Der User sieht das Schlüsselfeldauswahlfenster .. alle Einträge weder nach
Vorname noch irgendetwas anderem sortiert!

dann werd ich mich mal umsehen ob ich etwas zum "Eigenbau" finde..
wenn jemand einen tipp/link zum thema weiß, wäre superklasse !

sloe:
Hi,
Quick-and-Dirty, eine von vielen Möglichkeiten:

In der Maske verstecktes Feld "ACLAuswahl" füllen:


--- Code: ---Sub Postopen(Source As Notesuidocument)
Dim session As New NotesSession
Dim db As NotesDatabase
Set db = session.CurrentDatabase
Dim dbAcl As NotesACL
Set dbAcl = db.ACL
Dim aclEntry As NotesACLEntry
Set aclEntry = dbAcl.GetFirstEntry
Dim ACLAuswahl As String
Dim aclName As NotesName
While Not ( aclEntry Is Nothing )
Set aclName = session.CreateName( aclEntry.Name)
ACLAuswahl = ACLAuswahl & aclName.Abbreviated & ","
Set aclEntry = dbAcl.GetNextEntry( aclEntry )
Wend
Call Source.FieldSetText("ACLAuswahl", ACLAuswahl)

End Sub
--- Ende Code ---

und im eigentlichen Auswahlfeld "Formel für Auswahl verwenden":
@Sort(ACLAuswahl)

Läßt sich noch verfeinern, z. B. vorher Server/Gruppen rausnehmen
            entryUsertype = aclEntry.UserType
            Select Case entryUsertype
            Case 0 :
               UserType = "Unspecified"
            Case 1 :
               UserType = "Person"
            Case 2 :
               UserType = "Server"
            Case 3 :
               UserType = "Mixed Group"
            Case 4 :
               UserType = "Person Group"
            Case 5 :
               UserType = "Server Group"
            End Select

oder an Hand des Namens -Default- oder Anonymous entfernen, etc.

Viel Spaß!

Navigation

[0] Themen-Index

Zur normalen Ansicht wechseln