Hi,
Zwickmühle:
Ein Server-Agent (also Backend) läuft nicht mit den ui-Funktionalitäten, um hier Dokumente zu aktualisieren gibt es nur ComputeWithForm.
ComputeWithForm greift allerdings nicht bei @DBColumn, @DBLookup etc.
Als sog. 'Lösung' wird im www immer wieder vorgeschlagen, die @DBLookups halt im Script zu integrieren.
Dies möchte ich hier aber nicht.
Jetzt habe ich mir überlegt, parallel einen Agenten laufen zu lassen, der @Command([ToolsRefreshSelectedDocs]) macht.
Problem:
Damit wird jedes Dokument für die Replizierung wieder aktiviert, obwohl aber oft keine Änderungen stattfinden (wenn DBLookup-Feld gleich bleibt).
Daher wollte ich jetzt im Maskenkopf ein Hidden Field einsetzen, dass die DBLookup-Felder ausliest. Dann im Maskenfuß im Feld "Replication" eine Formel a la
_Checker := ReplicationCheck;
_AllFields := (... Liste von Feldern ...)
@If(_Checker != _AllFields;
"Yes";
"No"
)
Dann aber klappt es nur wenn der Agent @Command([ToolsRefreshSelectedDocs]) läuft, geht man manuell ins Dokument, wird immer "No" angezeigt.
Daher habe ich übers Postopen-Event zusätzlich schon getestet um die aktuellen Feldinhalte in ein weiteres Feld zu schreiben für Vergleich, ohne Erfolg.
Was will ich überhaupt: - Dokumente sollen regelmäßig aktualisiert werden aufgrund enthaltener @DBLookup-Felder
- es soll nur repliziert werden wenn sich tatsächlich was geändert hat (getriggert über Feld "Replication" = "Yes" )
Ich bezweifle nun stark meinen Ansatz hier. Hat vielleicht jem. eine andere Idee?
TMC