Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: chriss76 am 19.09.05 - 17:02:41

Titel: Initialien mit Lotusscript holen
Beitrag von: chriss76 am 19.09.05 - 17:02:41
Hallo,

sehe den Wald vor lauter Bäumen mal wieder nicht!

Ich brauche nur die Initialen des Commonusernames, aber
die Klasse NotesName bringt diese nicht mit, wwarum auch immer?

Welche Möglichkeit habe ich noch, um an die Initialien des Names zu kommen?

Ich könnte noch per Left den ersten Buchstaben des Commonnames holen, aber wie komme ich dann an den ersten Buchstaben des Nachnames?

Grüsse Chris
Titel: Re: Initialien mit Lotusscript holen
Beitrag von: chriss76 am 19.09.05 - 18:35:34
Hallo,

ich habe es jetzt so gelöst, aber schön ist das nun wirklich nicht, hat jemand trotzdem noch eine andere Idee?


nn_nachname = ns.Commonusername
help_string = Space(1) 'Leerzeichen
nn_nachname= Strright(nn_nachname, help_string,0,1)
nn_nachname = Left(nn_nachname, 1)

dann habe ich auch vom Nachnamen den ersten Buchstaben, aber wer weiss
was ich mir damit noch so für Probleme einhandle!?
Hat jemand eine bessere Idee?

Grüsse Chris
Titel: Re: Initialien mit Lotusscript holen
Beitrag von: mibo11 am 19.09.05 - 21:20:53
string$ = notesName.Initials

aus der Klasse NotesName

Gruß Sascha
Titel: Re: Initialien mit Lotusscript holen
Beitrag von: chriss76 am 19.09.05 - 21:58:46
Hallo Sascha,

leider liefert mir die Notesklasse NotesName
keine Initialien, warum auch immer!

Grüsse Chris
Titel: Re: Initialien mit Lotusscript holen
Beitrag von: koehlerbv am 19.09.05 - 22:59:44
Zweifellos verfügt die NotesName-Klasse über zahlreiche Properties, deren Sinnhaftigkeit sich wirklich nicht erschliesst. NotesName.Initials ist eine von etlichen offensichtlich nutzlosen Properties, die leere Strings zurückgeben.

Dein Ansatz ist sicherlich erstmal nicht von der Hand zu weisen, Chris.
Allerdings: Was verstehst Du konkret unter Initialen ?
Hein Blöd = HB. Okay, das ist nachvollziehbar.
Wie sind aber Deine Regeln für
- Oskar Maria Graf
- Jasmine Lacroisse-Schulze
- Klaus-Bärbel Wurzelbürst
- Egon Fürst Ferkel zu Randsau

Wenn wir Deine Kriterien kennen, dann könnte man leichter Empfehlungen abgeben.

Bernhard
Titel: Re: Initialien mit Lotusscript holen
Beitrag von: chriss76 am 20.09.05 - 07:38:18
Hallo Bernhard,

beim Anlegen neuer Bestellungen als Notesdokument muss eine eindeutige Nummer
vergeben werden. Diese Nummer will ich per Lotusscript generieren.
Dazu nehme ich den Zeitpunkt der Dokumentenerstellung(Datum, Uhrzeit) + die Initialien (also Hein Blöd ==> HB)
des Dokumentenerstellers (Commonusername).

Das ist meine Aufgabenstellung!
Und Du hast natürlich Recht, dann wird es Probleme mit Doppelnamen usw. geben.

Hast für dieses Problem noch eine andere Lösung?
Leider kann ich die Art der Nummernvergabe nicht ändern, weil sie schon länger so besteht (mit Hilfe von Formeln), aber ich will sie in Lotusscript abbilden.

Die Formel sieht so aus:

monat:=@If(@Month(@Now)<10;"0" + @Text(@Month(@Now));@Text(@Month(@Now)));
tag:= @If(@Day(@Now)<10;"0" + @Text(@Day(@Now));@Text(@Day(@Now)));
std:=@If(@Hour(@Now)<10;"0" + @Text(@Hour(@Now));@Text(@Hour(@Now)));
min:=@If(@Minute(@Now)<10;"0" + @Text(@Minute(@Now));@Text(@Minute(@Now)));
sek:=@If(@Second(@Now)<10;"0" + @Text(@Second(@Now));@Text(@Second(@Now)));

@Left(@Name([CN];@UserName);1) + @Left(@Right(@Name([CN];@UserName);" ");1) + @Text(@Year(@Now)) +monat + tag + std + min + sek
aber ich brauche es in Lotusscript!

Grüsse Chris


Leider kann
Titel: Re: Initialien mit Lotusscript holen
Beitrag von: umi am 20.09.05 - 08:30:01
evtl. den Teil mit dem @username einfach in ein Evaluate packen?
Titel: Re: Initialien mit Lotusscript holen
Beitrag von: Thomas Schulte am 20.09.05 - 08:52:36
Man könnte auch den linken Teil von @unique nehmen.
Da wird der Name des aktuellen Benutzers verwendet und zwar in der Form, das der erste Buchstabe des Vornamens, die ersten beiden Buchstaben des Nachnamens und der letzte Buchstabe des Nachnamens verwendet wird.
Uniquenumber = Evaluate(|@unique|)
Initials = Left(Uniquenumber,2)

Wobei ich an deiner Stelle auch über den Sinn dieser Nummernvergabe nachdenken würde.
@Unique ist da dann als Ganzes doch deutlich einfacher.
Titel: Re: Initialien mit Lotusscript holen
Beitrag von: diali am 20.09.05 - 08:53:40
Code
dim session as New NotesSession
monat = right( "00" & Month(Now), 2)
tag = right( "00" & Day(Now), 2)
std = right( "00" & Hour(Now), 2)
min = right( "00" & Minute(Now), 2)
sek = right( "00" & SecondDay(Now), 2)

x = 0
i = 1
while x = 0
  If Asc(right(session.CommonUsername, i)) = asc(" ") then
    x = (length(session.CommonUsername) - i) + 1
  end if
  i = i + 1
Wend

left(Session.CommonUserName,1) & left(right(session.CommonUserName, x),1) & Year(Now) & monat & tag & std & min & sek

habs nicht getestet - eventuell muss x noch um eine Stelle korigiert werden.

Doppelte Vornamen mit einem Space würde ich vermeiden, wir haben da beim Umbenennen schon massive Probleme bekommen, weil Notes dann nur den ersten Vornamen als Vornamen und den Rest als Nachnamen verwendet.
Titel: Re: Initialien mit Lotusscript holen
Beitrag von: klaussal am 20.09.05 - 08:54:44
Ich hab das mal so gelöst:

Code
__number:=@ReplaceSubstring(@Text(@Time(@Now));":";"")
+"-"+ @ReplaceSubstring(@Text(@Date(@Today));".";"");
_supporter:=@Name([CN];@UserName);
_RequestNumber:=
@UpperCase(@Left(@Word(_supporter; " "; 1); 2) +
@Left(@Word(_supporter; " "; 2); 1)) +
_number;
OrderNumber := OrderNumber;
@If(@IsNewDoc;@SetField("OrderNumber";_RequestNumber);"");
@Command( [FileSave] )

Wird über eine Schaltfläche "Speichern" ausgelöst.

Das ergibt z.Bsp. so etwas: AXW092143-27082004
Titel: Re: Initialien mit Lotusscript holen
Beitrag von: animate am 20.09.05 - 14:03:14
NotesName.Initials ist eine von etlichen offensichtlich nutzlosen Properties, die leere Strings zurückgeben.

Das stimmt nicht zwangsläufig.
Denn laut Hilfe:
This property returns an empty string for a hierarchical name with no initials component.

This property returns an empty string for an Internet or flat name.

A name created through Domino administration does not contain an initials component.

D.h. die Methode berechnet die Initialen nicht selbst, sondern die müssen von irgendjemandem mal angegeben worden sein. Ähnlich verhält es sich wohl bei den anderen Komponenten, die du meinst.
Titel: Re: Initialien mit Lotusscript holen
Beitrag von: chriss76 am 22.09.05 - 14:27:21
Hallo an alle und vielen Dank,

ich habe es mit der Lösung von diali hinbekommen!

Danke nochmal an alle!

Grüsse Chris