0

Mehrere Datensätze aus verknüpfter Tabelle in neue Tabelle schreiben

Liebes Forum,

ich nutze folgenden Code um aus einem Angebot (Tabelle "Angebote"; Untertabelle "Angebotebeziehung" für die einzelnen Angebotspositionen) direkt in einer weiteren Tabelle "Verkäufe" (mit Untertabelle "VK-Positionen") einen Verkauf anzulegen. Dabei wird der Kunde aus einer dritten Tabelle "Kontakte" übernommen und es wird in der Untertabelle "VK-Positionen" eine Verknüpfung angelegt. Funktioniert soweit auch alles, aber nur, wenn bei "Angebote" lediglich eine einzige "Angebotebeziehung" verknüpft ist.

let myNr := Nr;
let kunde := number(Kontakte.Nr);
let neu := (create 'Verkäufe');
let item := first(Angebotebeziehung.Kunstwerke.Nr);
let price := first(number(Angebotebeziehung.'Preis Brutto'));
neu.('Käufer' := kunde);
for i in select Angebote where Nr = myNr do
let neuArtikel := (create 'VK-Positionen');
neuArtikel.('Verkäufe' := neu.Nr);
neuArtikel.(Kunstwerke := item);
neuArtikel.('Preis für Rechnung' := price);
openRecord(neu)
end;
alert("Verkauf erstellt")

ich habe bei let item das first hinzugefügt, weil Ninox ohne first meckert, dass der Ausdruck mehrfache Ergebnisse liefert (was ja auch so ist). Nun verstehe ich aber nicht, wie ich es schaffe, alle verknüpften Einträge aus dem Angebot anzusprechen und für jede "Angebotebeziehung" einen eigenen "VK-Positionen" Eintrag erstellen zu lassen, damit ich dann auch alle Positionen aus dem Angebot in dem Datensatz in der Tabelle "Verkäufe" habe.

Viele Grüße

2 Antworten

null
    • Leonid_Semik
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo af,

    Probiere folgendes:

    ...

    let me:=this;

    let new:=create 'Verkäufe';

    new.'Käufer':=me.kunde;

    for i in me.Angebotebeziehung do

    let newArtikel:=create 'VK-Positionen';

    newArtikel.'Verkäufe':=new;

    newArtikel.Kunstwerke:=i.Kunstwerke;

    neuArtikel.'Preis für Rechnung' := i.'Preis Brutto'

    end;

    openRecord(new)

    alert("Verkauf erstellt")

    ...

    Leo

    • neon_carriage
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Leo,

    super! Klappt perfekt. Vielen Dank für die wie immer grandiose Hilfe! Schönes Wochenende!