Referenz
Feldarten
Diese Seiten beschreiben, wie jede Feldart eingestellt wird. Was Erfassende im Layout sehen und wie sie Werte eingeben, steht im Anwenderhandbuch unter Feldarten . Jede Seite hier verweist auf ihr Gegenstück dort.
Feldarten sind vom Programm vorgegeben und lassen sich nicht anlegen. Angelegt werden Felder, siehe Felder und Feld anlegen .
Katalog
Die Gruppen folgen der Auswahl beim Anlegen eines Feldes. Der Bezeichner ist das, was dort und in den Felddetails unter Feldart steht.
| Gruppe | Feldart | Bezeichner | Seite |
|---|---|---|---|
| Text | Text | text | Text |
| Formatierter Text | html | Formatierter Text | |
| Link | link | Link | |
| Zahlen und Maße | Dezimalzahl, Ganzzahl | decimal, int | Zahl |
| Datum und Zeit | Datum | date | Datum |
| Uhrzeit | time | Uhrzeit | |
| Datum und Uhrzeit | datetime | Datum und Uhrzeit | |
| Auswahl | Auswahlliste | select | Auswahlliste |
| Auswahlbaum | treeselect | Auswahlbaum | |
| Auswahlliste mit Hierarchie | treesvelecte | Auswahlliste mit Hierarchie | |
| Schalter | switch | Schalter | |
| Verknüpfungen, Normdaten, Adressen | Normdatensatz | normdata | Normdatensatz |
| Adresse | address | Adresse | |
| Geoposition | geolocation | Geoposition | |
| Objekt | object | Objekt | |
| Plan | plan | Wandplaner | |
| Dateien und Medien | Bild | image | Bild |
| Datei | file | Datei | |
| 3D | 3d | 3D | |
| Berechnet, JSON, eigener Code | JSON | json | JSON |
| JSON-Schema | json_schema | JSON-Schema | |
| Virtuelles Feld | virtual | Virtuelles Feld | |
| Vorlagenfeld | custom_text, custom_int, custom_decimal, custom_svelte_text, custom_svelte_int, custom_svelte_decimal | Vorlagenfeld |
Die Bezeichner sind englisch und klein geschrieben, so stehen sie auch in Exporten und Konfigurationen.
Noch ohne Eingabemaske
Diese Feldarten lassen sich anlegen, stehen in der Auswahl aber mit dem Zusatz „noch ohne Eingabemaske“. Ein Feld dieser Art zeigt nur ein gesperrtes Textfeld mit dem Rohwert.
| Bezeichner | Stattdessen | Umstellen ohne Datenverlust |
|---|---|---|
keywords | select mit multiple und creatable, oder normdata für ein gepflegtes Vokabular | auf select ja |
audio, video, panorama | file | ja |
number_formatted, number_labeled | decimal | ja |
Die Schlagworte einer Datei sind etwas anderes: sie hängen an der Datei und sind über Bildfeld~keywords erreichbar.
Parameter und Vorgabe der Feldart
Die Konfiguration eines Feldes pflegen die Felddetails unter Datenmodell › Felder:
| Abschnitt | Inhalt |
|---|---|
| Grunddaten | Feldbezeichnung, Feldgruppe, Hinweis, Beispielinhalt, Feldart |
| Parameter | Die Schlüssel der Feldart als Formular, dazu bei jeder Feldart der Speicherort , darunter Alle Parameter als JSON |
| Feld zeigt auf Verknüpfung | Die Verknüpfungsart, etwa beim Objektfeld |
| Ausgabe | Ausgabe-Formatter, siehe Formatierungen |
| Bedingungen | Pflicht, Eindeutigkeit, eigene Regel, Dublettenverdacht |
| Bereinigung | Schritte vor dem Speichern, siehe Bereinigung |
| Eigener Code | HTML-Vorlage oder Svelte-Komponente der Vorlagenfelder |
| Rechte | Lese- und Schreibrechte für alle und je Gruppe |
| Verwendung | Projekte, Layouts und Objekte, die das Feld nutzen |
Die Tabellen auf den Feldartseiten nennen in der Spalte Ohne Angabe, was das Feld tut, wenn der Schlüssel fehlt. Daneben hat jede Feldart eine Vorgabe, gepflegt unter Datenmodell › Feldarten als „Vorgabe-Parameter“. Sie gilt nur für Felder ohne eigene Konfiguration. Sobald ein Feld eigene Parameter hat, gelten nur diese; „Vorgabe der Feldart“ in den Felddetails mischt die Schlüssel der Vorgabe auf Wunsch in die eigene Konfiguration. Das Formular unter Parameter lässt einen Schlüssel weg, wenn sein Wert der Formularvorgabe entspricht.
Wie die Konfiguration aufgebaut ist, wie ein Konfigurations-Hook sie je Projekt übersteuert und was bei fehlerhaftem JSON passiert, steht unter Feldkonfiguration .
Formatierungen
Eine Formatierung (Ausgabe-Formatter) ist eine zweite Lesart des Rohwerts: 1 234,50 cm statt 1234.5, die Anschrift statt der Kennungskette. Sie wirkt in Galerie, Tabelle und Kanban, im
Excel-Export und in Word-Vorlagen. Seit Version 1.4.23 bringt jede Feldart außer text mindestens eine
Formatierung mit:
| Feldart | Formatierungen der Feldart | Vorbelegt in den Ansichten |
|---|---|---|
decimal, int | Zahl · Zahl mit Einheit | nein |
date | Datum TT.MM.JJJJ | nein |
time | Uhrzeit HH:MM | nein |
datetime | Zeitstempel TT.MM.JJJJ HH:MM | nein |
switch | Beschriftung | nein |
html | Nur der Text | ja |
link | Ohne Protokoll · Nur die Domain | nein |
select, keywords | Mit Mittelpunkt getrennt | nein |
treeselect, treesvelecte | Nur die unterste Ebene | nein |
normdata | Nur das Label · Label mit Quelle | ja (Nur das Label) |
object | Kurzzitat · Vollzitat | nein |
address | Adresse einzeilig | ja |
geolocation | Ort einzeilig | ja |
image, file, 3d, audio, video, panorama | Dateititel | ja |
json | Einträge einzeilig | nein |
Im Export bleibt überall der Rohwert vorbelegt. Gespeicherte Excel-Voreinstellungen und Vorlagen ändern sich dadurch nicht. Datum, Zeitstempel und Schalter sind absichtlich auch in den Ansichten nicht vorbelegt: dort folgt die Anzeige schon der persönlichen Einstellung.
Feldart und Feld
Formatierungen gibt es auf zwei Stufen. Die Feldart bringt ihre unter Datenmodell › Feldarten mit;
ein Feld ergänzt eigene unter Ausgabe. Beide werden nach Kennung zusammengeführt: bei gleicher
Kennung gewinnt das Feld, alles andere der Feldart bleibt am Feld wählbar. Eine neue eigene Formatierung
bekommt deshalb eine freie Kennung. Die Variante standard ist die, die der schlichte Feldname in
Vorlagen adressiert; weitere heißen Feld#kennung.
Die Vorbelegung lässt sich je Ort getrennt setzen und an einem einzelnen Feld ändern, ohne den Rumpf der Feldart abzuschreiben. Ein Eintrag mit Kennung und ohne Rumpf ist genau diese Aussage:
JSON{ "output": [{ "name": "standard", "default": { "view": "raw", "export": "raw" } }] }
Ein Formatter sieht nur sein eigenes Feld. Der Rumpf läuft im selben geprüften Sandkasten wie virtuelle Felder und Bedingungen, siehe Virtuelles Feld . Fällt er durch die Prüfung, gibt es keinen Formatter; die Spalte bleibt roh statt falsch. Aufbau und Beispiele stehen unter JSON , die Verwendung in Vorlagen unter Ausgabe-Formatter in Vorlagen .
Speicherort
Ein Objekt kann in mehreren Projekten stehen. Ein Feldwert gilt dann gewöhnlich überall, als Basiswert; ein Projekt kann ihn mit einem eigenen Wert überdecken, siehe Projektspezifischen Wert setzen . Der Speicherort legt je Feld fest, wohin ein Wert geschrieben wird. Ihn hat jede Feldart; er steht unter Parameter im Abschnitt Speicherort.
| Speicherort (im Formular) | project_scope | Wirkung |
|---|---|---|
| Basis (Vorgabe) | fehlt | Wie bisher: Hybrid (auto) schreibt in den Wert des Projekts, wenn es einen hat, sonst in den Basiswert |
| Bevorzugt im Projekt | prefer | Hybrid (auto) schreibt immer in einen Wert des aktuellen Projekts und legt ihn bei Bedarf an. Nur der Bereich Basisobjekt und die Zeile des Basiswerts in den Felddetails schreiben noch den Basiswert. Vorhandene Basiswerte bleiben, wo sie sind |
| Immer im Projekt | force | Jeder Schreibvorgang landet im Wert des Projekts, auch im Bereich Basisobjekt. Ein Schreiben ohne Projekt wird abgelehnt |
JSON{ "project_scope": "force" }
Die Regel gilt für jeden Weg, auf dem ein Wert mit Projekt geschrieben wird: die Objektansicht, die Stapelverarbeitung, der Excel-Import, ein neues Objekt, die Bereinigung, KI-Vorschläge, Kopien. So bleiben etwa Leihstatus oder Katalognummer im Projekt, auch wenn das Objekt später in ein weiteres Projekt verknüpft wird.
Wer ein Feld auf Immer im Projekt umstellt, bekommt beim Speichern die Rückfrage Werte in die Projekte verschieben? mit der Zahl der Basiswerte. Verschieben kopiert jeden in alle Projekte, in denen sein Objekt steht, und leert danach die Basis. Zurückstellen verschiebt nichts zurück.
Es zählt nur die eigene Konfiguration des Feldes, ohne Feldkonfiguration sonst die Vorgabe der Feldart.
Ein project_scope in den hooks einer Projekt-Abweichung wirkt nicht: der Server entscheidet für alle
Projekte gleich. Vererbung und SQL-Migrationen schreiben weiter in die Basis.
Bedingungen
Für jede Feldart lassen sich unter Bedingungen vier Prüfungen setzen: darf nicht leer sein, im Projekt einmalig, in der Datenbank einmalig, eigene Regel. Eine verletzte Bedingung ist ein Hinweis, keine Sperre: der Wert wird gespeichert, das Feld trägt ein rotes Ausrufezeichen, eine Leiste über dem Layout zählt die betroffenen Felder des ganzen Objekts. Die Eindeutigkeit vergleicht Text großzügig (Groß/Klein und Akzente zählen nicht), mit streng vergleichen jedes Zeichen. Bedingungen stehen nur am Feld, nie in der Vorgabe der Feldart, und lassen sich per Konfigurations-Hook je Projekt ändern. Einzelheiten unter Felder .
JSON{ "conditions": { "required": true, "unique": { "message": "Inventarnummer doppelt" } } }

Bereinigung
Die Bereinigung hat eine Ebene je Feldart: Auf der Seite Datenmodell › Feldarten steht bei jeder Feldart ihre Kette, mit Probe und Bestand bereinigen für alle Felder dieser Feldart. Ab Werk entfernen alle Feldarten mit Textwerten den Leerraum am Rand, Ganzzahl und Dezimalzahl machen aus einem Dezimalkomma einen Punkt. Ein Feld oder ein Projekt kann diese Schritte ausschalten und eigene ergänzen. Siehe Bereinigung .
Rechte
Lese- und Schreibrechte setzt der Abschnitt Rechte für alle und je Gruppe; das höhere Recht gilt. Siehe Rechtemodell . Feldartspezifisch sind:
| Feldart | Besonderheit |
|---|---|
| Adresse | Zuweisen braucht Schreibrecht auf das Feld, Anlegen und Bearbeiten von Adressen das Recht auf das Adressbuch |
| Normdatensatz | editable regelt, welche Datensätze im Formular geändert werden dürfen |
| Uhrzeit | disabled sperrt die Eingabe auch bei Schreibrecht |
| Virtuelles Feld | Kein eigenes Recht. Sichtbar nur, wer alle Quellen lesen darf |
Feldart umstellen
Eine Feldart lässt sich unter Grunddaten nur auf eine Feldart mit derselben Speicherform umstellen; die Oberfläche bietet nur diese an. Die Werte bleiben dabei unberührt.
| Speicherform | Untereinander umstellbar |
|---|---|
| Text | text, select, html, link, switch, treeselect, treesvelecte, json, json_schema, keywords, custom_text, custom_svelte_text |
| Ganzzahl | int, custom_int, custom_svelte_int |
| Dezimalzahl | decimal, number_formatted, number_labeled, custom_decimal, custom_svelte_decimal |
| Datum | date |
| Uhrzeit | time |
| Zeitstempel | datetime |
| Datei | image, file, 3d, audio, video, panorama |
Verweisarten (address, normdata, geolocation, plan, object) stehen jeweils allein. Umstellbar heißt
nicht bedeutungsgleich: aus einem Schalter wird eine Auswahlliste mit den Werten 1 und 0.
Die passende Feldart wählen
| Frage | Folge |
|---|---|
| Wird nach dem Wert gefiltert, sortiert oder gruppiert? | Ein eigenes Feld mit passender Speicherform. Zahlen als decimal, Daten als date, sonst werden Vergleiche zu Textvergleichen |
| Ist die Wertemenge begrenzt? | select, nicht text. Freitext erzeugt Varianten (Öl/Leinwand, Öl auf Leinwand), die keine Gruppierung mehr zulassen |
| Hat die Wertemenge Ebenen? | Auswahlbaum oder Auswahlliste mit Hierarchie. Sie speichern den Pfad und erlauben Gruppierung je Ebene |
| Braucht der Begriff Kennung und Quelle, etwa für LIDO? | normdata |
| Wiederholt sich eine Struktur mit einem Zusatz (Titel je Sprache, Maße je Bereich)? | json. Ein Feld statt zwölf |
| Ist der Wert aus anderen Feldern ableitbar? | virtual statt doppelter Erfassung |
Ein Feld Höhe (cm) mit Freitext ist ein häufiger Erfassungsfehler. Richtig ist ein decimal-Feld mit
Einheiten: gespeichert wird in der Basiseinheit, angezeigt in der gewählten. So bleibt der Wert
vergleichbar, sortierbar und rechenbar. Siehe Zahl .