Doppelten Artikel in Bestellung vermeiden
Hallo liebe Forumsmitglieder,
ich stehe mal wieder auf dem Schlauch und bräuchte euere Hilfe.
Ich befülle die Tabelle Bestellpositionen über einen Button Code anbei.
Nun würde ich gern vermeiden das ein Artikel doppelt eingegeben werden kann.
Jemand eine Idee? ich habe es mit cnt versucht aber irgendwie komme ich nicht damit zurecht
if Menge and Artikel then
let visit := this;
let newPosition := (create Bestellpositionen);
let positionNr := max(Bestellpositionen.Pos) + 1;
newPosition.(
Artikel := visit.Artikel;
Menge := visit.Menge;
Besuche := visit;
Preis := visit.Preis;
Auswahl := visit.Auswahl;
'Notiz zum Artikel' := visit.'Notiz zum Artikel'
);
Menge := 1;
Artikel := 0;
Auswahl := 1;
Preis := 1;
'Notiz zum Artikel' := ""
end
6 Antworten
-
Ist Artikel die Artikelnummer, also eindeutiges Merkmal? Das benötigst du ja, um abzufragen, ob ein Artikel schon vorhanden ist. Der Ansatz mit cnt ist der richtige. Aus dem Bauch heraus
mit
let thisArt:= Artikel; if Menge and Artikel and cnt(select Bestellpositionen[Artikel = thisArt])=0 then
sollte es klappen.
Maurice
-
Hallo Christian Rott ,
ich würde zählen, ob es den Artikel schon in der Tabelle Bestellpositionen gibt.
Der Code wäre je nach Datenmodell ggf. etwas anders zu formulieren, könnte aber wie folgt aussehen:
if Menge and Artikel then let visit := this; if cnt((select Bestellpositionen)[Artikel = visit.Artikel]) = 0 then let newPosition := (create Bestellpositionen); newPosition.( Artikel := visit.Artikel; Menge := visit.Menge; Preis := visit.Preis ); Menge := 1; Artikel := 0; Preis := 1 end end
Man könnte alternativ auch den Button ausblenden, wenn es den Artikel bereits gibt.
Und, um mal noch etwas weiter zu denken, man könnte natürlich auch die Mengen addieren. Also wenn es den Artikel in Bestellpositionen schon gibt, dann wird nicht noch ein Datensatz erstellt, sondern beim Bestehenden die Menge aktualisiert. Allerdings wäre dann auch der Preis zu prüfen, ggf. die Notiz zu ergänzen etc.
Du kannst ja gerne mal ein Screenshot vom Datenmodell schicken.
VG
-
Erstmal Danke für eure Unterstützung. Hier mal folgende Bilder. Im Formular ist ein Feld für "Menge" dann "ARTIKELNUMMER DIREKT" dann Button DIREKTÜBERNAHME weil unsere Monteure die meisten Art-Nr kennen. Das funktioniert soweit auch prima. Nun kommt es aber vor das sie einen Artikel suchen über die Tabelle Artikel dort können sie nach Nummer und Namen suchen. Dann soll der Artikel ausgewählt werden und auch übernommen werden. Mit dem oben als erstes aufgeführten Code funktioniert das auch. Ich wollte es aber nun so wie bei der Direktübernahme machen aber da scheitert es bei mir dran.
-
Danke euch bin jetzt einen vielleicht nicht ganz richtigen Weg gegangen und habe die Auswahl im Artikel suchen in ein Formelfeld gepackt und nun klappt es auch mit der abfrage Artikel ist vorhanden .
Content aside
- Status Answered
- vor 1 JahrZuletzt aktiv
- 6Antworten
- 72Ansichten
-
3
Folge bereits