# SubtotalTitle - Facturedet Sync Update ## Was ist neu? - **📄 Checkbox** bei jeder Section/Textzeile/Subtotal: Element zur Rechnung hinzufügen - **→ Zur Rechnung / ← Aus Rechnung** Buttons: Alle Elemente auf einmal - **ODT-Variablen** für formatierte Ausgabe im PDF/ODT ## Installation ### 1. Dateien kopieren ``` subtotaltitle_complete/ ├── class/ │ └── actions_subtotaltitle.class.php → ERSETZEN ├── ajax/ │ └── sync_to_facturedet.php → NEU ├── js/ │ └── subtotaltitle_sync.js → NEU ├── css/ │ └── subtotaltitle_sync.css → Inhalt zu deiner CSS hinzufügen └── core/ └── substitutions/ └── functions_subtotaltitle.lib.php → NEU (Ordner ggf. erstellen!) ``` ### 2. Modul-Descriptor anpassen In `core/modules/modSubtotalTitle.class.php` ändern: ```php $this->module_parts = array( 'substitutions' => 1, // ← Diese Zeile hinzufügen/ändern! 'hooks' => array( 'data' => array('invoicecard'), 'entity' => '0' ) ); ``` ### 3. Modul deaktivieren und wieder aktivieren Damit die Substitution-Funktion erkannt wird. ## Verwendung ### In der Rechnungsansicht | Element | Checkbox | Bedeutung | |---------|----------|-----------| | Section | 📄 | Zur Rechnung hinzufügen | | Textzeile | 📄 | Zur Rechnung hinzufügen | | Subtotal | 📄 | Zur Rechnung hinzufügen | **Grüner Rand** = Element ist in der Rechnung/PDF enthalten ### Im ODT-Template ``` [!-- BEGIN row.lines --] [!-- IF {line_is_section} --] {line_desc} [!-- ENDIF {line_is_section} --] [!-- IF {line_is_textline} --] {line_desc} [!-- ENDIF {line_is_textline} --] [!-- IF {line_is_normal} --] {line_pos} {line_qty} {line_desc} {line_up_locale} € {line_price_ht_locale} € [!-- ENDIF {line_is_normal} --] [!-- IF {line_is_subtotal} --] Zwischensumme: {line_price_ht_locale} € [!-- ENDIF {line_is_subtotal} --] [!-- END row.lines --] ``` ## special_code Werte | Typ | special_code | ODT-Variable | |-----|-------------|--------------| | Normales Produkt | 0 | `{line_is_normal}` | | Section | 100 | `{line_is_section}` | | Textzeile | 101 | `{line_is_textline}` | | Zwischensumme | 102 | `{line_is_subtotal}` |