feat: repeat claim items in document tables

This commit is contained in:
Marcel Peterkau
2026-06-21 22:33:24 +02:00
parent 6c7bf63280
commit c58072fe45
6 changed files with 157 additions and 17 deletions
+1
View File
@@ -27,6 +27,7 @@
"Positionen, Zahlungen und Mahnungen einer Forderung werden gemeinsam in einer farblich gruppierten Übersicht dargestellt.",
"OpenDocument-Templates mit Platzhaltern, lokaler PDF-Erzeugung, Audit-Verknüpfung und Dokumentöffnung aus der Mitgliederakte ergänzt.",
"Zentrale Vereins- und Absenderdaten sowie getrennte Mitgliedsbereiche für Anschrift, Telefon und validierte Bank-/SEPA-Daten ergänzt.",
"Wiederholbare OpenDocument-Tabellenzeilen für beliebig viele Forderungspositionen eingeführt.",
"Dropdowns zeigen deutsche Begriffe bei weiterhin englischen Speicher-Keys; der Hausmeisterstatus liegt einheitlich in housekeeper.json.",
"Mehrstufiger Mahnworkflow mit Hausmeister-Regel, Entwurf, Versandbestätigung, Zahlungsfrist, optionaler Gebühr und Mahnsperre ergänzt.",
"Splash-Screen auf das eingebettete CCMA-Hintergrundmotiv umgestellt und redundante Titeltexte entfernt.",
+17 -2
View File
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<office:document xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" office:mimetype="application/vnd.oasis.opendocument.text" office:version="1.3">
<office:document xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" office:mimetype="application/vnd.oasis.opendocument.text" office:version="1.3">
<office:styles>
<style:style style:name="Title" style:family="paragraph"><style:paragraph-properties fo:margin-bottom="0.4cm"/><style:text-properties fo:font-size="18pt" fo:font-weight="bold"/></style:style>
<style:style style:name="Heading" style:family="paragraph"><style:paragraph-properties fo:margin-top="0.35cm" fo:margin-bottom="0.15cm"/><style:text-properties fo:font-size="12pt" fo:font-weight="bold"/></style:style>
@@ -15,7 +15,22 @@
<text:p>Anschrift: {{member.address_line}}</text:p>
<text:p>Fällig am: {{claim.due_date}}</text:p>
<text:p text:style-name="Heading">Positionen</text:p>
<text:p>{{claim.items}}</text:p>
<table:table table:name="Forderungspositionen">
<table:table-row>
<table:table-cell><text:p>Beschreibung</text:p></table:table-cell>
<table:table-cell><text:p>Typ</text:p></table:table-cell>
<table:table-cell><text:p>Menge</text:p></table:table-cell>
<table:table-cell><text:p>Einzelpreis</text:p></table:table-cell>
<table:table-cell><text:p>Betrag</text:p></table:table-cell>
</table:table-row>
<table:table-row>
<table:table-cell><text:p>{{#claim.items}}{{item.description}}</text:p></table:table-cell>
<table:table-cell><text:p>{{item.type}}</text:p></table:table-cell>
<table:table-cell><text:p>{{item.quantity}}</text:p></table:table-cell>
<table:table-cell><text:p>{{item.unit_price}} EUR</text:p></table:table-cell>
<table:table-cell><text:p>{{item.amount}} EUR{{/claim.items}}</text:p></table:table-cell>
</table:table-row>
</table:table>
<text:p>Gesamtbetrag: {{claim.total}}</text:p>
<text:p>Bereits bezahlt: {{claim.paid}}</text:p>
<text:p text:style-name="Heading">Offener Betrag: {{claim.balance}}</text:p>