Amtsbericht: Spalte heisst "Begruendung" und hat Platz
Sein Hinweis: "da ist noch so viel platz, die naechte und satz alleine nehmen so viel raum ein auf dem blatt, da kannst locker zeile begruendung oder so was setzen und da dann storno zu und die nummer vom storno". Stimmt: die Zahlenspalten standen mit viel Luft nebeneinander, waehrend die Begruendung klein gedruckt war. Neu verteilt (in mm): Datum 19 | Rechnung 19 | Begruendung 44 | Name Rest | Naechte 12 | Entgelt 19 | Satz 10 | Steuer 19 Damit passt "storniert mit 2026-901" in EINE Zeile, in normaler Schriftgroesse statt 7,5 pt. Spaltenkopf heisst jetzt "Begruendung" (sein Wort) und "Satz %" nur noch "Satz" - das Prozentzeichen steht ohnehin nirgends im Wert. Angesehen: Tabelle als Bild gerendert, alles einzeilig, auch mit langem Namen. pruef_storno_verrechnet und pruef_berichtigung gruen. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017bEsoFUk16DfnNA7MjY36H
This commit is contained in:
parent
87d92d15b6
commit
ef3eef2852
1 changed files with 11 additions and 7 deletions
|
|
@ -239,14 +239,14 @@ def render_monat(pfad, firma, jahr: int, monat: int, buchungen):
|
|||
|
||||
# Eigene Spalte "Grund" statt einer zweiten Zeile unter der Nummer - seine
|
||||
# Ansage vom 04.09.2026: "mach eine neue spalte mit grund oder so was".
|
||||
kopf = ["Datum", "Rechnung", "Grund", "Name", "Nächte", "Entgelt", "Satz %", "Steuer"]
|
||||
kopf = ["Datum", "Rechnung", "Begründung", "Name", "Nächte", "Entgelt", "Satz", "Steuer"]
|
||||
stile = ["th", "th", "th_l", "th_l", "th", "th", "th", "th"]
|
||||
daten = [[Paragraph(k, st[s_]) for k, s_ in zip(kopf, stile)]]
|
||||
for b in liste:
|
||||
daten.append([
|
||||
Paragraph(b.datum.strftime("%d.%m.%Y"), st["zelle_c"]),
|
||||
Paragraph(b.voll_nummer, st["zelle_c"]),
|
||||
Paragraph(f'<font size="7.5">{_art_text(b, weg)}</font>', st["zelle"]),
|
||||
Paragraph(_art_text(b, weg), st["zelle"]),
|
||||
Paragraph(b.nachname, st["zelle"]),
|
||||
Paragraph(str(b.naechte), st["zelle_c"]),
|
||||
Paragraph(eur_kurz(b.gezahlt), st["zelle_r"]),
|
||||
|
|
@ -261,13 +261,17 @@ def render_monat(pfad, firma, jahr: int, monat: int, buchungen):
|
|||
# Namensspalte nur so breit wie der breiteste Name (Rest der Tabelle ist fest)
|
||||
breiteste = max([stringWidth(b.nachname, "Helvetica", 8.5) for b in liste]
|
||||
+ [stringWidth("Name", "Helvetica-Bold", 8)])
|
||||
# Die feste Breite ist durch die Grund-Spalte gewachsen; der Name bekommt,
|
||||
# was uebrig bleibt (34 mm reichen fuer die ueblichen Namen, lange brechen um).
|
||||
name_w = min(max(breiteste + 6 * mm, 22 * mm), CONTENT_W - 140 * mm)
|
||||
# Die Zahlenspalten brauchen wenig - "Naechte", "Satz" und die Betraege
|
||||
# standen frueher mit viel Luft nebeneinander. Sein Hinweis vom 04.09.2026:
|
||||
# *"da ist noch so viel platz, die naechte und satz alleine nehmen so viel
|
||||
# raum ein, da kannst locker zeile begruendung setzen"*. Also enger gestellt
|
||||
# und der Begruendung so viel gegeben, dass "storniert mit 2026-901" in EINE
|
||||
# Zeile passt - in normaler Schriftgroesse, nicht kleingedruckt.
|
||||
name_w = min(max(breiteste + 6 * mm, 22 * mm), CONTENT_W - 142 * mm)
|
||||
|
||||
tabelle = Table(daten, repeatRows=1, hAlign="LEFT",
|
||||
colWidths=[20 * mm, 20 * mm, 34 * mm, name_w,
|
||||
13 * mm, 20 * mm, 12 * mm, 21 * mm])
|
||||
colWidths=[19 * mm, 19 * mm, 44 * mm, name_w,
|
||||
12 * mm, 19 * mm, 10 * mm, 19 * mm])
|
||||
tabelle.setStyle(TableStyle([
|
||||
("BACKGROUND", (0, 0), (-1, 0), GREY_BG),
|
||||
("LINEBELOW", (0, 0), (-1, 0), 0.8, ACCENT),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue