automatisierte Belegnummern
Hallo Zusammen,
stehe komplett auf dem Schlauch und komme nicht weiter.
Mein aktueller Code:
let myYear := year(today());
let Belegnummer := max((select Belege where year(Datum) = myYear).substr(Belegnummer, 8));
Belegnummer := "RE-" + myYear + "-" + format(number(Belegnummer) + 1, "0000");
Datum := today()
Meine Tabelle heißt Belege
In der Belegwahl habe ich ein Auswahlfeld mit AG für Angebot, AB und Auftragsbestätigung, RG für Rechnung und SR für Stornorechnung.
Unter Belegnummer schaffe ich es über das Auswahlfeld die Kürzel zu bekommen, jedoch werden keine fortlaufenden Nummern generiert.
Vielen Dank vorab für Eure Hilfe
Viele Grüße
Timm
7 Antworten
-
Moin,
für die Variable kannst du nicht den gleichen Namen, wie für das Feld nehmen. Du musst die Variablen immer eindeutig bennen.
let myYear := year(today()); let Belnr := max((select Belege where year(Datum) = myYear).substr(Belegnummer, 8)); Belegnummer := "RE-" + myYear + "-" + format(number(Belnr) + 1, "0000"); Datum := today()
So sollte es funktionieren.
-
Super, danke Dir. Der Grundsatz funktioniert. Jetzt vermute ich liegt mein Fehler wohl eher in der Funktion auf dem Auswahlfeld:
Belegnummer := if Belegwahl = 1 then
"AG-"
else
if Belegwahl = 2 then
"AB-"
else
if Belegwahl = 3 then "RG-" else "SR-" end
end + substr(Belegnummer, 4)
endIn dem Moment wo ich auf eine andere Auswahl ändere, wird die Nummer rausgeschmissen...
Hast Du hierzu auch eine Idee?
Besten Dank im Voraus
-
Ich würde mir ähnlich wie in dem Standardtemplate von Ninox vorstellen, dass ich von Angebot auf Auftragsbestätigung, Rechnung, etc. immer die gleiche Nummer verwende. Lediglich mich dem Unterschied, dass sich eben die Nennung AG, RG, etc. vor der Belegart ändert, die Nummer aber gleich bleibt.
Vermutlich eine simple Frage. Aber bin vor ca. einem Jahr glücklicherweise in Gänze auf Apple umgestiegen und würde mich in Access vermutlich eher zurecht finden.
Weitere Frage, wie kann ich hier was in ein Team hochladen. Muss ich mich dafür zusätzlich registrieren? -
Hi Patrik, Dein Gedanke war anders, bzw. vermutlich konnte ich mich nicht ganz glücklich ausdrücken. Wobei auch Dein Ansatz sehr interessant ist....
Ich habe es jetzt wie folgt gelöst:
Funktion auf der Belegauswahl:
Belegnummer := if Belegwahl = 1 then
"AG-" + substr(Belegnummer, 3)
else
if Belegwahl = 2 then
"AB-"
else
if Belegwahl = 3 then "RG-" else "SR-" end
end + substr(Belegnummer, 3)
endFunktion in der Tabelle
let myYear := year(today());
let Belnr := max((select Belege where year(Datum) = myYear).substr(Belegnummer, 8));
Belegnummer := "AG-" + myYear + "-" + format(number(Belnr) + 1, "0000");
Datum := today()Bekomme somit jetzt eine neue Belegnummer und kann die Belegnummer beibehalten, wenn ich die Belegart verändere.
In jedem Falle nochmals vielen Dank für Deine Unterstützung, Deine Mühen und Dein schnelles Feedback.
VG
Timm
Content aside
- Status Answered
- vor 2 JahrenZuletzt aktiv
- 7Antworten
- 68Ansichten
-
2
Folge bereits