# CHANGELOG MODULE SUBTOTALTITLE FOR [DOLIBARR ERP CRM](https://www.dolibarr.org) Alle wichtigen Änderungen werden hier dokumentiert. Das Format basiert auf [Keep a Changelog](https://keepachangelog.com/de/1.0.0/), und dieses Projekt folgt [Semantic Versioning](https://semver.org/lang/de/). ## [4.2] - 2026-03-03 ### Fixed - **Datenbank-Kompatibilität**: DELETE mit JOIN durch Subquery ersetzt für PostgreSQL-Kompatibilität - **Duplikat-Schutz für Subtotals**: Prüfung in Detail-Tabelle UND Manager-Tabelle vor dem Erstellen - **SQL-Injection-Schutz**: `addslashes()` durch `$db->escape()` ersetzt - **Präzisere Duplikat-Erkennung**: LIKE durch exakten Match ersetzt ## [4.1] - 2026-03-02 ### Added - **Import-Funktion für Produktgruppen**: Sections, Textzeilen und Subtotals können von Angebot zu Auftrag und von Auftrag zu Rechnung importiert werden - **Automatisches Produkt-Mapping**: Produkte werden anhand der `fk_product` den passenden Sections zugeordnet - **Import-Button in GUI**: Neuer Button "Import von [Ursprungsdokument]" mit Bestätigungsdialog ### Changed - **Rang-Synchronisation**: `rang` in Dolibarr-Tabelle und `line_order` in Manager-Tabelle werden beim Import synchronisiert ## [4.0] - 2026-02-28 ### Added - **Multi-Dokument-Support**: Vollständige Unterstützung für Rechnungen, Angebote UND Kundenaufträge - **DocumentTypeHelper-Klasse**: Zentrale Verwaltung der Tabellennamen pro Dokumenttyp - **Einheitliche API**: Alle AJAX-Endpunkte unterstützen `document_type` Parameter ### Changed - **Datenbank-Schema erweitert**: `fk_propal`, `fk_commande`, `fk_propaldet`, `fk_commandedet` hinzugefügt - **Hooks erweitert**: `propalcard` und `ordercard` zum Hook-Array hinzugefügt ## [3.0] - 2026-02-25 ### Added - **Dokument-Synchronisation**: "Zum Dokument" / "Aus Dokument" Buttons für Batch-Sync - **In-Dokument-Checkbox**: Einzelne Elemente können zum PDF hinzugefügt/entfernt werden - **Grüner Rand**: Visuelle Kennzeichnung für im Dokument enthaltene Elemente - **ODT-Substitutionsvariablen**: `line_is_section`, `line_is_textline`, `line_is_subtotal`, etc. ### Changed - **special_code Werte**: 100=Section, 101=Text, 102=Subtotal ## [2.0] - 2026-02-20 ### Added - **Drag & Drop Sortierung**: Sections und Produkte können per Drag & Drop sortiert werden - **Link-Button**: Produkte können über Button einer Section zugeordnet werden - **Collapse/Expand**: Sections können ein-/ausgeklappt werden - **Verwaiste Zeilen Button**: Button zum Entfernen verwaister Manager-Einträge ### Fixed - **Hardcodierte Pfade**: Relative Pfade statt absoluter Pfade ## [1.1] - 2026-02-15 ### Fixed - **Zwischensumme bei Section-Löschung**: Zugehörige Subtotals werden beim Löschen einer Section mitgelöscht - **Verwaiste Subtotals aufräumen**: Automatische Bereinigung nach jeder Zeilenlöschung ## [1.0] - 2026-02-01 ### Added - Initiale Version - **Sections (Überschriften)**: Produkte in Gruppen organisieren - **Textzeilen**: Freie Texte ohne Preis einfügen - **Zwischensummen**: Automatische Berechnung pro Section - **Manager-Tabelle**: `llx_facture_lines_manager` für Strukturverwaltung - Nur Rechnungen-Support (facturedet)