Zähler
Zähler erzeugen in Pantarey fortlaufende Nummern – zum Beispiel für Rechnungsnummern, Auftragsnummern oder Ticket-IDs. Jeder Zähler hat einen eigenen Namen und einen aktuellen Stand. Bei jedem Aufruf wird der Wert atomar um eins erhöht und garantiert eindeutig zurückgegeben. So entstehen lückenlose, nachvollziehbare Nummernkreise ohne Risiko von Doppelvergaben.
Wofür werden Zähler genutzt?
- Rechnungsnummern:
RE-2026-0001,RE-2026-0002, … - Auftragsnummern:
AUF-1024,AUF-1025, … - Ticket-IDs:
T-501,T-502, … - Beliebige fortlaufende Kennungen in Dokumentnamen, Geschäfts-Labels oder Prozessdaten.
Jeder Zählername ist ein eigener Nummernkreis. Der Zähler rechnung hat nichts mit dem Zähler auftrag zu tun.
Verwendung in Templates und JSONata
Zähler werden über die Funktion nextId aufgerufen – sowohl in Templates (z. B. Dokumentname, Geschäfts-Label) als auch in JSONata-Ausdrücken (z. B. Input-Mappings von Service-Tasks).
Einfacher Aufruf
$fn('nextId', 'rechnung')
Liefert beim ersten Aufruf 1, dann 2, 3, … Der Name rechnung ist frei wählbar.
Praxisbeispiele
| Template | Ergebnis |
|---|---|
RE-$fn('nextId', 'rechnung') |
RE-1, RE-2, … |
RE-$fn('str_padStart', $fn('nextId', 'rechnung'), 5, '0') |
RE-00001, RE-00002, … |
2026-$fn('str_padStart', $fn('nextId', 'ticket'), 4, '0') |
2026-0001 |
AUF-$fn('date_toGermanDate', $(today))-$fn('nextId', 'auftrag') |
AUF-29.04.2026-42 |
Verwendung in JSONata
{
"invoiceNumber": "RE-" & $fn('str_padStart', $fn('nextId','rechnung'), 5, '0'),
"createdAt": $now()
}
Live-Vorschau im JSONata-Editor
Im JSONata-Editor (z. B. beim Bearbeiten von Input-/Result-Parametern) wird $fn('nextId', …) mit Mock-Werten ausgewertet. So lässt sich das Format direkt im Editor prüfen, ohne den Prozess starten zu müssen.
Verwaltung im Bereich „Zähler"
Im Bereich Verwaltung → Zähler werden alle in Pantarey verwendeten, geschäftsrelevanten Zähler aufgelistet. Die Seite zeigt für jeden Zähler:
- Name: der Zählername (z. B.
rechnung) - Aktueller Wert: der zuletzt vergebene Wert
- Zuletzt geändert: Zeitstempel der letzten Änderung
- Geändert von: wer den Wert zuletzt manuell gesetzt hat (nur bei manuellem Setzen)
Wert manuell setzen
Über das Stift-Symbol kann der aktuelle Wert eines Zählers angepasst werden. Das ist vor allem in zwei Situationen nützlich:
- Migration aus einem Altsystem: Die letzte Rechnungsnummer aus dem Vorgängersystem war
2917. Der Zählerrechnungwird auf2917gesetzt – der nächste Aufruf von$fn('nextId', 'rechnung')liefert dann2918. - Korrektur nach Tests: Während der Prozessentwicklung wurden Testnummern vergeben, die produktiv nicht zählen sollen.
Wert nur reduzieren, wenn niemand den Zähler aktiv nutzt
Wird ein Zählerstand nach unten gesetzt, können bereits vergebene Nummern erneut ausgegeben werden. Das führt zu Doppelvergaben (z. B. zweimal Rechnungsnummer RE-1024). Vor dem Reduzieren immer prüfen, dass keine Prozesse mit diesem Zähler aktiv sind.
Zähler löschen
Über das Papierkorb-Symbol kann ein nicht mehr benötigter Zähler entfernt werden. Beim nächsten Aufruf von $fn('nextId', '<name>') mit demselben Namen wird der Zähler automatisch neu angelegt und beginnt wieder bei 1.
Wichtige Eigenschaften
- Atomar: Auch bei vielen gleichzeitigen Prozessen wird jeder Wert genau einmal vergeben. Es gibt keine Doppelvergaben.
- Persistent: Zählerstände bleiben dauerhaft erhalten – auch über Deployments und Tenant-Updates hinweg.
- Mandantenisoliert: Jeder Mandant hat seine eigenen Zähler. Der Zähler
rechnungin Mandant A hat nichts mit dem in Mandant B zu tun. - Frei benennbar: Beliebige Zählernamen sind möglich, solange sie nicht mit
__(zwei Unterstrichen) beginnen. Diese Präfixe sind für interne Plattform-Zähler reserviert und werden im Verwaltungsbereich nicht angezeigt.
Tipps
- Sprechende Namen verwenden:
rechnung_2026,auftrag_dach,ticket_support– stattseq1,seq2. So bleibt nachvollziehbar, wofür ein Zähler genutzt wird. - Mit
str_padStartformatieren: Damit Sortierungen (z. B. in Dateinamen) korrekt funktionieren, sollten Zählerwerte auf eine feste Länge aufgefüllt werden. - Pro Jahr neuen Zähler anlegen: Soll der Zähler jedes Jahr bei
1neu starten, einfach den Jahresbestandteil im Namen verankern:rechnung_2026,rechnung_2027, … - Zähler nicht für IDs nutzen: Für eindeutige technische Schlüssel ist
$fn('sys_ulid')besser geeignet – dort sind globale Eindeutigkeit und zeitliche Sortierbarkeit garantiert.
FAQ
Was passiert, wenn ein Zähler zum ersten Mal aufgerufen wird?
Der Zähler wird automatisch angelegt und liefert den Wert 1 zurück. Eine vorherige Anlage ist nicht nötig.
Kann der Zählerstand zurückgesetzt werden? Ja, über die Verwaltungsseite mit dem Stift-Symbol. Bitte vorher prüfen, dass keine Doppelvergaben entstehen können.
Werden Werte verbraucht, wenn ein Prozess fehlschlägt?
Ja. Der Zähler wird beim Aufruf von nextId erhöht – unabhängig davon, ob der Prozess später erfolgreich abschließt oder fehlschlägt. Lücken in der Nummernfolge sind also möglich.
Was ist der Unterschied zu sys_nextCounter?
sys_nextCounter ist ein historischer Aliasname für dieselbe Funktion. Neue Templates sollten nextId verwenden, beide Varianten liefern aber identisches Verhalten.