ja, ich habe auch keine Möglichkeit gefunden, das zurückzupumpen.
Ich behelfe mir jetzt mit folgendem Workaround:
im QuerySave wird ein Flag-Feld auf "1" gesetzt.
Im Terminate der Maske wird auf dieses Flag- Feld abgefragt und dann folgendes gemacht:
Ein Agent wird gestartet. über die unid des Dokuments hole ich mir das Dokument aus der Db, führe meine Hide- When- Korrekturen durch, und speichere es im Hintergrund.
Warum verwende ich nicht Source.Document ?
Nun: es ist ja durchaus denkbar (wenn auch nicht sehr wahrscheinlich), dass ein user das Dokument abspeichert (zur Sicherheit, mache ich per Strg + S auch immer mal wieder), dann weitere Änderungen macht, und dabei merkt: hoppla, jetzt habe ich aus versehen zu viel gelöscht (löschen von Tabellen kann nícht rückgänig gemacht werden z.B.). Er schliesst das Dokument und beantwortet die Abfrage "Speichern ?" mit nein, weil er ja die letzten Änderungen nicht mehr speichern will...
nehme ich jetzt "Source.Document", dann mache ich seine Auswahl unwirksam. Mit doc über unid speichere ich nur das nochmal, was sowieso schon auf der Platte liegt, nicht das Dok im Speicher...
Falls jemand mal ähnliche Probleme hat...
Gruß
Tode
P.S.: Für diejenigen, die mit regelmässigen Abstürzen des Clients rechnen, wodurch das Terminate nicht immer ausgeführt wird: man kann jetzt als zusätzliche Sicherheit einen periodischen Agenten laufen lassen, der auf das flag- feld abprüft und diese Dokumente abarbeitet... Das Flag- Feld wird nämlich nach erfolgreicher Bearbeitung immer zurückgesetzt...