0
Rechnungsnummer mit mehreren Bedinungen
Hallo zusammen,
ich komm mit der 2. Bedingung für die Erzeugung der Rechnungsnummer nicht klar. Könnt Ihr mir dringend helfen bitte?
RG Stellung ist rollenabhängig.
2 RG kreise für unterschiedliche Filialen
Jahresabhängig
RG Nummer Aufbau: Jahr(yy)+Filiale(01 oder 02)+4 stellige laufnummer
Leider bekomm ich mit substr() nur eine Bedingung gelöst ( entweder das Jahr oder das Filial kürzel ) beides will nicht.
if Kunde.text('Rolle user') != userRole() then
alert("Sie haben keine berechtigung für diese Aktion, bitte wenden Sie sich an die GSL")
end;
if Kunde.text('Rolle user') = userRole() then
let myYear := format('Datum der Rechnungsstellung', "YY");
let aa := number(max((select Rechnungsstellung where substr(Rechnungsnummer, 0, 2) = myYear).substr(Rechnungsnummer, 2, 2).substr(Rechnungsnummer, 4, 8)))) + 1;
Rechnungsnummer := myYear + "02" + format(aa, "0000")
else
if Kunde.text('Rolle user') = userRole() then
let myYear := format('Datum der Rechnungsstellung', "YY");
let aa := number(max((select Rechnungsstellung where substr(Rechnungsnummer, 0, 2) = myYear).substr(Rechnungsnummer, 2, 2).substr(Rechnungsnummer, 4, 8))) + 1;
Rechnungsnummer := myYear + "01" + format(aa, "0000")
end
end
Danke im voraus
Michi
3 Antworten
-
let myYear := format('Datum der Rechnungsstellung', "YY"); for i in select Rechnungsstellung where substr(Rechnungsnummer, 0, 2) = myYear do let aa := number(max((select Rechnungsstellung where substr(i.Rechnungsnummer, 2, 2) = "02").substr(i.Rechnungsnummer, 4, 8))) + 1; Rechnungsnummer := myYear + "02" + format(aa, "0000") end end
so könnte es glaub passen, ist aber hier so, das ohne vorhandene Rechnungsnummer nix gehen kann
-
M. E. müsste man die Filiale konkret abfragen, ob 1 oder 2. Wenn die Unterscheidung nach userRole() erfolgt, dann würde ich es in diese Richtung versuchen (quick and dirty):
let myRole := Kunde.text('Rolle user'); if myRole = userRole() then let myFil := if myRole = "Filiale1" then "01" else "02" end let myPre := format('Datum der Rechnungsstellung', "YY") + myFil; let lastNum := max((select Rechnungsstellung where substr(Rechnungsnummer, 0, 4) = myPre).number(substr(Rechnungsnummer, 4))); Rechnungsnummer := myPre + format(number(lastNum) + 1, "0000") else alert("Sie haben keine berechtigung für diese Aktion, bitte wenden Sie sich an die GSL") end
Content aside
- Status Answered
- vor 2 JahrenZuletzt aktiv
- 3Antworten
- 42Ansichten
-
2
Folge bereits