0

Per Schaltfläche mehrere Datensätze erstellen - “Auftrag splitten in Teilrechnungen lt. Zahlungsvereinbarung”

Moin,

ich bins mal wieder. Ich hoffe auf Eure Hilfe.

Ich möchte per Schaltfläche auf einmal drei Datensätze erstellen. Diese Datensätze sollen im Feld Teilrechnung A, B und C benannt werden.

Hier schon mal mein Ansatz für zumindest einen Datensatz, welcher mit der entsprechenden Tabelle “Auftrag” verknüpft ist:

let me := this;
let newRec := (create “8 Rechnungen”);
newRec.(Auftrag := me);
“Rechnung/en”.(Teilrechnung := “A”);
popupRecord(newRec)

Danke schon mal!

7 Antworten

null
    • Leonid_Semik
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Benedict,

    wenn es nur um A,B und C geht kann es so realisieren:
    ---
    let me:=this;
    for i in [“A”,“B”,“C”] do
    let newRec := (create “8 Rechnungen”);
    newRec.(Auftrag := me);
    newRec.Teilrechnungen:=i
    end

    ---

    leider verstehe ich den Satz  “Rechnung/en”.(Teilrechnung := “A”) nicht. Ist “Rechnung/en” eine Untertabelle zu 8 Rechnungen?

    Leo

    • Benedikt_Klein
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Leo,

    Teilrechnung ist ein Textfeld in der Tabelle “8 Rechnungen”, welches automatisch mit A, B und C belegt werden soll, wenn die Datensätze per Schaltfläche erstellt werden.

    Hast du dafür auch eine Lösung?

    Grüße

    • Leonid_Semik
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Das ist die Lösung. Du muss nur die Teilrechnungen durch Teilrechnung ersetzen und die Anführungszeichen richtig setzen

    • Benedikt_Klein
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Perfekt, so klappt es. Danke Dir.

    • Benedikt_Klein
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Der nächste Schritt wäre den prozentualen Anteil des Gesamtnetto je Teilrechnung mit reinzubringen. Für A -> 30%, für B -> 60% und für C -> 10%.

    Hier mein Ansatz, der aber leider nicht funktioniert:

    if Angebot.Zahlungsvereinbarungen = 1 then
    let me := this;
    for i in [“A”, “B”, “C”] do
    for j in [“30”, “60”, “10”] do
    let newRec := (create “8 Rechnungen”);
    newRec.(Auftrag := me);
    newRec.(Teilrechnung := i);
    newRec.(“%-Anteil” := j)
    end
    end
    else
    if Angebot.Zahlungsvereinbarungen = 2 then
    let me := this;
    for i in [“A”] do
    let newRec := (create “8 Rechnungen”);
    newRec.(Auftrag := me);
    newRec.(Teilrechnung := i)
    end
    end
    end

    • Benedikt_Klein
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Also so klappt es auch, aber gehts auch kürzer?:

    if Angebot.Zahlungsvereinbarungen = 1 then
    let me := this;
    for i in [“A”] do
    for j in [“30”] do
    let newRec := (create “8 Rechnungen”);
    newRec.(Auftrag := me);
    newRec.(Teilrechnung := i + “%-Anteil” := j)
    end
    end
    +
    let me := this;
    for i in [“B”] do
    for j in [“60”] do
    let newRec := (create “8 Rechnungen”);
    newRec.(Auftrag := me);
    newRec.(Teilrechnung := i + “%-Anteil” := j) +
    let me := this;
    for i in [“C”] do
    for j in [“10”] do
    let newRec := (create “8 Rechnungen”);
    newRec.(Auftrag := me);
    newRec.(Teilrechnung := i + “%-Anteil” := j)
    end
    end
    end
    end

    • Leonid_Semik
    • vor 3 Jahren
    • Gemeldet - anzeigen

    let me:=this;
    switch Angebot.Zahlungsvereinbarungen do
    case 1:
    (let myPercent:=
    {
    “A”:“30”,
    “B”:“60”,
    “C”:“10”
    };
    for i in [“A”,“B”,“C”] do
    let newRec := (create “8 Rechnungen”);
    newRec.(Auftrag := me);
    newRec.Teilrechnungen:=i;
    newRec.“%-Anteil”:= item(myPercent,i)
    end)
    case 2:
    (let newRec := (create “8 Rechnungen”);
    newRec.(Auftrag := me);
    newRec.(Teilrechnung := “A”))
    end

Content aside

  • vor 3 JahrenZuletzt aktiv
  • 7Antworten
  • 436Ansichten