Problem Adress Änderungen

Gregor123

Neuer Benutzer
Beiträge
1
Habe ein Problem mit der Verwaltung von Adressen in einem Fakturierungsprogramm.
Finde nicht im Netz wie ich das lösen kann.
Nehmen wir an, die Hausnummer des Kunden mit der KD-Nr 1234 ändert sich. Wenn ich diese jetzt im Datensatz ändere und ich kurz darauf eine alte Rechnung für ihn neu ausdrucken muss, wird diese alte Rechnung mit der neuen Hausnummer gedruckt. Das geht nicht. Ich will aber auch keine neue Adresse eingeben. Dann wird es kompliziert mit Statistiken. (Wie viel hat der Kunde bestellt.)
Ich will aber auch nicht in alle Angebote, Rechnungen, und sonstige Formulare die Adresse „fest“ abspeichern. Das würde ziemlich viel „Datenmüll“ verursachen da ein Adress-Datensatz ca 60 Spalten hat.
Ich habe schon einmal daran gedacht in die Adresse ein von-bis Datum einzubauen.
Es gäbe dann bei Änderungen mehrere Datensätze der gleichen Adressen mit verschiedenen Gültigkeitsdaten.
1. Datensatz gültig vom 01.05.2024 - 15.09.2024
2. Datensatz gültig vom 16.09.2024 - 31.10.2025
3. Datensatz gültig vom 01.11.2025 – offen

Wenn ich jetzt eine Rechnung mit Datum 20.09.2024 nochmal drucken muss wird der 2. Datensatz benutzt. Wird aber wahrscheinlich eine sehr komplizierte Abfrage. Habe es noch nicht ausprobiert.
Gibt es keine einfacherer Möglichkeit? Wie habt ihr das gelöst.
(Das gleiche Problem gibt es ja bei Artikeln wenn sich z.B. der Preis ändert).
Viele Grüße
Gregor
 
Werbung:
Es gibt zwei Möglichkeiten so etwas zu lösen. Die eine ist wie von Dir beschrieben, die Adressen zu historisieren und die jeweils gültige zu ermitteln. So kompliziert ist das gar nicht (mit Postgres sogar extrem einfach).

Die andere Möglichkeit ist, beim Anlegen der Rechnung eine Kopie der Adresse in der Rechnung zu speichern.
 
Werbung:
Ich finde historisierte Datensätze sehr sinnvoll, ich mache das grundsätzlich, zusätzlich zur Log, ganz unabhängig von Rechnungen. Es gibt sogar noch eine Steigerung, wenn du dir z.B. Register-Daten anschaust. Dann gibt es im Prinzip drei Ebenen: 1. Wann hat sich das Attribut in der realen Welt geändert? 2. Wann wurde es im Register bekannt gemacht? 3. Wann wurde es in der Datenbank geändert. Deine Form ist also alles andere als komplex.

Bei Rechnungslegung wird häufig mit Kopien aller rechnungsrelevanten Daten gearbeitet, vermutlich macht das am Ende jede Fakturierungslösung so um sich vor Manipulation zu schützen. Es ist viel einfacher, eine Kopie pro Rechnung zu speichern als die Stammdaten auf Manipulation zu überwachen. Die Datenmenge ist eigentlich nie das Problem.

Ich würde beide Wege gleichzeitig gehen.
 
Zurück
Oben