flexi-dynamic-table¶
Die dynamische Tabelle ermöglicht die strukturierte Erfassung mehrerer gleichartiger Datensätze innerhalb eines Formulars. Die Spalten der Tabelle werden im Template frei definiert; pro Spalte stehen verschiedene Eingabetypen zur Verfügung (Text, Zahl, Datum, Auswahl, Vorschlagsliste, Berechnung).
Im fertigen Dokument können Zeilen über eine Schaltfläche hinzugefügt, bearbeitet, dupliziert, neu sortiert und gelöscht werden. Optional steht eine Schnellerfassung für eine einzelne Spalte zur Verfügung.
Einstellungen¶
Allgemeine Tabellen-Einstellungen¶
| Einstellung | Beschreibung |
|---|---|
| Bezeichnung | Der angezeigte Titel der Tabelle |
| Name | Eindeutiger Bezeichner der Tabelle (wird automatisch aus der Bezeichnung abgeleitet) |
| Zeilennummern anzeigen | Wenn aktiv, wird vor jeder Zeile eine fortlaufende Nummer angezeigt |
| Eingabe gesperrt | Verhindert das Hinzufügen und Bearbeiten von Zeilen — Zeilen können nur noch gelöscht werden. Sinnvoll für Tabellen, die durch eine andere Funktion (z. B. Datenimport) befüllt werden |
| Zeilen duplizieren erlauben | Aktiviert pro Zeile eine Schaltfläche zum Duplizieren. Die neue Zeile übernimmt alle Werte der Quellzeile |
| Mindestanzahl Zeilen | Mindestanzahl an Zeilen, die die Tabelle enthalten muss. Wird die Anzahl unterschritten, gilt die Tabelle als ungültig und es erscheint eine Warnung |
| Maximalanzahl Zeilen | Maximalanzahl an Zeilen. Ist die Grenze erreicht, ist die Schaltfläche zum Hinzufügen deaktiviert |
| Schnellerfassung-Spalte | Auswahl einer Spalte, die per Schnellerfassungs-Dialog für alle bestehenden Zeilen auf einmal befüllt werden kann (siehe Schnellerfassung) |
Erweiterte Einstellungen¶
Über Erweiterte Einstellungen lassen sich zusätzlich definieren:
- Validierungsregeln für die Tabellenzeilen (siehe Validierungsregeln)
- Standardwerte — vordefinierte Zeilen, mit denen die Tabelle beim Anlegen eines neuen Dokuments vorbefüllt wird
Werden nach dem Anlegen von Standardwerten Spalten umbenannt oder entfernt, erscheint im Dialog eine Warnung. Über die Schaltfläche Standardwerte aufräumen lassen sich die Standardwerte automatisch an die aktuellen Spalten anpassen (überzählige Schlüssel werden entfernt, fehlende mit leerem Wert ergänzt).
Spalten-Einstellungen¶
Spalten werden einzeln über die Schaltfläche Spalte hinzufügen angelegt und über die Reorder-Griffe sortiert.
| Einstellung | Beschreibung | Verfügbar bei |
|---|---|---|
| Bezeichnung | Anzeigetext der Spalte (Spaltenüberschrift, Feldlabel im Bearbeitungsdialog) | alle Typen |
| Name | Eindeutiger Bezeichner der Spalte (wird automatisch aus der Bezeichnung abgeleitet) | alle Typen |
| Typ | Datentyp der Spalte: text, number, date, select, typeahead, calculated |
alle Typen |
| Platzhalter | Platzhaltertext im Eingabefeld | text, number, date, select, typeahead |
| Pflichtfeld | Wenn aktiv, muss die Zelle ausgefüllt werden, sonst wird die Zeile als Fehler markiert | alle Typen |
| In Tabelle anzeigen | Wenn deaktiviert, ist die Spalte nur im Bearbeitungsdialog sichtbar, in der Tabellenübersicht jedoch ausgeblendet. Die Anzahl ausgeblendeter Spalten wird als Hinweis angezeigt; die Werte sind per Tooltip einsehbar | alle Typen |
| Optionen | Liste der Auswahlwerte | select, typeahead (bei Quelle „Optionen“) |
| Vorschlagstyp | Quelle der Vorschlagswerte: aus einer hinterlegten Datenliste oder aus einer manuell gepflegten Optionsliste | typeahead |
| Datenquelle | Name der Datenliste, aus der die Vorschläge geladen werden | typeahead (bei Quelle „Datenliste“) |
| Suchfeld | Feld der Datenliste, das durchsucht und als Vorschlag angeboten wird | typeahead (bei Quelle „Datenliste“) |
| Formel | Rechenausdruck, der den Wert der Spalte automatisch aus anderen Spalten derselben Zeile berechnet | calculated |
| Nachkommastellen | Anzahl der Dezimalstellen, auf die das Berechnungsergebnis gerundet wird | calculated |
Spaltentypen im Detail¶
text¶
Einfache Texteingabe.
number¶
Numerische Eingabe. Der Wert kann in Berechnungs-Spalten weiterverwendet werden. Sowohl Komma als auch Punkt sind als Dezimaltrennzeichen zulässig.
date¶
Datumsauswahl mit Kalender-Popup im Format TT.MM.JJJJ.
select¶
Auswahl aus einer fest hinterlegten Liste von Optionen. Die Optionen werden in den Spalten-Einstellungen einzeln eingetragen und lassen sich per Drag-and-Drop sortieren.
typeahead¶
Eingabefeld mit Autovervollständigung. Während der Eingabe werden passende Vorschläge angeboten, eine freie Eingabe abweichend von den Vorschlägen ist weiterhin möglich.
Die Vorschläge stammen wahlweise aus:
- Optionen — eine in den Spalten-Einstellungen manuell gepflegte Liste
- Datenliste — eine zentral gepflegte Datenliste. Hier wird zusätzlich das Suchfeld angegeben, dessen Werte als Vorschläge erscheinen
calculated¶
Spalte mit automatisch berechnetem Wert. Die Formel referenziert andere Spalten derselben Zeile über deren Spaltennamen:
menge * einzelpreis
Erlaubt sind Standard-Rechenoperatoren (+, -, *, /, **), Klammerung sowie Funktionen wie Math.round, Math.abs, Math.sqrt, Math.min, Math.max und Math.PI.
Ist eine in der Formel referenzierte Spalte leer, bleibt das Berechnungsergebnis leer. Über Nachkommastellen lässt sich das Ergebnis auf eine feste Dezimalstellenzahl runden.
Berechnete Spalten können nicht als Schnellerfassungs-Spalte gewählt werden.
Verhalten im Dokument¶
Zeilen hinzufügen, bearbeiten und löschen¶
Über die Schaltfläche Zeile hinzufügen öffnet sich ein Dialog mit allen Spalten der Tabelle als Eingabefelder. Beim Speichern wird die Zeile übernommen.
- Bearbeiten — über das Stift-Symbol an der Zeile öffnet sich derselbe Dialog mit den vorhandenen Werten.
- Löschen — über das Mülleimer-Symbol; vor dem Löschen erfolgt eine Sicherheitsabfrage.
- Duplizieren — falls in den Tabellen-Einstellungen aktiviert, kopiert das Symbol die Zeile als neue Zeile direkt darunter.
- Sortieren — Zeilen lassen sich über den Reorder-Griff am rechten Rand per Drag-and-Drop neu anordnen.
Ist die Tabelle als Eingabe gesperrt konfiguriert, entfallen die Schaltflächen zum Hinzufügen und Bearbeiten; vorhandene Zeilen können nur noch gelöscht werden.
Anzeige der Zeilenanzahl¶
Rechts oben in der Tabelle wird die aktuelle Zeilenanzahl angezeigt. Sind Mindestanzahl und/oder Maximalanzahl konfiguriert, wechselt die Anzeige die Farbe:
- rot — die Mindestanzahl ist unterschritten
- grün — die Anzahl ist im erlaubten Bereich
Liegt die Anzahl unter der Mindestanzahl, wird zusätzlich ein Hinweistext unterhalb der Tabelle angezeigt und die Tabelle gilt als ungültig.
Pflichtfelder¶
Ist eine Spalte als Pflichtfeld markiert und in einer Zeile leer, wird die Zeile mit einem roten Fehler-Symbol markiert — unabhängig davon, ob für die Tabelle Validierungsregeln konfiguriert sind.
Ausgeblendete Spalten¶
Spalten mit deaktivierter Option In Tabelle anzeigen erscheinen nicht in der Spaltenübersicht. Stattdessen erscheint pro Zeile eine Schaltfläche mit der Anzahl ausgeblendeter Spalten; per Tooltip lassen sich deren Werte einsehen. Im Bearbeitungsdialog stehen ausgeblendete Spalten weiterhin zur Verfügung.
Schnellerfassung¶
Die Schnellerfassung ist gedacht für Tabellen, in denen eine einzelne Spalte aller bestehenden Zeilen nacheinander erfasst werden soll — etwa eine Mess- oder Ist-Spalte zu einer vorgegebenen Liste von Prüfpunkten.
Wird in den Tabellen-Einstellungen unter Schnellerfassung-Spalte eine Spalte gewählt, erscheint im Dokument neben Zeile hinzufügen eine zusätzliche Schaltfläche Schnellerfassung. Diese öffnet einen Dialog, in dem die Werte aller Zeilen für die gewählte Spalte untereinander direkt eingegeben werden können. Beim Speichern werden die Werte zurück in die Tabelle übernommen und Berechnungen werden aktualisiert.
Voraussetzungen:
- Die Tabelle enthält bereits Zeilen
- Die Spalte ist nicht vom Typ
calculated - Die Tabelle ist nicht als Eingabe gesperrt konfiguriert
Validierungsregeln¶
Über die erweiterten Einstellungen lassen sich Regeln hinterlegen, die für jede einzelne Zeile geprüft werden. Die Tabelle gilt insgesamt nur dann als gültig, wenn alle Zeilen die Regeln erfüllen. Pro Zeile wird der Status als Symbol angezeigt:
- Grüner Haken — Zeile erfüllt alle Regeln
- Rotes Kreuz — Zeile verletzt mindestens eine Regel oder es fehlt ein Pflichtfeld
In der dynamischen Tabelle sind alle Vergleichsoperatoren (>, <) strikt — anders als bei Zahlenfeldern.
Wert einer Spalte prüfen — VALUE:spalte¶
| Schreibweise | Bedeutung |
|---|---|
VALUE:spalte>=n |
Wert der Spalte muss mindestens n betragen |
VALUE:spalte<=n |
Wert der Spalte darf höchstens n betragen |
VALUE:spalte>n |
Wert der Spalte muss strikt größer als n sein |
VALUE:spalte<n |
Wert der Spalte muss strikt kleiner als n sein |
VALUE:spalte==wert |
Wert der Spalte muss exakt wert entsprechen |
VALUE:spalte!=wert |
Wert der Spalte darf nicht wert entsprechen |
"rules": ["VALUE:menge>=5"]
In jeder Zeile muss die Spalte
mengemindestens 5 sein.
Toleranzbereich — VALUE:spalte%p:refSpalte¶
| Schreibweise | Bedeutung |
|---|---|
VALUE:spalte%p:refSpalte |
Wert in spalte muss innerhalb von ± p % von refSpalte (anderer Spalte derselben Zeile) liegen |
VALUE:spalte%MINp:refSpalte |
refSpalte darf nicht mehr als p % unter dem Wert in spalte liegen |
VALUE:spalte%MAXp:refSpalte |
refSpalte darf nicht mehr als p % über dem Wert in spalte liegen |
Statt einer anderen Spalte kann mit @-Prefix auch ein Feld außerhalb der Tabelle (im selben Abschnitt) als Referenz verwendet werden. Der @-Prefix ist auf beiden Seiten erlaubt.
"rules": ["VALUE:ist%5:@sollwert_section"]
Die Spalte
istmuss innerhalb von ± 5 % vom Abschnitts-Feldsollwert_sectionliegen.
Vergleich zweier Spalten oder gegen ein externes Feld — COMPARE¶
| Schreibweise | Bedeutung |
|---|---|
COMPARE:spalte1>=spalte2 |
Vergleich zweier Spalten derselben Zeile |
COMPARE:spalte>=100 |
Vergleich gegen eine Konstante |
COMPARE:spalte<=@feld |
Vergleich der Spalte gegen ein Feld außerhalb der Tabelle (Abschnitts-Feld), markiert mit @ |
Unterstützte Operatoren in COMPARE: >=, <=, <, >, ==, != (alle strikt). Formeln mit +/- (wie in Zahlenfeldern) werden in Tabellen nicht unterstützt.
"rules": ["COMPARE:rabatt<=preis"]
In jeder Zeile darf
rabattnicht größer sein alspreis.
"rules": [
"COMPARE:ist>=@soll_min",
"COMPARE:ist<=@soll_max"
]
Der Ist-Wert in der Spalte
istmuss zwischen den Abschnitts-Feldernsoll_minundsoll_maxliegen.
Länge einer Text-Spalte — COMPONENT¶
| Schreibweise | Bedeutung |
|---|---|
COMPONENT:spalte.length>n |
Die Spalte muss mehr als n Zeichen enthalten |
Tabelle ohne Regeln¶
Eine Tabelle ohne hinterlegte Regeln gilt grundsätzlich als gültig — vorausgesetzt, alle Pflichtfelder sind gefüllt und die Mindestanzahl an Zeilen ist erreicht. Sobald eine Zeile Daten enthält, aber weder Regeln noch Pflichtfelder definiert sind, wird die Zeile ohne Statussymbol dargestellt.
Eine ausführliche Übersicht über alle Regelarten und das Badge-Konzept findet sich unter Prüfungsregeln.