Container Re-Import

Re-Import einer Datei aus dem Temporären Pfad

 

Container-Felder sind für eine Ansicht schnell in den temporären Pfad exportiert und automatisch geöffnet.

Doch eine geänderte Version wieder in das Container-Feld einzufügen ist meistens umständlich und mühsam.

Dieser Beitrag beschreibt eine Lösungsmöglichkeit, die exportierte Datei nach dem Speichern im externen Programm aus dem temporären Pfad einfach zu re-importieren.

 

Das Prinzip / Wie funktioniert das

Was wir dazu benötigen ist ein Script für den Export, eine globale Variable mit Container-Identifikations-Informationen sowie ein Script für den Import.

 

Die einzelnen Schritte

Im Script „FileStack__Container_oeffnen__XML“ wird der Container in den temporären Ordner exportiert und automatisch geöffnet.

Direkt nach dem erfolgreichem Container-Export führen wird die globale Variable $$ReImport.Master nachgeführt. In dieser globalen Variable werden alle Datensatz-spezifischen bzw. Container-spezifischen Informationen in Form von XML-Strings verwaltet. Der einzelne XML-Tag identifiziert den Container und der XML-Wert wird für das Ein-/Ausblenden des Re-Import-Buttons sowie als zusätzliche Absicherung beim Re-Import verwendet.

Im Schritt der Nachführung prüfen wir, ob in der globalen Variable $$ReImport.Master der für diesen Datensatz bzw. Container entsprechende XML-Tag vorhanden ist.
Ist der XML-Tag vorhanden, wissen wir, dass wir die Datei aus dem temporären Pfad wieder importieren können (jedenfalls so lange bis FileMaker geschlossen wird).
Ist der Wert nicht vorhanden, erstellen wir den entsprechenden XML-Tag und ergänzen ihn in der globalen Variable $$ReImport.Master mittels der Funktion „Liste ()“.

 

 

Der XML-Tag (<FileStack.ID>1</ FileStack.ID>) muss eindeutig sein. Aus diesem Grund beinhaltet der XML-Tag ein Prefix und eine ID. Das Prefix dient der Unterscheidung von verschiedenen Containern bzw. Container aus verschiedenen Tabellen. Die ID (z.B. eine DatensatzID oder eine Seriennummer) dient der Unterscheidung der Datensätze innerhalb einer Tabelle. Anstelle von Prefix und ID könnte auch eine UUID verwendet werden.

Im Script „FileStack__Container_ReImport__XML“ wird die Datei wieder über den Script-Schritt „Datei einfügen []“ re-importiert.

 

Abschliessende Bemerkungen

Da der Benutzer weder für den Export noch für den Re-Import den Dateinamen beeinflussen kann, wird der Dateinamen über die Funktion „HoleContainerAttribute (Container;filename)“ ermittelt und verwendet (Auch hier könnte eine UUID verwendet werden). Auf weitere Absicherungen wie z.B. das Änderungsdatum der exportierten Datei mit dem Änderungsdatum des Containers zu vergleichen oder den Re-Import für gewisse Datei-Formate zu unterbinden habe ich in diesem Beispiel unterlassen.

In der Beispiel-Datei gibt es auch eine JSON-Variante. Diese basiert auf dem selben Prinzip. Aber je nach FileMaker-Version steht JSON nicht zur Verfügung oder wird nicht unterstützt (z.B. Runtime-Lösung).


Lego Mann mit Dampf-Gerät

Dampfer-Tool / Dampfer-Datenbank

Eine kleine Software für Dampfer

 

Lego Mann mit Dampf-Gerät

Mitte 2016 bin ich vom Rauchen langsam auf das Dampfen umgestiegen. Schnell habe ich begonnen, meine Liquids selber zu mischen.

Zu Beginn habe ich meine Liquid-Rezepte in Text-Dateien verwaltet. Dies wurde jedoch schnell unübersichtlich und es gab jede Menge zu rechnen.

So habe ich mein persönliches CRM/ERP um das Modul Liquid erweitert und eine eigenständige Software-Lösung erstellt.

 

 

Das Dampfer-Tool / die Dampfer-Datenbank

In der Liquid-Verwaltung können die Aromen und Basen mit den notwendigen Basis-Informationen wie Art, Typ, Kategorie, Anzahl, Menge (ml/Flasche) und Nikotin-Gehalt (mg/ml) erfasst werden.

In der ‚Mischerei‘ können dann einem Liquid über eine Multi-Zuweisung (eine Mehrfachauswahl mit Volltext-Suche) beliebig viele Aromen (Rohware) und Basen (gekaufte / eigene Vormischungen) zugeteilt werden.

 

Aromen & Basen erfassen

Liquids mischen

Der Nikotin-Gehalt wird, sofern die Basis-Informationen erfasst sind, bei der Eingabe der Mengen automatisch berechnet. Ebenso werden die entsprechenden Restmengen nachgeführt. Die Restmenge und der Dosierungs-Richtwert können über ein Pop-Over abgerufen werden.

Weiter kann ein Label für das Fläschchen in drei verschiedenen Grössen gedrucken oder das Liquid-Rezept als E-Mail mit PDF geteilt werden.

 

 

Weitere Module aus dem CRM/ERP

Aus dem CRM/ERP stehen weitere Module zur Verfügung:

 

Inventar

Ein kleines Inventar zur Verwaltung der Dampfer-Hardware…

Link & Login

Eine Link und Login-Verwaltung für die vielen Online-Shops…

Adressen

Eine Adress- und Kontaktverwaltung.