Hallo,
ich schreibe hier nochmal wegen meiner Kundenauftags-Datenbank. Markt-Mitarbeiter erfassen darin Aufträge, ein Service-Center arbeitet diese eingehenden Aufträge ab. Neben normal priorisierten Aufträgen gibt es auch "Just in Time" Aufträge, die möglichst schnell abgearbeitet werden müssen. Den Service-Mitarbeitern möchte ich in der DB irgendwie signalisieren, dass solche eiligen Aufträge vorliegen.
In meiner Anwendung habe ich nun sowieso eine Rahmengruppe mit 3 Rahmen: Oben einen Rahmen Namens "Kopf", der nur den Namen der Anwendung anzeigt, links eine Gliederung und rechts eine Ansicht.
Meine Idee war nun, die angezeigte Seite im Rahmen "Kopf" durch eine andere (rot hinterlegte) Seite auszutauschen, wenn bestimmte (eilige) Dokumente in der Datenbank vorhanden sind. Ob dringend zu bearbeitende Dokumente vorhanden sind, wird durch einen @dblookup festgestellt.
Um das zu testen, habe ich einfach mal eine Ansicht "jit" (Just in time) angelegt, in dieser befindet sich genau ein Dokument mit einer "1" in der ersten Spalte. Wenn
Erg:=@DbLookup("":"Nocache";"";"jit";"1";2);
="test" ist soll ein anderer Kopf angezeigt werden, als wenn etwas anderes zurückgegeben wird.
------------
Im ersten Versuch habe ich 2 Kopf-Seiten erstellt ("Kopf normal" und "Kopf dringend") und habe eine Formel für den Namen des benannten Elementes angegeben, also obige Zeile und dann z.B.
@If(Erg="test";"Kopf dringend";"Kopf normal")
Leider wird mir das erst aktualisiert, wenn ich die Datenbank verlasse und sie dann neu öffne. Ein Agent mit einem @Command([RefreshFrame];"Kopf"), den ich manuell testweise aufrufe, bewirkt nichts. Erst wenn ich die DB schließe und neu öffne, wird die richtige Seite angezeigt.
Ich habe dann versucht, anstelle des berechneten Elementes für den Kopfrahmen eine Maske im Frame "Kopf" anzuzeigen. In der Maske habe ich dann zwei Überschriften (einmal rot, einmal normal) hinterlegt und je nach @dblookup-Ergebnis die eine oder andere Überschrift versteckt.
Auch diese Anzeige wird mir erst aktualisiert, wenn ich die DB beende und neu starte.
Mache ich irgendwas falsch? Warum funktioniert der @command([RefreshFrame];"Kopf") nicht?
Nochmal zusammengefasst:
Ich habe eine Rahmengruppe "Standard". Diese beinhaltet 3 Rahmen. Für mich interessant ist der obere Rahmen Namens "Kopf". In diesem Rahmen möchte ich variable Inhalte haben... Die dort hinterlegten Formeln werden durch einen @command([RefreshFrame];"Kopf") jedoch scheinbar nicht ausgeführt.
Danke schonmal,
Gregor