Allgemeine Dokumentation

Mit dem UniversalView2 können Inhalte aus verschiedenen Tabellen aus der Datenbank formatiert dargestellt werden. Dafür stehen verschiedene Elemente, sogenannte Blöcke, zur Verfügung. Diese können Text, Bilder, Unterschriften und anderes darstellen. Die Definition welche Inhalte auf welche Art und Weise angezeigt werden erfolgt über JSON Strings, welche im Backend eingetragen werden. Aktiviert wird der UniversalView2 über einen speziellen PrefString, wodurch in der Standardversion die Adressenansicht und die Vorgänge-Ansicht durch den neuen, flexibel gestaltbaren UniversalView2 ersetzt werden.Im folgenden werden Grundlegende Informationen über die JSON Spezifikation erläutert um einen Überblick zu gewähren, wie das System funktioniert. Im späteren Abschnitt des Dokumentes werden die einzelnen JSON Blöcke genauer erklärt um bestehende Ansichten abzuwandeln oder völlig neue Daten in moTrade anzeigen zu können.

Speicherort

JSON Elemente werden als PrefStrings in das Backend unter

Administrator > iPad Einstellungen 

eingetragen.

JSON Elemente

Jedes JSON Element kann als eigener PrefString im Backend eingetragen werden. Auf andere PrefStrings mit weiteren JSON Inhalten wird mittels ‘@‚ verwiesen (siehe Beispiel). Alternativ kann auch das gesamte JSON Konstrukt, mit all seinen verschachtelten JSON Elementen, als ein einziger PrefString eingetragen werden.

Beispiel

{
	"table" : "string",
	"prikey" : "string",
	"menus" : [
		@uv2_menu_item_hinzufuegen_adr,
		@uv2_menu_item_loeschen_adr
	],
	...
}

Namenskonvention

Die Namenskonvention bietet einen Richtwert, der für eine übersichtliche Struktur sorgt. Bei Bedarf können die Einträge im Backend für JSON Strings jedoch völlig frei gewählt werden. Dabei ist zu beachten, dass das Root-JSON Element unter dem Eintrag uv2_root mit einem ‘@‘ Symbol und nachfolgend dem Namen des Root-JSON Elementes referenziert wird.

Die Namenskonvention wird wie folgt vorgeschlagen:

uv2_[JSON Block Typ]_[Freier Name]_[Tabellenname]

  • Am Beginn immer uv2_
  • Nach erstem Unterstrich Block-Typ angeben (z.B. Tab, Block, View, etc.)
  • Nach weiterem Unterstrich freien Namen wählen
  • Am Ende (optional, jedoch stark empfohlen) die Tabellenabkürzung angeben zu der das Element gehört (z.B. adr, akt, etc.)

Beispiel

uv2_cell_block_map_adr

Datenbankfelder substituieren

Um Inhalte aus Datensätzen der Datenbank in moTrade anzuzeigen, können einzelne Felder der Datenbank durch die Syntax

{Spaltenname}

in allen Text darstellenden Elementen ausgegeben werden. Dabei können alle Spaltennamen verwendet werden, die auch in jener Tabelle vorkommen, die im “View” JSON Objekt definiert wird. Ausnahmen bilden “Block” Objekte die ein eigenes SQL Statement beinhalten. Jene Blöcke können nur Spaltennamen substituieren die in diesem SQL Statement selektiert werden.

Beispiel

lines" : [
	"{adr_strasse} {adr_hn}",
	"{adr_land} {adr_zip} {adr_ort}” 
]

FontAwesome Icons

Alle vorkommenden Icons sind durch FontAwesome Icons zu realisieren. Mit der Syntax

#$fontawesome-iconname$#

werden in allen Text darstellenden Elementen diese Icon-Namen durch die entsprechenden Icons ersetzt.

FontAwesome Icon Namen können unter folgender Website nachgeschlagen werden:

http://fontawesome.io/icons/

Beispiel

„text“ : „#$phone$# {per_tel1}”

Funktionen

Gewisse JSON Elemente erlauben es Funktionen aus dem Sourcecode zu definieren, die bei bestimmten Aktionen – beispielsweise das Auswählen eines Menü Items – ausgeführt werden. Dabei wird der Funktionsname einfach als String in das JSON Element an passender Stelle eingetragen (siehe dafür die auf den weiteren Seiten folgende Definition der JSON Elemente). Es steht ein Pool an vorgegebenen Funktionen zur Verfügung, welche in der nachfolgenden Liste einsehbar sind (fett hervorgehoben ist jeweils der im JSON anzugebende Funktionsname):

DeleteItem

Löscht den Datensatz der aktuell ausgewählten Zeile.
Parameter: –

OpenAddressBookSyncView

Öffnet den Adressbuch Sync View.
Parameter: –

OpenSyncView

Öffnet den Sync View.
Parameter: –

OpenCSVImportView

Öffnet den CSV Import View.
Parameter: –

OpenUniversalView

Öffnet einen UniversalView mit Daten aus der im Parameter übergebenen Tabelle und dem Primary Key.
Parameter: Tabelle, Primary-Key Spaltenname für die anzuzeigende Tabelle (kommasepariert)

OpenMapWithAddress

Öffnet die GoogleMaps App sofern sie am Gerät installiert ist, und springt an eine als Parameter übergebene Adresse. Optional kann ein Label angegeben werden, dass diese Adresse bezeichnet.
Parameter: Spaltenname für Straße, Spaltenname für Hausnummer, Spaltenname für PLZ, Spaltenname für Ort, Optional Spaltenname für Bezeichnung des Ortes

OpenMapWithLatLon

Öffnet die GoogleMaps App sofern sie am Gerät installiert ist, und springt an eine als Parameter übergebene Location. Optional kann ein Label angegeben werden, dass diese Location bezeichnet.
Parameter: Spaltenname für Latitude, Spaltenname für Longitude, Optional Spaltenname für Bezeichnung des Ortes

OpenCRMReport

Öffnet den CRM Report View.
Parameter: –

OpenEditFormTable

Öffnet den View zum Editieren des aktuell ausgewählten Datensatzes.
Parameter: Tabellenname und Primary-Key Spaltenname der Tabelle und der Spalte aus der Daten angezeigt werden. Kommasepariert.

OpenUniversalView2

Öffnet eine neue Ansicht des UniversalView2 mit dem als Parameter übergebenen PrefString der das JSON für den neuen View beinhaltet.
Parameter: PrefString mit dem JSON für den neuen View, mit ‘@‘ Zeichen vor dem PrefString

OpenShoppingCart

Öffnet die Positionserfassung View.
Parameter: –

AddItem

Fügt einen neuen Datensatz zur aktuellen View hinzu.
Parameter: Tabelle, Primary-Key Spaltenname des einzufügenden Datensatzes (Komma separiert)

CalendarSync

Synct den moTrade mit dem Gerätekalender.
Parameter: –

OpenPreview

Öffnet eine Vorschau.
Parameter: –

OpenPrint

Öffnet den Druckdialog.
Parameter: –

DuplicateItem

Dupliziert das aktuell ausgewählte Item.
Parameter: –

OpenShippingDateSort

Öffnet den View zur Darstellung aller Positionen und dem zugehörigen Lieferdatum.
Parameter: –

OpenFilesView

Öffnet den Datei Explorer View.
Parameter: –