zurück zur Dokumentation

Felder-Referenz

Vollständige Referenz aller Feldtypen in dForge: Text, Zahl, Datum, Dropdown, Lookup, Formel und mehr.

veröffentlicht ·aktualisiert

Überblick

Jede Entitätsspalte hat einen Feldtyp (fieldTypeCd), der bestimmt, wie Daten gespeichert, validiert, dargestellt und bearbeitet werden. Der Feldtyp wird für physische Spalten mit einem PostgreSQL-Datentyp (dbDatatype) gepaart.

Spaltentypen

Die meisten Spalten sind physische Datenbankspalten und brauchen kein columnType. Setzen Sie es nur für die folgenden Sonderfälle:

columnType Beschreibung
(weggelassen) Reguläre physische Datenbankspalte. Speichert einen Wert.
R Reference — virtuelle Spalte. Zeigt einen Wert aus einer verbundenen Entität über einen Fremdschlüssel an (N:1-Lookup). Immer mit einer versteckten FK-Spalte gepaart.
S Set — virtuelle Spalte. Zeigt eine Sammlung von Kind-Datensätzen an (1:N-Beziehung).
F Formula — virtuelle Spalte. Berechneter Wert aus einem Ausdruck. Erfordert baseDatatypeCd.
G Generated — physische Spalte, die von der Datenbank automatisch gepflegt wird.

Textfelder

Feldtyp Anzeigename Beschreibung
text Text Einzeilige Texteingabe. Gespeichert als varchar. Verwenden Sie maxLen, um die Länge zu setzen.
email E-Mail Text mit E-Mail-Format-Validierung. Gespeichert als varchar.
phone Telefon Text mit Telefonnummer-Format. Gespeichert als varchar.
url URL Text, dargestellt als klickbarer Link. Gespeichert als varchar.
textarea Mehrzeiliger Text Mehrzeiliges Textfeld. Gespeichert als text. Konfigurieren Sie defaultLines und maxLines in den Params.
multiline Rich Text Rich-Text-Inhalt mit Formatierung. Gespeichert als text.

Um eine Spalte vollständig aus der Oberfläche auszublenden, geben Sie ihr leere Flags (""), statt einen hidden-Feldtyp zu verwenden.

Zahlenfelder

Feldtyp Anzeigename Beschreibung
number Zahl Numerische Eingabe. Unterstützt min/max-Validierung über Params.
currency Währung Zahl mit Währungssymbol formatiert. Setzen Sie den currency-Param (z. B. „USD“, „EUR“). 2 Nachkommastellen.
percent Prozent Zahl mit %-Symbol angezeigt. 2 Nachkommastellen. Standardbereich 0–100.

Zahlen-Params

Konfigurieren Sie über column.params:

  • min — minimal erlaubter Wert
  • max — maximal erlaubter Wert
  • currency — ISO-Währungscode für Währungsfelder (z. B. „USD“ wird als $ angezeigt)

Datum & Zeit

Feldtyp Anzeigename Beschreibung
date Datum Datums-Auswahl. Gespeichert als date.
datetime Datum & Zeit Datum- und Zeit-Auswahl. Gespeichert als timestamp.
time Zeit Zeit-Auswahl. Gespeichert als time.

Boolean-Felder

Feldtyp Anzeigename Beschreibung
checkbox Checkbox True/false-Umschalter.

Auswahlfelder

Feldtyp Anzeigename Beschreibung
dropdown Dropdown Einzelauswahl aus einer Liste von Optionen.
flags Flags Mehrwert-Auswahl. Wird als Buttons oder Checkboxes angezeigt.
tags Tags Frei eingebbare oder vordefinierte Tag-Eingabe.

Optionen-Konfiguration

Dropdown- und Flags-Optionen werden in column.params.options definiert:

{
  "options": ["Neu", "In Bearbeitung", "Erledigt"]
}

Oder mit Bezeichnungen, Symbolen und Farben:

{
  "options": [
    { "value": "new", "label": "Neu", "color": "#3B82F6" },
    { "value": "active", "label": "Aktiv", "color": "#10B981" },
    { "value": "closed", "label": "Geschlossen", "color": "#6B7280" }
  ]
}

Bedingte Optionen (Option Sets)

Optionen können sich basierend auf dem Wert eines anderen Feldes ändern, mit optionSets:

{
  "optionSets": {
    "condition": "object_type",
    "map": {
      "Entity": ["S", "I", "U", "D", "C"],
      "Action": ["E"],
      "Report": ["E"],
      "*": ["E"]
    }
  }
}

Beziehungsfelder

Feldtyp Anzeigename Spaltentyp Beschreibung
lookup Lookup R (Reference) Durchsuchbares Dropdown, das auf eine andere Entität verweist. Erstellt eine Fremdschlüssel-Beziehung.
grid Detail-Grid S (Set) Eingebettetes Grid, das Kind-Datensätze einer 1:N-Beziehung anzeigt.
user Anwender-Auswahl D (Data) Spezielles Lookup, das die Anwender-Tabelle durchsucht.
entitylink Entitäts-Link D (Data) Polymorpher Link zu einem beliebigen Entitätstyp. Gespeichert als JSON.

Lookup-Konfiguration (FK + Reference-Pattern)

Ein Lookup braucht zwei Spalten: eine versteckte physische Fremdschlüssel-Spalte und eine virtuelle Referenz-Spalte, die das Lookup-Steuerelement rendert.

"account_id": {
  "dbDatatype": "cuid",
  "flags": "EM",
  "orderNum": 30,
  "description": "Account ID"
},
"account": {
  "columnType": "R",
  "fieldTypeCd": "lookup",
  "flags": "VEM",
  "orderNum": 35,
  "description": "Konto",
  "link": {
    "entity": "crm.account",
    "thisKey": "account_id",
    "otherKey": "account_id"
  }
}

Die versteckte FK speichert den Wert; die virtuelle Referenz rendert die Autocomplete und zeigt die toString-Vorlage des verlinkten Datensatzes an.

Medienfelder

Feldtyp Anzeigename Beschreibung
image Bild Bild-Upload mit Vorschau.
file Datei Datei-Upload mit Download-Link.
color Farbauswahl Farbauswahl mit Hex-Wert-Speicherung.

Datenfelder

Feldtyp Anzeigename Beschreibung
json JSON-Editor Strukturierte JSON-Daten mit Syntax-Hervorhebung.

Formel-Spalten

Formel-Spalten (Spaltentyp F) berechnen Werte aus Ausdrücken. Sie haben keine physische Datenbankspalte — Werte werden zur Laufzeit berechnet.

Synchrone Formeln

Sofort aus den lokalen Datensatzdaten ausgewertet:

  • [quantity] * [unit_price] — multipliziert zwei Felder
  • [first_name] + ' ' + [last_name] — verkettet Strings
  • IF([amount] > 1000, 'Hoch', 'Standard') — bedingte Logik

Asynchrone Formeln (Navigation)

Folgen Referenzpfaden, um Daten aus verbundenen Entitäten abzurufen:

  • [account_id].[industry] — holt die Branche vom verlinkten Konto
  • [order_id].[customer_id].[name] — zwei-stufige Navigation

Asynchrone Formeln erfordern einen separaten Datenabruf und werden nach den synchronen Formeln aufgelöst.

Formel-Anforderungen

Formel-Spalten müssen angeben:

  • baseDatatypeCd — der Ergebnistyp (z. B. „string“, „number“)
  • fieldTypeCd — wie das Ergebnis dargestellt wird
  • formula — der Ausdruckstext

Spalten-Params-Referenz

Alle Feldtypen unterstützen diese Params über column.params:

Param Typ Beschreibung
options array Dropdown-/Flags-Optionen
optionSets object Bedingte Optionen basierend auf einem anderen Feld
min / max number Validierungsgrenzen für Zahlen
currency string ISO-Währungscode für Währungsfelder
align string Textausrichtung-Override (left, center, right)
gridWidth number Standard-Spaltenbreite in der Grid-Ansicht
defaultLines number Anfängliche Textfeld-Höhe (Zeilen)
maxLines number Maximale Textfeld-Höhe (Zeilen)
limWidth boolean Feldbreite in Karten-/Formular-Ansicht begrenzen

Spalten-Flags

Spalten verwenden Einzelzeichen-Flags, um das Verhalten zu steuern. Kombinieren Sie sie als einzelnen String (z. B. "VEM").

Flag Bedeutung
V Visible — wird in Grid- und Karten-Ansichten angezeigt
E Editable — Anwender kann den Wert ändern
M Mandatory — beim Insert erforderlich (rotes Sternchen in der Oberfläche)
O On insert — nur beim Insert gesetzt, danach nicht editierbar
S Sortable — Spalte kann sortiert werden
G Groupable — Spalte kann zur Gruppierung verwendet werden
F Filterable — Spalte erscheint in der Filter-Zeile
C Compact — wird in kompakten/Listen-Ansichten angezeigt

Häufige Kombinationen:

Kombination Anwendungsfall
"VEM" Standard-Pflichtfeld
"VE" Standard-optionales Eingabefeld
"V" Schreibgeschützte Anzeige (Formeln, berechnete Werte)
"EM" Versteckte FK-Spalte (mit einer Reference gepaart)
"" Vollständig versteckte Systemspalte

Flags können pro Ordner überschrieben werden, sodass dasselbe Feld in einem Ordner editierbar und in einem anderen schreibgeschützt sein kann.

Nummernsequenzen

Dokument-Entitäten (Rechnungen, Bestellungen, Angebote) können beim Insert automatisch menschenlesbare Nummern generieren. Definieren Sie eine numberSequence auf Entitäts-Ebene:

"numberSequence": {
  "column": "invoice_number",
  "prefixSettingCd": "invoice_number_prefix",
  "defaultPrefix": "INV-",
  "pattern": "{prefix}{yyyy}-{seq:3}",
  "resetPeriod": "year"
}
Property Beschreibung
column Zielspalte, die beim Insert auto-befüllt wird
prefixSettingCd Modul-Einstellungs-Code für den Präfix (ordnergebunden, sodass jede Niederlassung ihren eigenen Präfix verwenden kann)
defaultPrefix Fallback-Präfix, wenn die Einstellung nicht konfiguriert ist
pattern Format-Pattern mit Platzhaltern
resetPeriod Wann der Zähler zurückgesetzt wird: year, month, day oder never

Pattern-Platzhalter: {prefix}, {yyyy}, {yy}, {mm}, {dd}, {seq:N} (mit Nullen aufgefüllte Breite).

Beispiel-Output: INV-2026-001, INV-2026-002, …

Constraints

Fügen Sie CHECK-Constraints auf Entitäts-Ebene für serverseitige und clientseitige Validierung hinzu:

"constraints": {
  "chk_amount_positive": {
    "type": "check",
    "expression": "amount IS NULL OR amount >= 0",
    "message": "Betrag darf nicht negativ sein"
  }
}

Constraints werden zu echten PostgreSQL-CHECK-Constraints auf der Tabelle und werden auch clientseitig über den Formel-Auswerter ausgewertet, für sofortiges UI-Feedback.

Traits

Traits fügen automatisch häufige Spalten hinzu. Geben Sie sie auf Entitäts-Ebene an — sie werden vor Ihren fields angewendet, sodass Sie einzelne Spalten bei Bedarf überschreiben können.

Trait Hinzugefügte Spalten
identity {entity}_id (int8 Primärschlüssel, Snowflake-ID)
audit created_by, modified_by, created_date, modified_date
"traits": ["identity", "audit"]
/ war das hilfreich?

Stecken Sie irgendwo fest?
Sagen Sie es uns.

Wir lesen jede Nachricht und aktualisieren die Dokumentation auf Basis dessen, was Leser fragen. Der schnellste Weg, die Dokumentation zu verbessern, ist, uns zu schreiben.