@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