Autor Thema: derzeitigen User auslesen  (Gelesen 10769 mal)

Offline mattu82

  • Frischling
  • *
  • Beiträge: 23
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
derzeitigen User auslesen
« am: 06.01.04 - 14:06:14 »
Hi,

hab nen Problemchen mit dem Auslesen des User, der derzeit ein Dokument bearbeitet.

Bisher lese ich den User mit
UserName = session.EffectiveUserName
aus.
Allerdings wird gewünscht, dass ich den User über getAbbreviated herausfinde, da das Format, das wiedergegeben wird vorteilhafter ist.
Allerdings weiß ich nicht, wie ich das Anstellen soll, da auch die Hilfe keine Hinweise geben konnte.
Zurzeit arbeite ich mit Lotus Script.

Kann  mir jemand nen Tipp geben, wie ich den derzeitigen User mit dem getAbbreviated auslesen kann??

Offline animate

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.540
  • Uh, I'm just gonna go find a cash machine.
    • LA2
Re:derzeitigen User auslesen
« Antwort #1 am: 06.01.04 - 14:18:00 »
Vermutung:
du holst dir den Namen von deinem Session Objekt mit s.Username
erzeust ein NotesName-Objekt und übergibts ihm den Namen
set nn = new NotesName(s.UserName)

dann bekommst du das was du willst von dem Abbreviated-Attribut der NotesName-Klasse

sName = nn.Abbreviated


Ach übrigens: das hab ich aus der Hilfe  ;D
« Letzte Änderung: 06.01.04 - 14:21:14 von potsmoker »
Thomas

Fortunately, I'm adhering to a pretty strict, uh, drug, uh, regimen to keep my mind, you know, uh, limber.

Offline mattu82

  • Frischling
  • *
  • Beiträge: 23
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re:derzeitigen User auslesen
« Antwort #2 am: 06.01.04 - 14:24:45 »
um vermutungen überflüssig zu machen hier der Code

Sub Queryopen(Source As Notesuidocument, Mode As Integer, Isnewdoc As Variant, Continue As Variant)
   Dim session As New NotesSession
   Dim session1 As New NotesSession
   Dim db As NotesDatabase
   Dim db1 As NotesDatabase
   Dim doc As NotesDocument
   Dim NotesDocument As NotesUIDocument
   Dim UserName As Variant
   Set db = session.CurrentDatabase
   UserName = session.EffectiveUserName
   Set db1 = New NotesDatabase ("server",  "names.nsf")
   Set doc = view.GetDocumentByKey( UserName )
End Sub

wenn ich das Programm im debugger ablaufen lasse, zeigt er in den session variablen (session und session1) schon die falschen werte an, hier sollten die mit getAbbreviate geholten Werte drinstehen, dass man nachher damit weiterarbeiten kann.

mfg
mattu


Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:derzeitigen User auslesen
« Antwort #3 am: 06.01.04 - 14:29:45 »
Das geht, man kann aber auch direkt NotesSession.CommonUserName verwenden.

oder man greift das Object NotesSession.UserNameObject ab, statt ein neues NotesName-Object selber zu instanziieren.
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline mattu82

  • Frischling
  • *
  • Beiträge: 23
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re:derzeitigen User auslesen
« Antwort #4 am: 06.01.04 - 14:37:02 »
heißt das, dass ich die zeile
UserName = session.EffectiveUserName

ändern muss das sie nachher so aussieht:
UserName = NotesSession.UserNameObject

oder hab ich dich da falsch verstanden?
muss ich noch irgendwas deklarieren oder reicht es einfach aus die zeile zu verändern?

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:derzeitigen User auslesen
« Antwort #5 am: 06.01.04 - 14:40:24 »
UserNameObject musst Du einer Variablen zuweisen, die als NotesName - Objekt dimensioniert ist (oder Variant natürlich), weil das ein Objekt zurückgibt.  Hingegen das geht:

UserName = NotesSession.CommonUserName

Ueber das Objekt dann lieber so:

Dim nn as NotesName

Set nn = NotesSession.UserNameObject
UserName = nn.Abreviated
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline mattu82

  • Frischling
  • *
  • Beiträge: 23
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re:derzeitigen User auslesen
« Antwort #6 am: 06.01.04 - 14:47:09 »
Danke für die Antworten ich werd mir das mal zu gemüte führen und mich morgen nochmal melden.

Offline animate

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.540
  • Uh, I'm just gonna go find a cash machine.
    • LA2
Re:derzeitigen User auslesen
« Antwort #7 am: 07.01.04 - 21:37:51 »
cool. UserNameObject Attribut kannte ich noch gar nicht.
Abgesehen davon, dass im zweiten Post dieses Threads wohl schon ne Lösung steht , wäre mit diesem Attribut ein einzeiler möglich

UserName = NotesSession.UserNameObject.Abbreviated
Thomas

Fortunately, I'm adhering to a pretty strict, uh, drug, uh, regimen to keep my mind, you know, uh, limber.

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:derzeitigen User auslesen
« Antwort #8 am: 07.01.04 - 21:47:58 »
Richtig, wobei das dann dasselbe ist wie

UserName = NotesSession.CommonUserName


Notes ist immer wieder mal gut dafür, dass man neue Bekanntschaften machen kann ..... mit Attributen oder so ...  :D
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline animate

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.540
  • Uh, I'm just gonna go find a cash machine.
    • LA2
Re:derzeitigen User auslesen
« Antwort #9 am: 07.01.04 - 22:19:01 »
Kennt jemand vielleicht eine Erklärung der einzelnen Namensvarianten (Common, Abbreviated und die anderen 1000) mit einem durchgängigen Beispiel?

Ich habe davon absolut wenig Ahnung und würde mir das gerne mal anschauen. Aber in der Designer Hilfe ist mir das zu trocken, weil ohne Beispiel (zumindest habe ich das nicht gefunden)
Thomas

Fortunately, I'm adhering to a pretty strict, uh, drug, uh, regimen to keep my mind, you know, uh, limber.

Offline animate

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.540
  • Uh, I'm just gonna go find a cash machine.
    • LA2
Re:derzeitigen User auslesen
« Antwort #10 am: 07.01.04 - 22:29:51 »
Richtig, wobei das dann dasselbe ist wie

UserName = NotesSession.CommonUserName


noch was.
das würde also bedeuten

NotesSession.UserNameObject.Abbreviated = NotesSession.CommonUserName
(das ist eine Gleichung keine Zuweisung)

In der NotesName-Klasse gibt es zwei Attribute:
Abbreviated und Common.
aber ich denke die Gleichung
NotesName.Abbreviated = NotesName.Common
ist falsch.
Oder nicht.
Ich bin verwirrt.
ist das CommonUserName von NotesSession etwas anderes als Common von NoteName???
???

Thomas

Fortunately, I'm adhering to a pretty strict, uh, drug, uh, regimen to keep my mind, you know, uh, limber.

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:derzeitigen User auslesen
« Antwort #11 am: 07.01.04 - 22:30:13 »
Unter @Name Beispiel schonmal beispielhaft ein paar aufgeführt:

Zitat
Beispiele: @Name  

  1.   Dieses Beispiel gibt Maria Zenker/Illustration/ Dokumentation/Entwicklung/F&E/Acme/DE zurück,
@Name([Abbreviate];AUTOR)
wenn ein Benutzer ein Dokument liest, dessen Feld "AUTOR" den Namen von Maria Zenker in hierarchischer Form enthält.
  2.   Dieses Beispiel gibt Maria Zenker zurück.
@Name([Canonicalize];"Maria Zenker")
Da auf den Namen kein Schrägstrich folgt, handelt es sich hierbei um einen nicht hierarchischen Namen ohne zusätzliche Namensbestandteile.
  3.   Dieses Beispiel gibt CN=Maria Zenker/ OU=Illustration/OU=Dokumentation/OU=Entwicklung/OU=F&E/O=Acme/C=DE zurück, wenn das die aktuelle Benutzer-ID ist. Der Name wird um die hierarchischen Komponenten der aktuellen Benutzer-ID ergänzt; es findet keine Suche im Adreßbuch statt.
@Name([Canonicalize];"Maria Zenker/")
  4.   Dieses Beispiel gibt "Maria Zenker" in einem Dialogfeld zurück, falls das Feld "AUTOR" des Dokuments folgendes enthält: CN=Maria Zenker/OU=Illustration/O=Acme.
@Prompt([OK]; "Allgemeiner Name"; @Name([CN]; AUTOR))
  5.   Dieses Beispiel gibt Entwicklung zurück.
@Name([OU2];AUTOR)
  6.   Dieses Beispiel gibt US\Acme\F&E\Entwicklung\Dokumentation\Illustration zurück. Die gewöhnlichen Schrägstriche wurden durch umgekehrte Schrägstriche ersetzt. Damit können die Namensbestandteile in einer Ansicht als Unterkategorien verwendet werden. Der allgemeine Namensbestandteil wird nicht zurückgegeben
@Name([ToKeyword];AUTOR)
  7.   Dieses Beispiel gibt DStreitfeld zurück, falls das Feld "User_Name" die Internet-Adresse im RFC822-Format enthält: "Streitfeld, Dorothee (Miami)" <DStreitfeld@gazette.com>.
@Name([LP];User_Name)
  8.   Dieses Beispiel gibt "Streitfeld, Dorothee (Miami)" zurück, falls das Feld "User_Name" die Internet-Adresse im RFC822-Format enthält: "Streitfeld, Dorothee (Miami)" <DStreitfeld@gazette.com> .
@Name([Phrase];User_Name)
  9.   Dieses Beispiel gibt DStreitfeld@gazette.com zurück, falls das Feld "User_Name" die Internet-Adresse im RFC822-Format enthält: "Streitfeld, Dorothee (Miami)" <DStreitfeld@gazette.com> .
@Name([Address821];User_Name)
 10.   Dieses Beispiel gibt Cam/Lotus zurück, falls das Feld "User_Name" John Doe/Cam/Lotus enthält.
@Name([HierarchyOnly];User_Name)

Auch wenn hier nicht immer (?) Parallelen zum Script gezogen werden können?

Freue mich auch auf weitere Beispiele

TMC
« Letzte Änderung: 07.01.04 - 22:31:42 von TMC »
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline animate

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.540
  • Uh, I'm just gonna go find a cash machine.
    • LA2
Re:derzeitigen User auslesen
« Antwort #12 am: 07.01.04 - 22:49:10 »
Ahh Danke. :D
Also Abbreviated ergibt sowas wie

Maria Zenker/Illustration/ Dokumentation/Entwicklung/F&E/Acme/DE

Das Bsp zu Session.CommonUserName sagt

For example, if user Stew Malone/Editorial/Acme clicks the button, the CommonUserName property returns "Stew Malone"

also diese beiden Beispiele zeigen mir, dass die Aussage
Zitat
Richtig, wobei das [NotesSession.UserNameObject.Abbreviated] dann dasselbe ist wie

UserName = NotesSession.CommonUserName

nicht richtig sein dürfte.
Oder?
PS: das soll keine Klugscheißerei sein. Ich bin nur interessiert und kenne mich mit diesem Namenszeug nicht so gut aus.
« Letzte Änderung: 07.01.04 - 22:50:38 von potsmoker »
Thomas

Fortunately, I'm adhering to a pretty strict, uh, drug, uh, regimen to keep my mind, you know, uh, limber.

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:derzeitigen User auslesen
« Antwort #13 am: 07.01.04 - 22:57:08 »
Sorry Leute, jetzt war ich aber falsch eingespurt

Abbreviated und CommonUserName ist nicht dasselbe. Der Abbreviated ist vollständig, in der uns am häufigsten auftretenden Form mit den // drin und ohne doe O= OU= C= usw.

Bin grad am schauen, wo eine gute Uebersicht über die Namensgeschichte zu finden ist.
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:derzeitigen User auslesen
« Antwort #14 am: 07.01.04 - 22:58:05 »
Potsmoker, das hat mich auch gewundert (also die Aussage von Jens).

Weil ja imho der [CN] der common name ist und [Abbreviate] eben wat viiiiel längeres .

Wäre aber interessant zu wissen, ob sich da Formel und Script unterscheiden....

TMC

*Edit* ups zu langsam, Jens hat vor mir gepostet ohne dass ich sein Posting gelesen hab  ::)
« Letzte Änderung: 07.01.04 - 22:59:31 von TMC »
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:derzeitigen User auslesen
« Antwort #15 am: 07.01.04 - 23:08:09 »
Das war aber schon ein Foto-Finish .....  ;)
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:derzeitigen User auslesen
« Antwort #16 am: 07.01.04 - 23:15:12 »
msgbox "Wo bleibt eigentlich Deine Augustiner-Spende Jens, nachdem Du vorhin die 2222 als Beitragszahl hattest"
msgbox "In Bayern heißt das 'Schnappszahl' und derjenige muss eine Runde Y Y Y springen lassen :-)"
print "Off Topic sauber im Script versteckt damit hier nix rauscht :-)"
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:derzeitigen User auslesen
« Antwort #17 am: 07.01.04 - 23:23:59 »
msgbox " Y Y Y für die anwesenden Gäste "
msgbox " Y Y Y Y Y Y für die anwesenden Mitglieder "


msgbox " .... und PROST .... mit einem Schuss Schnaps für die Schnapszahl "


msgbox _
   " 3 Gäste, 6 Mitglieder" + _
   " Semeaphoros, killinspree, TMC, skywook, AnaisNin, Thomator "
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:derzeitigen User auslesen
« Antwort #18 am: 07.01.04 - 23:33:37 »
Dim szAugustiner As String
szAugustiner= |  

Herzlichen Glückwunsch Jens zum 2222er

     Prost  ;D|

msgbox (szAugustiner)
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:derzeitigen User auslesen
« Antwort #19 am: 08.01.04 - 00:05:23 »
Class objFeiern
   Private strDanke As String

   Sub New
      strDanke = |
                 Ein ganz herzliches Dankeschön
                  ;D |
   End Sub
   
   Sub print
      Msgbox strDanke
   End Sub
End Class

   Dim feiern As objFeiern
   Set feiern = New objFeiern
   Call feiern.print
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz