Mit DMAF mehrere Datensätze in Untertabelle hinzufügen
Hallo zusammen,
ich habe mich an der Datenbank Rechnungen in Vorlagen orientiert und als Beispiel hier beigefügt.
Mein Ziel ist es, wie in der Überschrift geschrieben, über ein DMAF in Tabelle Rechnungen, mehrere Datensätze in der Untertabelle 'Rechnungspositionen' hinzuzufügen.
Dazu habe ich zunächst ein DMAF in Tabelle Rechnungen hinzugefügt und folgenden Code eingegeben
let me := this;
let cat := concat(Rechnungspositionen.Produkte.Nr);
let multi := numbers('Mehrfachauswahl (dynamisch)');
for i in multi do
if not contains(cat, text(i)) then
let c := (create Rechnungspositionen);
c.(Rechnung := me);
c.(Produkte := number(i))
end
end;
for i in Rechnungspositionen do
if not contains(text(multi), text(i.Produkte)) then
delete i
end
end
Den Code habe ich aus der DB 114 im Webinar EN 2022 und dementsprechend angepasst.
Der Code tut auch was er soll, jedoch weiss ich leider nicht, wie ich weitere Felder ausfüllen kann, denn zB der Netto-Preis aus Tabelle 'Produkte' wird nicht mitübetragen. Ich bin mir fast sicher, dass ich das im Teil
let c := (create Rechnungspositionen);
c.(Rechnung := me);
c.(Produkte := number(i))
hinzufügen muss, aber ich komme nicht darauf.
Kann mir jemand bitte auf die Sprünge helfen?
Vielen Dank schon mal.
GRuß Kruna
8 Antworten
-
Ich bin cshon mal einen kleinen Schritt weiter und habe es nun zunächst mit einer variablen versucht
let preis := for i in numbers('Mehrfachauswahl (dynamisch)') do
record(Produkte,i).'Netto-Preis'
end;und dann
c.('Preis pro Einheit' := preis);
eigegeben. Es wird angemeckert - Der Ausdruck liefert mehrere Ergebnisse zurück.
first(preis) hilft auch nicht vel wieter. Was mache ich nur falsch?
Gruß Kruna
-
Hallo Kruna, auf die Schnelle: Schon mal Folgendes probiert (nach dem "create")?
c.(Preis := record(Produkte, i).'Netto-Preis'
-
Hallo Axel,
TOP!!! das ist die Lösung. Jetzt funktioniert es. Vielen Dank und schönen Sonntag noch! :-)
-
entschuldige, ich doch noch eine Frage.
Ich habe soweit alle Felder übertragen können, scheitere aber an dem Feld Mwst.
In der Vorlage heißt es
'Mwst.-Satz' := number(item(split(Produkte.text('MwSt.'), " "), 0))
Ich weiß nicht, wie ich das hier umgesetzt bekommen könnte, zB so ähnlich wie
c.('Mwst.-Satz' := record(number(item(split(Produkte, i).text('MwSt.')
Gruß Kruna
Content aside
- Status Answered
- vor 2 JahrenZuletzt aktiv
- 8Antworten
- 111Ansichten
-
2
Folge bereits