Rechnungen übernehmen nachträglich Preisänderung von Produkten
Guten Morgen zusammen,
ich habe aktuell das Problem, dass wenn ich bei einem Produkt für z.B. ein neues Angebot den Preis ändere, da teurer oder billiger, er mir auch den Preis von z.B. schon fertigen Rechnungen ändert, da dort ebenfalls das selbe Produkt drinnen ist.
Kann ich das irgendwie umgehen?
Tabellen sind Produkte | Rechnungen und die Untertabelle, Rechnungspositionen
4 Antworten
-
Hallo Benjamin, offenbar übernimmst du die Preise nur mit einem Berechnungsfeld aus dem verknüpften Datensatz. Dann werden sie halt immer wieder neu "berechnet" und ändern sich, wenn sich die Quelle ändert. Du müsstest statt dessen ein numerisches Datenfeld erstellen und den Preis als festen Wert übernehmen. Das gilt übrigens auch für alle anderen Rechnungsdaten.
-
Vielen Dank für die schnelle Antwort. Hört sich soweit logisch an. Aber wie würde so ein numerisches Feld als Beispiel aussehen? Bzw. wo kann ich den Wert als Funktion eintragen, dass er es aus dem anderen Datensatz übernimmt?
-
Ich kenne dein Datenmodell nicht, gehe aber mal davon aus, dass die Rechnungspositionen mit der Produkte- Tabelle verknüpft sind, in welcher der Einzelpreis des Artikels gespeichert ist.
In den Rechnungspositionen erstellst du nun ein neues Feld des Datentyps "Zahl". In dieses Feld soll automatisch der entsprechende Betrag übertragen werden, sobald ein Produkt ausgewählt wurde. Dazu erstellt man in den Optionen des Verknüpfungsfeldes einen Trigger "Nach Änderung" mit folgender Funktion:
Preis := Produkte.Preis
Der Preis ist dann fester Bestandteil der Rechnungsposition. Änderungen im Produkt-Datensatz wirken sich nicht auf Rechnungspositionen mit diesem Produkt aus.
Auf dieselbe Weise lassen sich alle Produkt-Daten, die in der Rechnungspositionen angezeigt werden sollen, in die Rechnungsposition übernehmen. Wenn man also bspw. auch nich die Produkt-Bezeichnung übernehmen will, dann legt man dafür ein Textfeld an und ergänzt o .g. Trigger entsprechend:
Preis := Produkte.Preis;
Bezeichnung := Produkte.Bezeichnung
Dasselbe müsstest du ggf. auch für die Tabelle Rechnungen machen. Auch dort darf sich ja im Nachhinein nichts ändern, z. B. wenn der Kunde eine neue Adresse hat. Also auch hier für jede Information der Rechnung ein eigenes Datenfeld anlegen und auf die beschriebene Weise übertragen. Der Trigger würde sich dann vermutlich auf die Verknüpfung "Kunden" o. ä. beziehen.
-
Vielen Dank für deine mehr als ausführliche Antwort! Ich habe es mit viel Aufwand hinbekommen alles abzuändern. Funktioniert jetzt wie es soll.
Content aside
- vor 3 JahrenZuletzt aktiv
- 4Antworten
- 387Ansichten