Rechnungen / Rechnungspositionen sperren
Hallo,
ich habe eine Tabelle Rechnung mit Untertabelle Rechnungsposition. Dazu eine weitere Tabelle Leistungsart mit Einzelpreisen. Tabelle Rechnungsposition greift nun auf die Leistungarten zu usw. und so erstelle ich die Rechnung.
Wenn ich nun in der Tabelle Leistungsarten die Preise ändere, dann ändern sich logischerweise alle Preise in allen Recnnungspositionen. Daher dachte ich, dass ein einfacher JA / NEIN Switch “Gesperrt” die Lösung wäre. In der Tabelle Rechnungspositonen dann folgende Formel im Feld “Schreibar wenn” eingegeben:Rechnungen.Gesperrt = false
Funktioniert auch, aber halt nicht wenn die Preise in der Tabelle Leistungart ändere. Diese aktualisieren sich weiterhin. Wie kann ich es anstellen, dass bereits geschriebene Rechnungen sich nicht mehr nachträglich im Preis ändern? Könnte man das über Gültigkeitsperioden in der Leistungsarten Tabelle Regeln. Das die Formel für den Einzelpreis prüft an Hand des heutigen Datums, welcher Preis gilt? Oder gibt es eine einfachere Methode?
Beste Grüße
Michael
4 Antworten
-
Hallo Michael, der Sinn von Verknüpfungen ist ja, dass sich Daten dynamisch anpassen. Bei manchen Tabellen wie z. B. Rechnungen will man das aber natürlich nicht. In solchen Fällen sollte man sämtliche Daten in eigene Datenfelder übernehmen statt sie nur zu verknüpfen. Das gilt nicht nur für Preise, sondern für sämtliche Rechnungsdaten, also bspw. auch die Adresse des Kunden. Denn auch die kann sich in den Stammdaten ja mal ändern, und dann würde der Rechnungsdatensatz nicht mehr mit der einstmals versendeten Rechnung übereinstimmen.
-
HI Copytexter, sorry ich glaube ich stehe voll auf dem Schlauch. Ich kann doch nicht in der Tabelle Rechnungen eine zweite redundante Kundeliste oder Preisliste führen? Oder was meinst Du genau mit eigenen Datenfeldern?
Gruß
Michael -
Hallo Michael, “Eigene Datenfelder” heißt, dass alle Daten als feste Werte in der Rechnung gespeichert werden. Man benötigt also auch in der Tabelle “Rechnungspositionen” ein Feld für den Preis. “Redundant” sind die Daten aber nicht, weil der eine Preis (Leistung) der jeweils aktuelle ist, der andere (Rechnungsposition) der zum Zeitpunkt der Rechnungsstellung gültige. Ersterer kann sich ändern, letzterer nicht. Und das gilt in gleicher Weise für alle Rechnungsdaten, die aus externen Tabellen geholt werden.
In der Praxis geht man zumeist so vor, dass man mit einem Trigger “Nach Änderung” im Verknüpfungsfeld “Leistungsart” den Preis der gewählten Leistung ausliest und in das Preis-Feld der Position schreibt.
Man kann das sehr gut am Beispiel der Ninox-Vorlage “Rechnungen” nachvollziehen.
-
Super Tipp. Funktioniert nun wie gewollt.
Content aside
- vor 4 JahrenZuletzt aktiv
- 4Antworten
- 470Ansichten