0

Einzelpreis im Angebot sperren bei Preisänderung

Folgendens Problem, Wenn ich in der Liste Artikel meine Preise ändern, verändert sich die Preise auch in alle bestehenden und abgeschlossenen Angebot. Das Darf nicht sein. Die Angebote bis zur Preisänderung sollten schon beim alten Preis bleiben.

Gibt es da einen Lösung? Vl. kann mir wer helfen :-)

Bitte Danke Rainer

5 Antworten

null
    • Ninox-Professional
    • planoxpro
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Hallo Rainer, man sollte immer sämtliche Daten zu Angeboten, Rechnungen u. ä. fest im jeweiligen Datensatz speichern, nicht über Formelfelder referenzieren. Das setzt natürlich voraus, dass für jede relevante Information auch ein Datenfeld existiert, also z. B. ein Feld vom Typ Zahl für den Einzelpreis (statt des Formelfeldes). Man müsste also zunächst für jedes Formelfeld, das nur auf den Artikel-Datensatz verweist, ein entsprechendes Datenfeld erstellen.

    Ich vermute mal, dass die Positionen N:1 mit den Artikeln verknüpft sind. Dann könnte man im Artikel-Verknüpfungsfeld (das wahrscheinlich auch 'Artikel' heißt) einen Trigger "Nach Änderung" einrichten, der aktiv wird, sobald ein Artikel ausgewählt und verknüpft wird. Mit diesem Trigger lassen sich die betreffenden Daten aus dem Artikel-Datensatz in die Position übernehmen. Der Code könnte bspw. so aussehen:

    let myA := Artikel;
    Kategorie := myA.Kategorie;
    Artikelbezeichnung := myA.Artikel;
    Einheit := myA.Einheit;
    Einzelpreis := myA.Endkundenpreis
    

    Damit würden die Daten aus dem Artikel-Datensatz fest in den Datensatz der Position übernommen. Änderungen am Artikel hätten keine Auswirkungen mehr auf die Position und damit das Angebot.

    Übrigens sollte man so mit allen Daten eines Angebotes und besonders einer Rechnung verfahren. Auch mit den "Kopfdaten" eines solchen Dokumentes. Nicht auszudenken, dass sich im Nachhinein eine Rechnung ändert, weil beim betreffenden Kunden bspw. eine neue Adresse eingetragen wurde. Das Dokument muss immer exakt genau so gespeichert sein, wie es auch an den Empfänger versendet würde.

      • filmueberspielung
      • vor 1 Jahr
      • Gemeldet - anzeigen

        Danke vielmals für die tolle und ausführliche Antwort :-)

      Ich habe gestern den ganzen herumgespielt, komme aber leider nicht zum Erfolg. :-(

      Kannst du dir mal meine Programmierung anschaut wo das der Fehler liegt. Bei mir kommt noch dazu das ich 2 Preise haben. Einmal den Fotohändler Preis und den Endundenpreis den ich mit einem IF Formelfeld gelöst hatte.  Wenn Kunde ist Fotohänder dann ist Fotohändlerpreis wenn nicht Fotohänder dann ist Endkundenpreis. Ich verzweifle  :-(( Bitte. Danke lg Rainer

      • Ninox-Professional
      • planoxpro
      • vor 1 Jahr
      • Gemeldet - anzeigen

       

      In 'Angebote', Verknüpfungsfeld 'Kunden', und 'Angebotspositionen', Verknüpfungsfeld 'Artikel' habe ich jeweils einen Trigger "Nach Änderung" eingefügt, der nach entsprechender Auswahl die Daten aus der Quell-Tabelle übernimmt und in Datenfelder der aktuellen Tabelle schreibt. Die Details müsstest du dir da selber anschauen. Ansonsten gilt: Je konkreter die Frage, desto besser. In vielen Fällen kann aber auch schon die Ninox-Doku weiterhelfen: https://docs.ninox.com/de/

      • filmueberspielung
      • vor 1 Jahr
      • Gemeldet - anzeigen

        Danke vielmals, ich glaube jetzt gehts. :-) Hast einen Buschenschankjause gut wenn du mal in die Steiermark kommst :-). lg Rainer

      • Ninox-Professional
      • planoxpro
      • vor 1 Jahr
      • Gemeldet - anzeigen

       Steiermark liegt normalerweise nicht auf meinem Weg, aber falls doch mal, komme ich darauf zurück, ;)