Ein Compose (egal, ob Formel oder Script) erstellt ein neues Dokument mit der angegebenen Maske und öffnet es. Nach dem Befehl ist das neue Dokument geöffnet. Folglich sind Events wie PostOpen, OnLoad usw. bereits gelaufen.
Wenn das Feld (hier IstPackliste) zum Zeitpunkt des Öffnens bereits gefüllt sein soll, gibt es zwei unterschiedliche Herangehensweisen.
1. Das Dokument vor dem Öffnen erstellen
Du erstellst per Script ein neues Dokument und öffnest es danach
Set doc = New NotesDocument (db)
doc.Form = "WordSchreiben"
doc.IstPackliste = "1"
Call workspace.EditDocument (True, doc)
Funktioniert, weil beim Öffnen das Feld "IstPackliste" bereits gefüllt. Unterschied zum Compose ist, dass das Dokument nicht neu ist. Abfragen, wie @IsNewDoc, geben ein anderes Ergebnis als bei einem Compose
2. Das Feld wird beim Öffnen berechnet
In der Maske ist das Feld "IstPackliste" berechnet beim Anlegen. Der Wert ergibt sich aus einer temporär hinterlegten Variablen (INI, Profildokument o.Ä.). Beim Erstellen des Dokuments wird erst die temporäre Variable gefüllt, dann erfolgt das Compose
Beispiel mit einer temp. INI-Variablen
Erstellen:
@Environment ("tmp_IstPackliste"; "1")
@Command([Compose];@DbName;"WordSchreiben");
@Environment ("tmp_IstPackliste"; "")
Wert des Feldes "IstPackliste"
@Environment ("tmp_IstPackliste")
Die Beispiele sind nur logisch gemeint, syntaktische Fehler möchte ich nicht ausschließen.
Möglicherweise erstellst Du das neue Dokument aus einem bereits geöffneten (vermute ich gerade anhand des [FileSave]), dann könntest Du auch das neue Dokument so einstellen, dass die Werte des markierten Dokuments übernommen werden und berechnest "IstPackliste" im Vorgabewert in Abhängigkeit eines Feldes des geöffneten Dokuments.