Es gibt immer mal wieder Tage, wo einem das Offensichtliche nicht ins Gesicht
springt und man sucht und sucht und sucht...
Man kann bei einer Ansicht eine Eigenschaft
einstellen, dass die Verbergen-Wenn-Formeln (hide when) jedes mal neu berechnet
werden, wenn man auf ein anderes Dokument in der Ansicht geht bzw. darauf
klickt.
Das braucht man, wenn man z. B. Ansicht-Aktionen
abhängig von Status des Dokuments anzeigen möchte, also die Aktion "Antrag
genehmigen" in der Ansicht nur anzeigen möchte, wenn der aktuell ausgewählte
Antrag auf "zu genehmigen" steht.
Ich wollte eine Aktion zum Kopieren
des Feldinhalts in die Zwischenablage nur dann anzeigen, wenn das Feld
"Passwort" ausgefüllt ist:
So einfach funktioniert das - normalerweise.
Und die gleiche Aktion in der Maske funktionierte auch, nur eben nicht
in der Ansicht.
Nach längerer Suche und viel Ausprobieren
bin ich dann auf die Lösung gekommen. Kern des Problems war, dass das Feld
"Passwort" verschlüsselt gespeichert wird:
Verschlüsselte Felder werden nicht "normal"
im Dokument gespeichert, sondern in $SealData-Items.
Sie können dann weder in Spalten angezeigt,
noch in Spalten- oder Aktionsformeln benutzt werden.
Als Lösung habe ich ein neues Feld "PasswortEingegeben"
in der Maske hinzugefügt, dass nur die Information speichert, ob das Passwort-Feld
gefüllt ist. Im geöffneten Dokument kann man ja noch einfach auf die verschlüsselten
Felder zugreifen.
Danach habe ich das neue Feld in der
Verbergen-Wenn-Formel der Aktion benutzt:
Und es funktioniert!