ToolBoxx:DMS

Version vom 29. Januar 2026, 12:09 Uhr von Creationx (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „= DMS (Dokumentenmanagementsystem) = Das DMS-Modul dient der zentralen Verwaltung, Klassifizierung und Verknüpfung von Dokumenten wie Rechnungen, Angebote, Auftragsbestätigungen und sonstigen Belegen. Es ist eng mit Kontakten, Projekten und der Kontakt-Historie verbunden. == Routen & Controller == Route: dms.index Controller: \App\Http\Controllers\DMS\DmsController Methode: index Beschreibung: Zeigt die Index-Ansicht des Dokumentenmanagementsystems…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

DMS (Dokumentenmanagementsystem)

Das DMS-Modul dient der zentralen Verwaltung, Klassifizierung und Verknüpfung von Dokumenten wie Rechnungen, Angebote, Auftragsbestätigungen und sonstigen Belegen.

Es ist eng mit Kontakten, Projekten und der Kontakt-Historie verbunden.


Routen & Controller

Route: dms.index Controller: \App\Http\Controllers\DMS\DmsController Methode: index Beschreibung: Zeigt die Index-Ansicht des Dokumentenmanagementsystems

Die Index-Route rendert eine InertiaUI Table, welche über die Tabellenklasse App\Tables\Dms definiert ist.


Tabellenarchitektur

Die DMS-Übersicht basiert auf einer InertiaUI Table.

Eine Tabelle besteht aus folgenden Kernbestandteilen: - Resource (Datenquelle / Eloquent Model) - Columns (sichtbare Spalten) - Filters (Filtermöglichkeiten) - Actions (Zeilenaktionen) - Transforms (Anpassung der Ausgabeformate)


Resource (Datenquelle)

Verwendetes Model: App\Models\DMS\Dms

Suchfelder: - dokument_titel - dokument_inhalt

Standardsortierung: - datum_dokument_erstellt (absteigend)


TransformModel

Vor der Ausgabe werden bestimmte Felder transformiert.

Zweck: - Umwandlung interner Geldwerte (Minor Units) - Ausgabe als formatierte Preise

Transformierte Felder: - betrag_netto - betrag_brutto


Spaltenübersicht

Vorschau: - Typ: ImageColumn - Beschreibung: Dokumentvorschau (Thumbnail)

Aktionen: - Typ: ActionColumn - Beschreibung: Kontextaktionen (z. B. Vorschau)

Titel: - Typ: TextColumn - Beschreibung: Dokumenttitel mit Link zur Detailansicht

Typ: - Typ: BadgeColumn - Beschreibung: Dokumenttyp (Enum-basiert)

Kontakt: - Typ: TextColumn - Beschreibung: Verknüpfter Kontakt (optional)

Referenz: - Typ: TextColumn - Beschreibung: Referenznummer oder Freitext

Geprüft: - Typ: BooleanColumn - Beschreibung: Kennzeichnung, ob Dokument geprüft ist

OCR: - Typ: BooleanColumn - Beschreibung: Gibt an, ob OCR-Daten vorhanden sind

Betrag Netto: - Typ: NumericColumn - Beschreibung: Netto-Betrag des Dokuments

Betrag Brutto: - Typ: NumericColumn - Beschreibung: Brutto-Betrag (standardmäßig ausgeblendet)

Dokumenten-Datum: - Typ: DateColumn - Beschreibung: Datum des Dokuments

Erstellt am: - Typ: DateColumn - Beschreibung: Erstellungsdatum des Datensatzes


Filter

Dokumenten-Datum: - Typ: DateFilter - Beschreibung: Filter nach Dokumenten-Datum

Erledigt am: - Typ: DateFilter - Beschreibung: Filter nach Abschlussdatum

Typ: - Typ: SetFilter - Beschreibung: Filter nach Dokumenttyp (Enum)

Referenz: - Typ: TextFilter - Beschreibung: Filter mit Vergleichsoperatoren


Aktionen

Verfügbare Zeilenaktionen: - Vorschau (öffnet Dokument in einem Drawer)


Observer (DmsObserver)

Der DmsObserver reagiert auf Lebenszyklus-Ereignisse des DMS-Modells.


Löschen eines Dokuments

Beim Löschen eines Dokuments werden automatisch: - Suchindex-Einträge entfernt - Relationen gelöscht - Kontakt-Historien bereinigt - Physische Dateien gelöscht (Original, Vorschau, Zusatzdateien)


Erstellen & Aktualisieren

Beim Erstellen oder Aktualisieren eines Dokuments: - wird ein Kontakt-Historieneintrag erzeugt oder aktualisiert - wird der Historientyp abhängig vom Dokumenttyp gesetzt - werden Beträge und Dokumentdaten in die Kontaktchronik übernommen


Kontakt-Historien-Zuordnung

Eingangsrechnung: - Historientyp: Incoming Invoice

Ausgangsrechnung: - Historientyp: External Invoice

Angebot: - Historientyp: Offer

Auftragsbestätigung: - Historientyp: Order Confirmation

Sonstige Dokumente: - Historientyp: Allgemeiner DMS-Eintrag


Zusammenfassung

Das DMS-Modul: - nutzt InertiaUI Tables als zentrales Anzeigeelement - kapselt Business-Logik im Observer - synchronisiert Dokumente mit Kontakten und Historie - trennt Darstellung, Datenquelle und Logik sauber

Diese Architektur ermöglicht: - gute Wartbarkeit - Erweiterbarkeit - konsistente Datenhaltung