Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Worn am 30.04.07 - 16:06:24

Titel: Aktuell angemeldeten User in NAB finden?
Beitrag von: Worn am 30.04.07 - 16:06:24
Hy,

ich brech mir gerade einen ab und wunder mich ob es nicht einfacher geht. Ich denke mir fehlt nur wieder der entscheidende Tipp. Ich möchte per Skript den angemeldeten User im Notes Adressbuch finden und dann dort einige Felder auslesen. Soweit ist das Handwerkszeug klar.

session.username =der session.commonusername

Das Problem was ich habe ist folgendes:

Es gibt User die a) mehrere Vornamen b)mehrere Nachnamen haben

Wenn ich nun nur aus dem CommonUserName den (vermeintlichen Nachnamen) auslese und dann mit :

db.getdocumentbykey

suche kann es sein das ich ihn nicht finde.

Beispei:

Hans-Juergen Toppa-Mueller

Wird mir der CommonUsername als:

Hans Juergen Toppa Mueller

zurückgegeben. Bei der Suche mit Mueller werde ich erschlagen, bei Toppa findet er evtl. auch mehrere und nur wenn ich nach Toppa Mueller suche finde ich denjenigen den ich brauche. Das Spiel kann man mit bis zu 3 Vor und 3 Nachnamen (Rekord bei uns) spielen.

Dann habe ich die Ansicht (versteckt) $People gefunden, wo in der 2 Spalte der komplette Username CN=..... abgebildet wird. Ich bekomme es aber nicht hin mit

db.getdokumentbykey

darauf abzufragen.

Last but not least habe ich es mit einer Schleife versucht. session.Username mit jedem Eintrag auf dem Server vergleichen in doc.fullname...... da brauch ich euch nicht zu erzählen wie lange das jeweils dauert, dafür ist es eindeutig!

Also, wie lös ich das oder wie habt ihr sowas gelöst? Muss ich wirklich ein Monster String zerhacke und abteste machen um daran zu kommen?


Ich danke euch mal wieder....

Ben
Titel: Re: Aktuell angemeldeten User in NAB finden?
Beitrag von: w3dev am 30.04.07 - 16:10:04
Hallo Ben. Ich glaub am einfachsten geht das ganze mit einer Formel (ausgeführt über Evaluate).

@NameLookup( [ Suchtyp ] ; Benutzername; Feld )

Siehe Notes Hilfe.


Gruß, Ronny
Titel: Re: Aktuell angemeldeten User in NAB finden?
Beitrag von: Worn am 30.04.07 - 16:18:23
Hy,

ja nur kann ich keine Formel nutzen, ich brauche Skript.  O0

Grüße
Ben
Titel: Re: Aktuell angemeldeten User in NAB finden?
Beitrag von: w3dev am 30.04.07 - 16:32:11
Kannst die Formel doch in dein Script einbauen und den Rückgabewert dann nach belieben im Script verwursten.

namerInfo = evaluate(|@NameLookup( [ Suchtyp ] ; Benutzername; Feld )|).


Gruß, Ronny
Titel: Re: Aktuell angemeldeten User in NAB finden?
Beitrag von: Worn am 30.04.07 - 16:33:24
Hy,

 ::) ajahhh  ;D das geht?? Okay ich probiere es aus!

Bedankt!

Ben
Titel: Re: Aktuell angemeldeten User in NAB finden?
Beitrag von: Worn am 30.04.07 - 16:48:58
Hmm,

kann ich leider nicht benutzen, ich brauch ja das richtige Dokument zurück um
später Felder auszulesen usw. Hier bekomm ich nur ne Textliste...

Danke trotzdem

Ben
Titel: Re: Aktuell angemeldeten User in NAB finden?
Beitrag von: MadMetzger am 30.04.07 - 16:51:09
Also, wenn du das Personendokument brauchst, kannst du mit der Ansicht ($People) in der names.nsf und einem NotesView.Search arbeiten.
Titel: Re: Aktuell angemeldeten User in NAB finden?
Beitrag von: w3dev am 30.04.07 - 16:54:31
Ich halte die Lösung über @nameLookup für die bessere, da hier autom. alle verbundenen Adressbücher durchsucht werden (Lokale + Server).


Gruß, Ronny
Titel: Re: Aktuell angemeldeten User in NAB finden?
Beitrag von: MadMetzger am 30.04.07 - 16:56:06
Kann schon sein, kommt aber auf den Kontext an. Vielleicht erzählt den Worn mal, dann kann man dazu was sagen...
Titel: Re: Aktuell angemeldeten User in NAB finden?
Beitrag von: koehlerbv am 01.05.07 - 14:28:26
Verstehe ich das Problem noch nicht, oder warum wird nicht einfach über die View "($Users)" ein

Set docPerson = viewUsers.GetDocumentByKey (session.UserName, True)

abgesetzt?

Bernhard
Titel: Re: Aktuell angemeldeten User in NAB finden?
Beitrag von: Worn am 02.05.07 - 15:41:40
Hy,

Zitat
Verstehe ich das Problem noch nicht, oder warum wird nicht einfach über die View "($Users)" ein

Set docPerson = viewUsers.GetDocumentByKey (session.UserName, True)

abgesetzt?

Bernhard

...Hmm das mag daran liegen, dass ich die Ansicht $Users nicht kannte oder nicht gesehen hab.
Das ist jedenfalls das einfachste und genau das was ich brauch!

Wieder mal perfekt! Dank an alle und besonders an Bernhard!

Grüße
Ben