Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Escort am 23.03.04 - 17:22:03
-
Hallo Spezialisten...
....ich habe ein kleines Verständnisproblem, bei der mir sicher jemand helfen kann.
Also, es gibt Felder vom Typ:
++ Namen: OK, damit kann ich eine komfortable Adessaten-Auswahl machen.
++ Autoren/Leser: OK, zum Steuern, welche Benutzer Dokumente lesen/bearbeiten dürfen
-->Was mir jetzt unklar ist:
Wann verwende ich @Author bzw. @Username – was ist eigentlich der Unterschied? Habe zwar herumexperimentiert und in der Hilfe nachgeschaut, so richtig schlau bin ich aber nicht geworden.
Danke für Eure Antworten.
Robert
-
was steht denn in der Hilfe zu den beiden Funktionen und was verstehst du daran nicht?
-
was steht denn in der Hilfe zu den beiden Funktionen und was verstehst du daran nicht?
naja ganz einfach - angenommen, ich habe in einer Maske 3 Felder:
- From: Typ: Namen - Berechnet beim Anlegen -- Wert: Verwende ich jetzt @Author oder @Username?
- AllAuthors: Typ: Autoren - Bearbeitbar -- Vorgabewert: Verwende ich jetzt @Author oder @Username?
- LastUpdateBy: Typ: Namen - Bearbeitbar -- Vorgabewert: Verwende ich jetzt @Author oder @Username?
-
was steht denn in der Hilfe zu den beiden Funktionen und was verstehst du daran nicht?
naja ganz einfach - angenommen, ich habe in einer Maske 3 Felder:
- From: Typ: Namen - Berechnet beim Anlegen -- Wert: Verwende ich jetzt @Author oder @Username?
- AllAuthors: Typ: Autoren - Bearbeitbar -- Vorgabewert: Verwende ich jetzt @Author oder @Username?
- LastUpdateBy: Typ: Namen - Bearbeitbar -- Vorgabewert: Verwende ich jetzt @Author oder @Username?
das kommt ganz darauf an, was die Felder anzeigen sollen.
ich kann die beiden Funktionen nicht besser erklären als die Hilfe. Aber wenn du sagst, was du genau nicht verstehst, dann kann ich versuchen, es zu klären
-
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.
-
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.
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!)?
-
@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
-
Ja, Bernhard, das ist wirklich eine nützliche Uebersicht und die Bemerkungen zu @Author und $UpdatedBy können nicht genügend unterstrichen werden.