Zum Hauptinhalt springen

Tabellen und Spaltenkonfiguration

Zweck

Alle Listenseiten in SpeamCore (Kunden, Aufträge, Belege, Produkte, ...) nutzen denselben Tabellen-Mechanismus auf Basis von MUI DataGridPremium mit einem internen Wrapper namens DataGridContainer. Diese Seite erklaert, was Sie als Anwender davon erwarten koennen — sortieren, filtern, suchen, Spalten ein-/ausblenden, Daten exportieren — und wie Spalten pro Mandant zentral konfiguriert sind.

Funktionen

FunktionBedienungBemerkung
SortierungSpaltenkopf anklickenMehrfach-Sortierung per Shift-Klick.
FilterFiltersymbol im SpaltenkopfOperatoren wie enthaelt, gleich, groesser als, vorhanden.
VolltextsucheSuchfeld obenSucht über alle indizierten Spalten.
Spalten ein-/ausblendenSpaltenbutton in der ToolbarAuswahl ist pro Anwender persistent.
Spalten umordnenSpaltenkopf greifen und ziehenPro Anwender persistent.
PaginationFooterDefault 25 Zeilen pro Seite, einstellbar bis 100.
Multi-SelectCheckbox links in der ZeileVoraussetzung für Bulk-Aktionen.
ExportToolbar → ExportCSV oder Excel.

Spaltenkonfiguration (Column Configs)

Pro Modul liegt im Frontend eine <entity>FieldsConfig.ts. Sie beschreibt:

  • Welche Spalten existieren (Feldname, Header, Datentyp, Renderer).
  • Reihenfolge.
  • Default-Sichtbarkeit pro Spalte.
  • Sichtbarkeits-Bedingungen (z. B. abhaengig von documentType oder isCalculationProduct).
  • Disabled-Bedingungen (z. B. wenn locked = true).
  • Pflichtfeld-Markierung.

Wenn Sie als Administrator eine Spalte hinzufuegen oder umbenennen wollen, geschieht das im Code (FieldsConfig). Eine UI-basierte Spaltenkonfiguration auf Mandantenebene ist noch nicht vorhanden.

Stand der Doku: Custom-Felder per Mandant sind über Attribute und AttributeGroups realisiert (Welle 19) — diese erscheinen pro Detail-Form als Custom-Felder, nicht als zusaetzliche Spalten in DataGrids. Eine Spalten-Custom-Konfiguration in der DataGrid-Ansicht selbst ist nicht implementiert; bei Bedarf waere es ein eigenes Feature.

Filter-Werte aus dem Backend

Manche Filter-Dropdowns (z. B. Status auf Aufträgen oder documentType + Status auf Verkaufsbelegen) werden über dedizierte Endpoints befuellt, die nur die in der Datenbank tatsaechlich vorkommenden Werte zurückgeben:

ModulEndpointZweck
AufträgeGET /api/workorders/available-statusesDISTINCT-Status
VerkaufsbelegeGET /api/sales-documents/available-filter-valuesDISTINCT-Pairs (documentType + status)

Dieses Muster vermeidet, dass die Filter-Dropdowns die kompletten Listen abfragen muessen.

Pflicht-Felder pro Spalte

Tabellenkopf-Beschriftung folgt dem i18n-Schlüssel des jeweiligen Modells (z. B. customerNo, salesDocumentType). Spalten-Sichtbarkeit kann durch CASL-Subjects beschnitten werden — fehlt z. B. view:Account, sind Konto-Spalten ausgeblendet.

Hinweise für KIera

Wenn ein Anwender fragt „Wie blende ich die Spalte X ein?" — antworten Sie immer mit: 1. „Klicken Sie in der Toolbar auf das Spaltenbutton." 2. „Setzen Sie den Haken bei der gewuenschten Spalte." 3. „Die Auswahl wird automatisch für Sie gespeichert."

Wenn die Spalte gar nicht in der Auswahl erscheint, fehlt eine Berechtigung (view:<Subject>). Verweisen Sie dann auf Berechtigungen verstehen (CASL).

Verknuepfungen

  • Auf jede Routen-Funktionsseite, die eine Liste enthält, verlinken Sie diese Seite im Abschnitt Wiederverwendbare Konzepte.
  • Berechtigungen verstehen (CASL)

Versionshinweise

  • 2026-04-29: Initiale Veroeffentlichung.