Rechnungsnummer
hallo, habe ein Problem mit der Formel, die hat funktioniert ab bei 10 ist fertig... kann mir da jemand helfen.
let myYear := year(today()); let myRN := max((select Rechnungen where year('Datum der Rechnungsstellung') = myYear).substr('ID-Nr', 10)); 'ID-Nr' := "R" + myYear + "1020" + format(number(myRN) + 1, "0"); 'Datum der Rechnungsstellung'; = today()
damit die Rechnungsnummern weiter zählen:
4 Antworten
-
said:
die hat funktioniert ab bei 10 ist fertig??? Was genau ist das Problem?
Wenn ich den Code richtig interpretiere, dann hat die ID-Nr aktuell folgenden Aufbau:
R20251020 plus 1-stelliger laufender Nummer, also bspw. R202510209. Die Zählung der Zeichen beginnt in Ninox grundsätzlich aber immer bei 0, weshalb du mit dem substr('ID-Nr', 10) einen leeren String zurückbekommst, der sich natürlich auch nicht in eine Zahl umwandeln und um 1 erhöhen lässt.
Du müsstest also den substr()-Wert korrigieren, damit die letzte der insgesamt 10 Ziffern ausgelesen wird:
max((select Rechnungen where year('Datum der Rechnungsstellung') = myYear).substr('ID-Nr', 9))Wenn die laufende Nummer über 9 hinaus gehen, also 2-stellig sein soll, dann müsstest du das zusätzlich beim format() auch angeben:
'ID-Nr' := "R" + myYear + "1020" + format(number(myRN) + 1, "00");Der substr()-Wert sollte unverändert bleiben können, weil damit alle Zeichen ab Position 9 ausgelesen werden, also sowohl 09 wie auch 10, 11 usw.
Content aside
- gesternZuletzt aktiv
- 4Antworten
- 29Ansichten
-
2
Folge bereits
