In einer Maske habe ich die folgenden Felder (die Inhalte der Felder habe ich vereinfacht - es werden noch mehr andere Felder eingebunden, das würde das Nachfolgende aber nur aufblähen):
readers_standard
Namensfeld, Versteckt, Bearbeitbar, Mehrfachwerte erlaubt, Vorgabewert: "[Revision]"
readers_document
Namensfeld, Versteckt, Bearbeitbar, Mehrfachwerte erlaubt, Vorgabewert: "*"
DocumentReaders
Leserfeld, Versteckt, Berechnet, Mehrfachwerte erlaubt, Wert: @Unique(readers_standard; readers_document)
DocumentReaders_Display
Namensfeld, Mehrfachwerte erlaubt, Berechnet zur Anzeige, Wert: DocumentReaders
projektleiter
Namensfeld, Bearbeitbar, Mehrfachwerte erlaubt, Vorgabewert: @Username
authors_standard
Namensfeld, Versteckt, Bearbeitbar, Mehrfachwerte erlaubt, Vorgabewert: "[DBAdmin]":"[SuperEditor]"
DocumentAuthors
Autorenfeld, Versteckt, Berechnet, Mehrfachwerte erlaubt, Wert: @Unique(authors_standard : projektleiter)
DocumentAuthors_Display
Namensfeld, Mehrfachwerte erlaubt, Berechnet zur Anzeige, Wert: DocumentAuthors
Folgende Probleme habe ich:
1.
Bei der Anlage eines neuen Dokuments sehe ich im Feld DocumentReaders_Display die richtigen Werte [Revision], *. Im Feld DocumentAuthors_Display jedoch nur Username. Erst nach einem F9-Tastendruck werden auch in diesem Feld die noch fehlenden Werte angezeigt, so dass hier nun steht Username, [DBAdmin], [SuperEditor].
2. Im QuerySave ändere ich den Wert des Felds readers_document (ich füge hier die Werte des Felds DocumentAuthors ein, falls das Dokument für den öffentlichen Zugriff gesperrt werden soll) und führe dann ein Source.Refresh() durch - die neuen Werte werden aber nicht in den sichtbaren Feldern nachgezogen. Auch hier geschieht das erst nach einem F9-Tastendruck.
Ich habe bereits versucht, an verschiedenen Stellen ein Source.Refresh oder Source.Reload einzubinden (QuerySave, PostSave, PostOpen) - leider ohne Erfolg.
Wer weiß die Lösung oder einen Hinweis?
- Jérôme
Lösung (von Tode)
Berechnungen werden strikt von links nach rechts und von oben nach unten durchgeführt, da kann es schon zu so seltsamen Ergebnissen kommen. Wenn ein berechnetes Feld also in der Maske vor den Feldern steht, aus denen es sich berechnet, werden die Inhalte falsch berechnet.