0

Unbekannter Fehler im Script Aufbau...(Hilfe)

Hallo,

leider finde ich den Fehler in meinem Script nicht.
Ich habe diese Standart Script um die Abfrage unten erweitert.
Leider funktioniert nun gar nichts mehr.

let my1 := Gesamtumsatz;
let my2 := my1 / 1.19;
let my3 := my2 / 100 * 10;
let my4 := my2 - my3;
let my5 := my4 / 100 * 20;
my5

Funktion soll sein wenn das Feld Prozentsatz mit der Zahl 2/3/4 gefüllt ist,
den jeweiligen Wert zum kalkulieren heran zieht.
Ideal wäre es wenn es, wenn es mit jedem Wert im Feld Prozentsatz klappen würde.

let my1 := Gesamtumsatz;
let my2 := my1 / 1.19;
let my3 := my2 / 100 * 10;
let my4 := my2 - my3;
if Prozentsatz = 2 then
let my5 := my4 / 100 * 18;
if Prozentsatz = 3 then
let my5 := my4 / 100 * 17;
if Prozentsatz = 4 then
let my5 := my4 / 100 * 16;
if not then
let my5 := my4 / 100 * 20;
my5
end

6 Antworten

null
    • Danylo_Khayet
    • vor 5 Jahren
    • Gemeldet - anzeigen

    let my1 := Gesamtumsatz;
    let my2 := my1 / 1.19;
    let my3 := my2 / 100 * 10;
    let my4 := my2 - my3;
    let my5 := my4 / 100 * 20;
    switch Prozentsatz do
       case 2: my5 := my4 / 100 * 18;
       case 3: my5 := my4 / 100 * 17;
       case 4: my5 := my4 / 100 * 16;
    end;
    my5

     

    Gruß

    Daniel

    • Urban
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Hallo Daniel,
    zuerst vielen Dank für deinen Lösungsansatz!

    Leider bekomme ich folgende Fehlermeldung.
    Symbol erwartet: case, default, end in Zeile 7, Spalte 30

    • Leonid_Semik
    • vor 5 Jahren
    • Gemeldet - anzeigen

    ...

    let my1 := Gesamtumsatz;
    let my2 := my1 / 1.19;
    let my3 := my2 / 100 * 10;
    let my4 := my2 - my3;
    let myPR:=switsh Prozentsatz do
    case 2:
    18
    case 3:
    17
    case4:
    16
    default
    20
    end;
    my4 / 100*myPR

    ...

    Leo

    • Urban
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Vielen Dank Leo,
    musste eine Kleinigkeit ändern, aber dank deinem Ansatz klappt es nun perfekt!

    Danke sehr.

    • Leonid_Semik
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Stimmt, sehe gerade - kein Doppelpunkt nach default.

    • Christian.5
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Nichts für ungut, aber so einen Code dürfte nicht einmal der Autor später noch verstehen. "my1", "my2" usw. sind schlecht gewählte Variablennamen, weil sie gar nichts aussagen, und die ganze Berechnung ist viel zu umständlich und obskur:

    let Nettoumsatz := Gesamtumsatz / 1.19;

    let Zehntel := Nettoumsatz * 0.1;

    let Ergebnis := Nettoumsatz - Zehntel;

    Damit ist das Ziel klar:

    let Ergebnis := 0.9 * ( Gesamtumsatz / 1.19);

    Das ist besser lesbar, leicht verständlich und deshalb auch später leichter zu warten.