Zähler

Programmierbare Zähler

Für PCodes, Kunden-, Auftrags-, Rechnungsnummern und noch viel mehr

Zähler können in verschiedenen Anwendungsbereichen verwendet werden. Sie können zum Beispiel eingerichtet werden, um automatisierte eineindeutige Labels für Inhalte zu erzeugen.
 

Zähler anlegen

Die Zählerverwaltung kann über die Hauptnavigation Extra> Systemeinstellungen > Zähler angesteuert werden. Über die Liste es möglich vorhandene Zähler zu bearbeiten oder zu löschen.
 
Um einen Zähler von anderen Bereichen ansteuern zu können, ist ein entsprechendes Label nötig. Dieses sollte klein geschrieben werden und keine Leerzeichen, Sonderzeichen oder Umlaute enthalten.
 
Im Feld Format wird der Syntax für den Rückgabewert bestimmt. Dabei stehen verschiedene Formen zur Verfügung:
 
Parameter für den ersten Teil:
%c[<irgendetwas>]
Der Zählerwert wird einfach eingetragen
 
%d[<strftime-FormatString>]
Der Zählerwert wird nach dem strftime-DateTime Schema formatiert. Anstelle des % muss ein Asterisk * verwendet werden. Weitere Informationen zu strftime findest du im PHP-Manual.
 
Parameter für den zweiten Teil:
{pad:<max-chars>,<fill-String>,left|right|both}
Damit wird der im ersten Teil ermittelte Zählerwert auf die Anzahl von Zeichen aus erweitert. Ist der Zähler kleiner als in <max_chars> angegeben, wird er mit dem in <fill-String>gesetzten Zeichen aufgefüllt. Die Auffüllung von links, rechts oder von beiden Seiten kann mit dem dritten Parameter left|right|both angegeben werden.
 
{sub:<start>,<length>}
Damit wird von dem im ersten Teil ermittelten Zählerwert ein Teilstring gebildet, der von der Position aus <start> mit einer Länge von <length> definiert ist.
 

Beispiele

 
%c[cnt]
Liefert: 1,2,...,n
 
MeinZähler_%c[meins]
Liefert: MeinZähler_1,MeinZähler_2,...,MeinZähler_n
 
MeinZähler_%c[meins]{pad:5,0,left}
Liefert: MeinZähler_00001,MeinZähler_00002,...,MeinZähler_99999
 
MeinZähler_%c[meins]{pad:5,0,right}
Liefert: MeinZähler_10000,MeinZähler_20000,...,MeinZähler_99999
 
MeinZähler_%d[*d.*m.*Y_*H*i*s]
Liefert am 01.01.2012 um 18:15 Uhr und 30 Sekunden: MeinZähler_01.01.2012_181530
 

Überlauf / Zurücksetzen

Der Zurücksetzen-Modus gibt an, wann der Zähler wie zurückgesetzt werden soll, wenn er an sein Zahlenende kommt
 
Überlauf
Der Zähler wird nicht zurück gesetzt. Kommt der Zählerwert an seine Maximalgrenze, so läuft der Wert über und beginnt den Zählvorgang wieder beim ersten Wert.
 
Jahr
Liegt die letzte Erhöhung im letzten Jahr oder davor, so wird der Zähler zurückgesetzt und beginnt bei Schritt eins.
 
Monat
Liegt die letzte Erhöhung im letzten Monat oder davor, so wird der Zähler zurückgesetzt und beginnt bei Schritt eins.
 
Tag
War die letzte Erhöhung gestern oder davor, so wird der Zähler zurückgesetzt und beginnt bei Schritt eins.
Beachte, dass das Zurücksetzen zu Problemen führen kann, wenn damit vorhandene Datensätze überschrieben werden (z.B. Mit max_chars deklarierte Auftragsnummer). Bevor du den Überlauf erreichst, solltest du ggf. den Wert im Feld Format erweitern (z.B. max_chars erhöhen), um ein Zurücksetzen zu verhindern.
Mit dem Feld max. Wert kann der maximale Wert angegeben werden, der mit dem Zähler erreicht werden darf.
 

Schrittweite

Die Schrittweite gibt an, wie die nächste Zählerstufe berechnet wird. In den meisten Fällen ist die Schrittweite 1 am besten geeignet.
 
Der aktuelle Wert wird beim Verwenden des Zählers entsprechend ermittelt und in diesem Feld festgehalten. Wenn dieser Wert geändert wird, so wird der nächste verwendete Zähler entsprechend der Schrittweite von diesem Stand ermittelt.
 
Beachte, dass eine Verkleinerung des aktuellen Wertes zu Problemen führen kann, wenn damit vorhandene Datensätze überschrieben werden.