Domino 9 und frühere Versionen > Entwicklung
Gegeben: Rolle -- Gesucht: wer hat alles diese Rolle
TMC:
OK, danke für die Einschätzung, Jens.
So wie ich das interpretiere, sollte ich mit der oben zitierten Überlegung (also dem Loopen durch session.AddressBooks) also nicht falsch liegen - zumindest bei Server-Anbindung.
Wie sieht das lokal aus - da hier nun wirklich die Replik der names.nsf wohl nicht immer so heißt? Ich denke ich muss das mal testen (und vielleicht wieder den Daumen rausnehmen, der diesen Thread als erledigt kennzeichnet -- da sich der Thread nun doch noch weiterentwickelt :D )
koehlerbv:
Matthias, mal so ein Schnellschuss-Codeschnipsel:
--- Code: ---NABs = session.AddressBooks
Forall b In NABs
If Not b Is Nothing Then
Call b.Open( "", "" )
If b.IsOpen Then
Set NABview = b.GetView ("($Networks)" ) 'this is a view only in public addressbooks!
If Not (NABview Is Nothing) Then 'do not process private address books!
Set NABview = b.GetView ("($NamesFieldLookup)")
If Not (NABview Is Nothing) Then 'strange - in a public NAB this view should exist, but ... don't process this case
Set NABdoc = NABview.GetDocumentByKey (GroupName, True)
If Not (NABDoc Is Nothing) Then 'we found a matching document!
If NABdoc.Type (0) = "Person" Then 'we found a person doc!
GetNABGroupMembers = NABdoc.Owner
Exit Function
End If
If NABdoc.Type (0) = "Group" Then 'we found a group!
GetNABGroupMembers = NABdoc.Members
Exit Function
End If
End If
End If 'of "($NamesFieldLookup) don't exist"
End If 'of "($Networks) don't exist"
End If
End If
End Forall
--- Ende Code ---
Nur ganz fix 'rauskopiert. Dem Algorithmus ist es vollkommen egal, ob das lokal oder auf dem Server läuft.
Morgen ahbe ich bestimmt wieder mehr Zeit ;)
Bernhard
koehlerbv:
--- Zitat von: koehlerbv am 23.12.04 - 00:34:29 ---Matthias, mal so ein Schnellschuss-Codeschnipsel:
--- Code: ---NABs = session.AddressBooks
Forall b In NABs
If Not b Is Nothing Then
Call b.Open( "", "" )
If b.IsOpen Then
Set NABview = b.GetView ("($Networks)" ) 'this is a view only in public addressbooks!
If Not (NABview Is Nothing) Then 'do not process private address books!
Set NABview = b.GetView ("($NamesFieldLookup)")
If Not (NABview Is Nothing) Then 'strange - in a public NAB this view should exist, but ... don't process this case
Set NABdoc = NABview.GetDocumentByKey (GroupName, True)
If Not (NABDoc Is Nothing) Then 'we found a matching document!
If NABdoc.Type (0) = "Person" Then 'we found a person doc!
GetNABGroupMembers = NABdoc.Owner
Exit Function
End If
If NABdoc.Type (0) = "Group" Then 'we found a group!
GetNABGroupMembers = NABdoc.Members
Exit Function
End If
End If
End If 'of "($NamesFieldLookup) don't exist"
End If 'of "($Networks) don't exist"
End If
End If
End Forall
--- Ende Code ---
Nur ganz fix 'rauskopiert. Dem Algorithmus ist es vollkommen egal, ob das lokal oder auf dem Server läuft.
Morgen habe ich bestimmt wieder mehr Zeit ;)
Bernhard
--- Ende Zitat ---
Navigation
[0] Themen-Index
[*] Vorherige Sete
Zur normalen Ansicht wechseln