Beiträge von littlesmith

    Das Problem ist, dass bei einem nicht gespeicherten neuen NotesUIDocument das dahinterliegende NotesDocument noch keine Items hat.
    Du kommst AFAIK nicht darum herum, das Dokument auf jeden Fall erstmal zu speichern.


    Hier ein Vorschlag:


    Erst verhinderst Du, dass man mit der Maske Dokumente über das Erstellen-Menü erzeugen kann (Maskeneigenschaften).


    Der Maske fügst Du ein Feld "Status" hinzu, dass erstmal einen Wert bekommt, der es als ungültig darstellt.


    Alle Views, die dieses Dokument darstellen müssen Dokumente mit dem Status "ungültig" in der Ansichtsauswahlformel herausfiltern, damit ungültige Dokumente nicht sichtbar sind.


    Dann baust Du einen Lotusscript-Agenten, der ein NotesDocument im Backend erstellt, das Form-Feld auf die entsprechende Maske setzt, das Statusfeld auf den Wert für "ungültig" setzt, das NotesDocument speichert und es dann im Frontend öffnet.


    Der Agent kann am besten aus dem Aktionen-Menü oder über eigene Aktionen in den Views, Outlines etc. getriggert werden.


    Jetzt wird Deine Prüfung im QuerySave-Event auf jeden Fall funktionieren. Du musst nur daran denken, das Dokument bei erfolgreicher Prüfung als gültig zu markieren, damit es nach dem Speichern in den Views sichtbar wird.
    Wenn der User die Bearbeitung abbricht, bleibt das Dokument erstmal vorhanden, ist aber für die User nicht sichtbar, wenn der Status überall gefiltert wird.


    Zusätzlich baust du einen zeitgesteuerten Agenten, der zu einem Zeitpunkt, zu dem keiner mit der DB arbeitet, alle ungültigen Dokumente löscht. Alternativ kannst du auch einen View bauen, der nur die ungültigen Dokumente darstellt, aus dem diese dann manuell gelöscht werden.


    Stefan