Domino 9 und frühere Versionen > Entwicklung

Verständnisproblem @Author/@Username

<< < (2/2)

Escort:

--- Zitat von: Semeaphoros am 23.03.04 - 17:46:56 ---Das sind ja alles Vorgabewerte, sprich, die ziehen eh nur, wenn das Dokument neu ist, damit geben die beiden Funktionen denselben Namen, schliesslich wird ja der @username, der aktuell angemeldete User, beim Erstellen des Dokumentes als erster Autor registriert.

--- Ende Zitat ---

also lt. Hilfe steht wörtlich:
++ @Author  Gibt eine Textliste mit den Namen der Autoren des aktuellen Dokuments zurück.
++ @UserName  Liefert den aktuellen Benutzer- oder Server-Namen zurück.

D.h. also, als Vorgabewert ist es egal, was ich verwende!
@Author liefert mir also eine Autoren-Historie eines Dokuments - sprich, ich könnte nachschauen, welche Benutzer nacheinander ein Dokument bearbeitet haben (was mir @Username nicht liefert!)?

koehlerbv:
@UserName: Benutzername laut ID, mit der der jeweilige Code ausgeführt wird (daher kann dies auch der Servername oder ein beliebiger anderer Name, wenn der Code durch einen Agent auf dem Server ausgeführt wird und dieser Agent die Neuberechnung von Feldern einer Maske erzwingt (z.B. NotesDocument.ComputeWithForm).

@Author: Ein ziemlich unnütze @function, denn sie gibt je nach Kontext ganz andere Werte zurück (siehe DesignerHelp), wie zum Beispiel den Inhalt des ersten (!!!) Autorenfeldes, oder den Inhalt von $UpdatedBy (der mit Vorsicht zu geniessen ist) oder den Inhalt des Feldes From oder den aktuellen Benutzernamen lt. ID.
Vergiss @Author einfach wieder. Vor allem ist das Teil für eine Dokumenthistorie unbrauchbar.

Wann Du nun @UserName einsetzt, hängt stark von Deinen Anforderungen ab. An Hand Deiner Beispiele:

From:  Wenn da der aktuelle Benutzer stehen soll -> @UserName, und das Feld sollte dann i.d.R. Berechnet beim Anlegen sein

- AllAuthors:  Typ: Autoren - Bearbeitbar -- Vorgabewert: @Username kann man nehmen. Schreibst Du dort nix rein, nimmt Notes automatisch den namen des aktuellen Users (logisch). Für AllAuthors errscheint mir das aber unlogisch - "All" impliziert ja einen anderen Zweck für das Feld. Hier sollte man mit Rollen arbeiten, wenn AllAuthors immer wieder die selben Leute sind, oder man braucht eine manuelle oder automatische Methode, das Feld zu füllen.
Es ist ja - je nach Umstand - auch nicht zwingend, dass der akt. User nach der Erstellung des Dokuments dieses auch nochmal bearbeiten darf.

- LastUpdateBy: @UserName (soll dies eine Historie werden, dann ist @UserName der schon vorhandenen Liste hinzuzufügen)

HTH - und gib der DesignerHelp eine Chance.

Bernhard

Semeaphoros:
Ja, Bernhard, das ist wirklich eine nützliche Uebersicht und die Bemerkungen zu @Author und $UpdatedBy können nicht genügend unterstrichen werden.

Navigation

[0] Themen-Index

[*] Vorherige Sete

Zur normalen Ansicht wechseln