Vodafone: Zuordnung über Kundennamen in GROSSBUCHSTABEN, feste Händler-Zuweisung, nur erste Seite
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
da2e3c9ba1
commit
a837ddc4d4
6 files changed
+235
-27
No files matched your search
+10
-7
@@ -288,13 +288,16 @@ def lies_datei(path: str | Path) -> ImportErgebnis:
|
||||
)
|
||||
|
||||
warnungen: list[str] = []
|
||||
# Vodafone/Euronics: Das Blatt "All" enthält alle Abrechnungsläufe. Sind zusätzlich
|
||||
# Einzelblätter befüllt, würden Positionen doppelt gezählt – daher nur "All" verwenden.
|
||||
alle = [g for g in gefunden if g[0].lower() == "all"]
|
||||
if alle and len(gefunden) > 1:
|
||||
uebrig = [g[0] for g in gefunden if g is not alle[0]]
|
||||
warnungen.append(f"Nur Blatt „All“ übernommen, Einzelblätter ignoriert: {', '.join(uebrig)}")
|
||||
gefunden = alle
|
||||
# Vodafone/Euronics: Maßgeblich ist nur die erste Seite ("All") – sie enthält alle
|
||||
# Abrechnungsläufe. Weitere Blätter würden Positionen doppelt zählen.
|
||||
if any(f.key == VodafoneFormat.key for _, f, _ in gefunden):
|
||||
erstes = blaetter[0][0]
|
||||
uebrig = [g[0] for g in gefunden if g[0] != erstes]
|
||||
gefunden = [g for g in gefunden if g[0] == erstes]
|
||||
if uebrig:
|
||||
warnungen.append(f"Nur die erste Seite „{erstes}“ übernommen, ignoriert: {', '.join(uebrig)}")
|
||||
if not gefunden:
|
||||
raise ImportFehler(f"Auf der ersten Seite von „{path.name}“ wurde keine Vodafone-Abrechnung gefunden.")
|
||||
|
||||
positionen = [p for _, _, ps in gefunden for p in ps]
|
||||
formate = sorted({f.key for _, f, _ in gefunden})
|
||||
|
||||
Reference in new issue
Block a user