Um das User Interface für den Kunden einfach zu gestalten, sollte der FileMaker Entwickler Elemente und Funktionen einsetzen, die der Anwender bereits aus anderen Programmen kennt. Den "Zurück-Button" kennt jeder Anwender aus seinem Browser.
Eine einfache Funktion für Lösungen mit einer einzigen "FontEnd Datei" lässt sich mit 1 Skript und 1 Button umsetzen.
Obwohl FileMaker die Möglichkeit bietet, einen einfachen SkriptSchritt auf einen einen Button zu legen, empfehlen wir immer ein zentrales Skript für den Wechsel der Layouts. Was am Anfang vielleicht überflüssig aussieht, zeigt in der späteren Entwicklung seinen Nutzen (z.B. für Zugangsbeschränkungen, voreingestellte Suchabfragen, Mandanten usw.)
Jedes Layout, das ein Anwender (per Button, Menü usw.) aufrufen kann, ruft unser zentrales Skript "100 Layout" auf. Dieses wertet den per ScriptParameter übergebenen Wert aus, um das gewünschte Layout aufzurufen. Hier lässt sich das Skript "100-010 Layout History" auf einfache Weise per PerformScript einbinden.
Name: 100-010 Layout History
1. #_sp ( "Funktion" ; "zurück" )2. If [ _gp ( Get ( ScriptParameter ) ; "Funktion" ) = "zurück" ]
3. Go to Layout [ RightValues ( $$layout_id_list ; 1 )]
4. Set Variable [ $$layout_id_list; Value:
Let (~anzahl_werte = ValueCount ( $$layout_id_list );
LeftValues ( $$layout_id_list ; ~anzahl_werte -1 ) ) ]5. Else If [ GetAsNumber (RightValues ( $$layout_id_list ; 1 )) Get ( LayoutNumber )
6. Set Variable [ $$layout_id_list; Value:$$layout_id_list & ¶ & Get ( LayoutNumber ) ]
7. End If
Das Skript "100-010 Layout History" hat 2 Funktionen (die Funktionen könnten auch auf 2 getrennte Skripten verteilt werden):
Vor allem ältere Lösungen haben oftmals mehrere Dateien, die vom Anwender genutzt werden. Die obige Lösung funktioniert in abgewandelter Form auch über mehrere Dateien:
Da der Anwender in der Regel beliebig zwischen Dateien und Layouts hin- und herwechseln kann, darf die Historie nicht in einer globalen Variable geführt werden. Stattdessen eignet sich ein globales Feld in einer zentralen Anwender-Einstellungen-Tabelle.
Um dann unterscheiden zu können, in welcher der UI Dateien das "Layout mit der ID 100" aufgerufen werden soll, wird der Wert in der Historie um ein Prefix mit Trennzeichen ergänzt. Die Historie könnte z.B. so aussehen:
Datei_1#100
Datei_1#125
Datei_2#92
Datei_2#100
Datei_1#100
Datei_3#58
Wenn der Anwender auf den Zurück Button klickt, muss nur ausgewertet werden, in welcher Datei das Skript "100-010 Layout History" ausgeführt werden soll. Dafür wird der vordere Teil des Eintrags (bis zum # Trennzeichen) ausgewertet und das Skript "100-010 Layout History" in der entsprechenden aufgerufen und der zweite Teil des Eintrags als Parameter übergeben.
Sowohl die einfache Version mit der globalen Variable, als auch die aufwendigere mit globalem Feld sind Multiuser-tauglich, da globale Variablen und globale Felder für jeden User individuelle Werte haben.
Mamtemic GmbH:
FileMaker Entwicklung, FileMaker Programmierung, Individuelle Datenbanklösungen, Speziallösungen, Web Applications, Auswertungen & Berichte, Außendienst Steuerung, Spezial Kalkulationen, Datenkonvertierung, FileMaker Entwickler für die Anpassung und Wartung Ihrer Inhouse Datenbank
FileMaker Development in Hamburg, Deutschland und Europa, FileMaker Consulting in Norddeutschland