Skip to main content

Überblick und Aufruf

Der TableService-Definitionseditor ist die Oberfläche für die Custom Properties TS_Definition_* und TS_ViewDefinition_*. Aus ihnen liest der TableServiceRouter, welche Tabellen und Sichten er über die API anbietet, welche Spalten er liefert und welche davon geschrieben werden dürfen.

Ohne diesen Editor entstehen Definitionen nur aus den Definitionsdateien unter TableService/data/table-definitions – ein Lauf, der alles überschreibt und sich für einen einzelnen Kunden nicht anfassen lässt. Mit ihm werden Definitionen im laufenden System angelegt, geändert, umbenannt, kopiert und gelöscht; die dazugehörige SQL-Tabelle kann er gleich mit anlegen und erweitern.

Aufruf

Im Bereich Stammdaten stehen dafür zwei Ordner:

Ordner Was in der Seitenleiste steht
Stammdaten-Konfiguration die Definitionen der Stammdaten-Datenbank
Stammdaten-Konfiguration (Custom) nur die eigenen Definitionen – die hier angelegten und die aus dem Custom-Ordner des TableService importierten

Beide Ordner öffnen dieselbe Oberfläche und können dasselbe. Sie unterscheiden sich allein darin, welche Definitionen in der Seitenleiste zur Auswahl stehen; in (Custom) trägt jeder Eintrag den Zusatz eigene.

Welche Definitionen ein Ordner zeigt, ist am Ordner hinterlegt. Weitere Ordner – etwa für eine andere Datenbank – richtet die Administration ein; der Editor selbst legt einen solchen Ordner zu einer geöffneten Definition an, siehe Ordner und Outbar.

Was ein Ordner anzeigt, ist dabei eine Anzeigeentscheidung, keine Befugnis. Was geschrieben werden darf, entscheidet in jedem Fall das Portalskript – siehe Geschützte Datenbanken.

Aufbau der Oberfläche

  • KopfleisteNeu, SQL Tabelle anlegen, SQL Tabelle ändern, Aktualisieren und das Menü Mehr mit den Werkzeugen für Squeeze, den Tabellenaufbau und JSON.
  • Seitenleiste – alle sichtbaren Definitionen, nach Tabellen und Views gruppiert, mit Filterfeld und Art-Auswahl.
  • Hauptbereich – die geöffnete Definition in drei Reitern: Allgemein, Spalten und JSON; darüber Speichern, Verwerfen und das Menü Mehr der Definition.
  • Statuszeile ganz unten – die Rückmeldung zur letzten Aktion. Grün heißt erledigt, gelb ein Hinweis, rot ein Fehler.

Backend und Offline-Betrieb

Jeder lesende und schreibende Aufruf geht an das Portalskript DEXPRO__TableServiceDefinitionEditor, aufgerufen über dex_callScriptAsync bzw. dex_callScript aus DexLib/GeneralFunctions.js. Diese Helfer gehören dem DOCUMENTS-Client; die Seite sucht sie in diesem Fenster, im parent, im top und im opener.

Findet sie keinen davon, steht rechts oben das Abzeichen offline:

  • Definitionen lassen sich weder lesen noch schreiben, Speichern bleibt gesperrt.
  • Bearbeiten geht trotzdem: über Mehr → JSON importieren … lässt sich eine Definition einfügen, im Formular ändern und über Exportieren wieder herunterladen.

Der Normalfall – verbunden – wird nicht angezeigt. Nur der Fehlerfall bekommt ein Abzeichen.

Sprache

Kein sichtbarer Text steht fest in der Seite. Die Texte kommen aus der Übersetzungstabelle des Clients (lang_properties, Datei Gentable_<lang>.properties), und solange sie dort noch fehlen, aus TableServiceTranslations.json neben der Seite. Einzelheiten unter Technik, Dateien und Übersetzungen.