NetModifier ist eine ROLLE. Rollen findest Du in der ACL (Zugriffskontrollliste der Datenbank) Rollen werden verwendet, um Personen, Gruppen, oder anderen Objekten Zugriff auf Dokumente ( und auch andere Objekte ) in einer Datenbank zu gewähren, ohne den Personen individuell die Berechtigung geben zu müssen.
Verhält sich wie die Berechtigungen einer Abteilung. Du wechselst z.B vom Einkauf in die IT. Der Admin löscht deine Rolle EINKAUF und gibt Dir die Rolle IT, Damit bekommst du ohne grossen Aufwand alle Berechtigungen, die Du für die Arbeit in der IT benötigst. Gleichzeitig werden die Die Berechtigungen des Einkaufs genommen.
In der names.nsf gibt es zahlreiche Rollen, die die Zugriffe steuern. Gucke mal in die ACL.
In der Maske für die MailInDatenbank gibt es ein Item (Feld) "DocumentAccess". Das ist vom Typ AUTHOR und Computed when composed. Der Vorgabewert wird in einer umfangreichen Formel ermittelt. Dabei wird der Wert anhand der Maske ermittelt,
Was die Namen bestimmter Werte angeht, hast Du das ja schon gut beschrieben. Historisch gewachsen halt.
Ein berechnetes Feld wird automatisch anhand der Vorgaben dem Dokument hinzugefügt, wenn es gespeichert wird.
Und da kommt jetzt bezogen auf Deinen Code die Methode ComputeWithForm der Klasse NotesDocument ins Spiel. (
https://help.hcltechsw.com/dom_designer/9.0.1/appdev/H_COMPUTEWITHFORM_METHOD.html)
Wenn Du die vor dem Call doc.save ausführst, dann werden automatisch alle Felder entsprechend ihren Vorgaben gesetzt, auch wenn Du sie nicht explizit über Deinen Code hinzufügst.