Zum Hauptinhalt springen

Standardwerte und Attributfelder

Zweck

Zwei UI-Patterns laufen quer durch praktisch jede Stammdaten- und Mandanten-Maske in SpeamCore. Diese Seite erklaert beide an einer Stelle, damit Routen-Funktionsseiten sie nur verlinken, statt sie wiederholt zu erklaeren.

  1. Standardwert aus Haupteinstellungen, falls leer — Felder mit diesem Placeholder übernehmen den Mandanten-Default beim Beleg-Druck.
  2. „Neues Attributfeld" / „Neues Feld" — Custom-Felder pro Datensatz, die nicht im fixen Schema vorgesehen sind.

1. Standardwerte aus Haupteinstellungen

Wie das aussieht

Felder, die diesen Mechanismus nutzen, zeigen im leeren Zustand einen Placeholder im Format:

<Feldname> - (Standardwert aus Haupteinstellungen, falls leer)

Beispiele auf der Niederlassungs-Detailseite:

  • E-Mail (Allgemein) - (Standardwert aus Haupteinstellungen, falls leer)
  • Telefon - (Standardwert aus Haupteinstellungen, falls leer)
  • USt-IdNr. - (Standardwert aus Haupteinstellungen, falls leer)

Was das bedeutet

Wenn das Feld auf der Niederlassung leer bleibt, zieht das System beim Beleg-Druck und in Reports den Wert aus den Mandanten-Haupteinstellungen (zentral hinterlegt unter „Einstellungen → Mandant" und initial im Setup-Wizard Schritt 1 erfasst).

Wird das Feld auf der Niederlassung explizit gefuellt, hat dieser Wert Vorrang über den Mandanten-Default — z. B. wenn die Niederlassung Stuttgart eine eigene USt-IdNr. fuehrt, die sich vom Mandanten-Hauptsitz unterscheidet.

Wo der Pattern auftaucht

MaskeFelder mit Mandanten-Default
Niederlassungen (Branch)E-Mail, Telefon, Fax, Webseite, Geschaeftsfuehrer(in), USt-IdNr., Steuernummer, Handelsregisternummer
Standorte (Location)abhaengig von Konfiguration
Kunden (Customer)nicht typisch — Kundendaten kommen vom Kunden, nicht vom Mandanten

Stand der Doku: Eine vollständige Liste pro Maske ergibt sich aus den *FieldsConfig.ts-Dateien im FE-Repo (speamcore.com/src/pages/<Entity>/<entity>FieldsConfig.ts). Bei Änderungen am FE muessen Doku-Tabellen pro Modul nachgezogen werden.

Hinweis für KIera

Wenn ein Anwender fragt: „Auf der Rechnung steht eine USt-IdNr., die ich an der Niederlassung gar nicht gepflegt habe — wie kommt die da hin?" — antworten Sie: 1. „Der Wert kommt aus den **Mandanten-Haupteinstellungen** und wird automatisch verwendet, wenn das Feld an der Niederlassung leer ist." 2. „Wenn Sie pro Niederlassung einen abweichenden Wert wollen, tragen Sie ihn dort direkt ein."

2. Attributfelder und „Neues Feld"

Am unteren Rand vieler Detailseiten finden Sie zwei Buttons:

  • Neues Attributfeld — fuegt ein strukturiertes Custom-Feld hinzu.
  • Neues Feld — fuegt ein generisches Freitextfeld hinzu.

Strukturiertes Attributfeld

Ein Attributfeld ist ein Custom-Feld, das über AttributeParent an den Datensatz gehaengt wird. Sie wählen typischerweise:

  • Schlüssel (z. B. „Wartungsvertrag-Nr.")
  • Wert (Freitext, Datum, Zahl je nach Typ)
  • Sichtbarkeit (intern oder im Beleg-Druck mit auffuehren)

Attributfelder sind in der Datenbank konsistent typisiert und filterbar — sie eignen sich, wenn dasselbe Feld an vielen Datensaetzen wiederkehrt.

Generisches „Neues Feld"

Ein generisches Feld ist ein einzelner Schlüssel-Wert-Eintrag ohne strukturiertes Schema — schnell anzulegen, aber nicht filterbar. Es eignet sich für Einzelfaelle.

Wo das auftaucht

MaskeButtons
Niederlassungen (/branches)beide
Kunden (/customers)beide (typisch)
Standorte (/locations)beide (typisch)
Produkte (/products)Attributfeld via Tab „Attribute"

Stand der Doku: Die obige Liste ist nicht abschliessend — viele Module haben Custom-Field-Buttons (Neues Attributfeld / Neues Feld). Eine systematische Bestandsaufnahme erfolgt am besten über grep "Neues Attributfeld" docs/.

CASL

ActionSubjectWirkungKeycloak-Rolle
viewAttributeParentAttributfelder lesenAPP_SPEAMCORE_VIEW_ATTRIBUTE_PARENT
create/update/deleteAttributeParentAttributfelder pflegenAPP_SPEAMCORE_CREATE/UPDATE/DELETE_ATTRIBUTE_PARENT

Hinweis für KIera

Wenn ein Anwender ein Feld vermisst (z. B. „Auftragsverantwortlicher", „Wartungsvertragsnummer"), antworten Sie: 1. „Prüfen Sie, ob das Feld bereits als Attributfeld am Datensatz existiert (am unteren Rand der Detailseite)." 2. „Ist das Feld nicht vorhanden, koennen Sie es über **Neues Attributfeld** anlegen — empfohlen für wiederkehrende Daten." 3. „Für Einzelfaelle reicht **Neues Feld**."

Verknuepfungen

Versionshinweise

  • 2026-04-29: Initiale Veroeffentlichung.