Nummernserver
4 Minuten Lesezeit
Funktionsweise
Der Nummernserver stellt eigentlich einen speziellen Typ eines Textfeldes dar und dient zur automatisierten Generierung von Zahlen. Dies kann beispielsweise sinnvoll sein, um fortlaufende Nummern für Dokumente vollautomatisch und mit minimalem Verwaltungsaufwand zu erstellen. Zusätzlich zu den fortlaufenden Zahlen ist es dabei möglich, Pre- und Suffixe sowie die Formatierung, den Startwert und das Inkrement der Zahl festzulegen.
Verwaltung des Nummernservers
Die Einstellungen des Nummernservers können in der Docusnap Administration im Bereich Allgemein unter dem Punkt Nummernserver konfiguriert werden. An dieser Stelle ist es möglich, unterschiedliche Definitionen für Nummernserver zu erstellen und diese zu testen. Analog zu den meisten anderen Verwaltungsdialogen können hierbei neue Definitionen eingetragen oder vorhandene bearbeitet bzw. gelöscht werden. Der Name ist dabei frei wählbar und dient lediglich der Identifikation innerhalb von Docusnap. Im Eingabefeld Format kann ein Formatierungsstring eingegeben werden, welcher die Darstellung der fortlaufenden Nummerierung festlegt. Die Formatierungsoptionen verhalten sich dabei äquivalent zu den von Microsoft angebotenen Formatierungsmöglichkeiten der
.ToString()
Methode unter .NET, wobei der jeweilige Formatstring in " " anzugeben ist. Die wichtigsten Eigenschaften werden in unten stehender Tabelle kurz dargestellt.
Zeichen | Bedeutung |
---|---|
0 | Dient als Platzhalter für eine Zahl bzw. eine Stelle einer Zahl, wobei nichtsignifikante Nullen durch das Zeichen 0 (Null) ersetzt werden. |
# | Dient als Platzhalter für eine Zahl bzw. eine Stelle einer Zahl, wobei nichtsignifikante Nullen auch nicht ersetzt werden. |
. | Gibt an der entsprechenden Stelle ein Dezimaltrennzeichen aus. |
, | Gibt an der entsprechenden Stelle ein Trennzeichen zur Trennung von Tausendern aus, wobei das tatsächlich verwendete Zeichen von der jeweiligen Regionaleinstellung abhängt. Außerdem bewirkt das Zeichen eine Division durch 1000, weshalb die Zahl 1234567890 mit dem Formatstring “#,,” als 1234 dargestellt wird. |
% | Formatiert die Zahl als Prozentangabe und bewirkt außerdem die Multiplikation der Zahl mit 100. Das exakt verwendete Zeichen ist von den jeweiligen Regionaleinstellungen abhängig. |
fp;fn;f0 | Hierdurch wird die Angabe unterschiedlicher Formate für positive, negative und der Zahl 0 ermöglicht. |
Zur Angabe von Formatstrings können beliebige Kombinationen der in oben stehender Tabelle gezeigten Platzhalter und Formatierungszeichen eingesetzt werden.
Im Feld Präfix kann eine beliebige Zeichenfolge eingetragen werden, die vor der jeweiligen Zahl eingetragen wird. Mit dem Feld Suffix verhält es sich gleich, nur, dass diese Zeichenfolge hinter der formatierten Zahl angezeigt wird. Im Feld Startwert kann der erste gültige Wert für die Definition eingetragen werden und das Feld Inkrement enthält jenen Wert, um den jede folgende Ausgabe des Nummernservers erhöht wird. Die beiden Textfelder im unteren Bereich des Dialoges zeigen eine Vorschau des ersten und des zweiten gültigen Wertes. Damit kann sehr einfach überprüft werden, ob alle Einstellungen korrekt vorgenommen wurden. Werden die Ausgangsdaten verändert, so passt sich die Vorschau unverzüglich an die neuen Einstellungen an, ohne dass hierfür zusätzliche Aktionen notwendig sind.
Verwendung des Nummernservers
Nachdem entsprechende Definitionen für den Nummernserver eingetragen wurden, können diese in Zusammenhang mit Textfeldern im Designer von Eingabemasken verwendet werden. In den Eigenschaften von Textfeldern befindet sich die Möglichkeit, sogenannte TextConstraints zur Validierung von Eingaben zu setzen. Nachdem im zugehörigen Konfigurationsdialog als Inhaltstyp Nummernserver ausgewählt wurde, erscheint rechts neben dieser Auswahlbox ein Kombinationsfeld, in dem die entsprechende Definition eines Nummernservers ausgewählt werden kann. Nachdem die Auswahl gespeichert wurde, wird das Textfeld auf der zugehörigen Eingabemaske schreibgeschützt dargestellt. Beim Anlegen eines neuen Datensatzes über die Eingabemaske bleibt das Textfeld anfangs leer, bis die Schaltfläche Speichern in der Multifunktionsleiste betätigt wird. Falls sich zu diesem Zeitpunkt noch kein Wert im Textfeld befindet, wird der nächst folgende Wert ermittelt und im Datensatz gespeichert. Beim nächsten Aufruf des Datensatzes ist dieser Wert dann bereits vorhanden und wird auch nicht mehr verändert.