Skip to content

Bates-Konfigurationen

Einleitung

Mit Bates-Konfigurationen können Sie Paginier-/Nummerierungsysteme definieren, die bei jedem Stempelprozess automatisch erhöht werden. Der Zählerwert kann entweder als Stempelinhalt für QR- bzw. Barcodes verwendet oder über zusätzliche Labels in Stempeln abgebildet werden. Es wird empfohlen, Bates-Konfigurationen in der folgenden Reihenfolge einzurichten.

  1. Definition der Bates-Konfiguration

  2. Aktivierung im Stempelprozess bzw. der Stempelkonfiguration

  3. Stempel-Integration

    a. Als Stempelinhalt in QR- oder Barcodes

    b. In zusätzlichen Labels

Bates-Konfiguration

In einer separaten Konfigurationsdatei können Sie Paginier-/Nummerierungsysteme, sogenannte Bates-Konfigurationen, definieren. Eine solche, beispielhafte Konfigurationsdatei befindet sich standardmäßig unter config/bates_numbering_config.yml in Ihrem Installationsverzeichnis.

In so einer Konfigurationsdatei können Sie beliebig viele verschiedene Paginier-/Nummerierungssystem definieren, die von einer oder mehreren QStamper-Instanzen bzw. QStamper-Stempelkonfigurationen verwendet werden können.

Im Folgenden finden Sie ein Beispiel für eine Bates-Konfiguration namens default. Der Zähler der folgenden beispielhaften Konfiguration hat im Jahr 2023 bei einem Wert von 42 das Format RE-2023000042X.

Beispiel config_bates_numbering.yml
# name of the bates numbering configuration (used to save the bates numbering counter inside a JSON file, which is stored in a 
# directory defined by the QStamper configuration; attention: if you change the name of the configuration, the counter is lost
# and a new counter is created, but you can rename the JSON file to keep the counter; the current bates numbering value can be
# used as stamp content by setting the content provider to 'bates-numbering' or in additional labels by using the "qbates()" 
# method, e.g. "qbates("my-bates-configuration")", to stamp the current bates numbering value in the PDF document) 
default:
  # the start number of the bates numbering (integer, optional, default: 1)
  start_number: 1 
  # the minimum number of digits of the bates numbering (integer, optional, default: 1)
  min_number_of_digits: 6
  # prefix of the bates numbering (string, optional, default: empty, the current date and time can be included with 
  # qnow("%d.%m.%Y %H:%M:%S") using the 1989 C standard for date format)
  prefix: 'RE-qnow("%Y")'
  # postfix of the bates numbering (string, optional, default: empty, the current date and time can be included with 
  # qnow("%d.%m.%Y %H:%M:%S") using the 1989 C standard for date format)
  postfix: 'X'
  # the increment of the bates numbering (integer, optional, default: 1)
  increment: 1
  # automatic reset of the bates numbering (string, optional, options: 'none', 'daily', 'monthly', 'yearly', default: 'none')
  reset: 'daily'
  # disable increment and reset, the value of the counter can still be used for stamping (boolean, optional, default: False)
  disabled: False

Hinweis zum Namen von Bates-Konfigurationen

Der Name einer Bates-Konfiguration spielt im Hinblick auf die Verwendung und die Speicherung des Paginier-/Nummerierungsystems eine entscheidende Rolle. Der Name der Bates-Konfiguration wird dafür verwendet, aktuelle und relevante Werte des Systems in einer JSON-Datei zu speichern. Dies bedeutet, dass bei Änderung des Namens einer Bates-Konfiguration auch die entsprechende JSON-Datei umbenannt werden muss. Ansonsten wird eine neue Datei für die umbenannte Konfiguration erstellt und der Zähler startet von vorne.

Einstellungen:

  • Datentyp: Integer
  • Beschreibung: Der Startwert des Zählers.
  • optional, Standardwert: 1
  • Datentyp: Integer
  • Beschreibung: Die minimale Anzahl an Ziffern des Zählers. Geben Sie hier z.B. 5 an, um bei einem Wert von 00001 zu starten.
  • optional, Standardwert: 1
  • Datentyp: String
  • Beschreibung: Dieser Text wird dem Zähler vorangestellt. Mit qnow("%d.%m.%Y") kann z.B. das aktuelle Datum, der aktuelle Monat oder das aktuelle Jahr unter Verwendung des 1989 C Standards für Datumsformate in das Prefix eingefügt werden.
  • optional
  • Datentyp: String
  • Beschreibung: Dieser Text wird an den Zähler angehängt. Mit qnow("%d.%m.%Y") kann z.B. das aktuelle Datum, der aktuelle Monat oder das aktuelle Jahr unter Verwendung des 1989 C Standards für Datumsformate in das Postfix eingefügt werden.
  • optional
  • Datentyp: Integer
  • Beschreibung: Der Wert des Zählers wird bei jedem Stempelprozess um diesen Wert erhöht.
  • optional, Standardwert: 1
  • Datentyp: String
  • Optionen: 'none', 'daily', 'weekly', 'monthly', 'yearly'
  • Beschreibung: Setzt den Zähler täglich, wöchentlich, monatlich oder jährlich automatisch auf den Startwert zurück. Der alte Zählerwert wird in der entsprechenden JSON-Datenbank mit Start- und Reset-Datum in Form einer Historie gespeichert.
  • optional, Standardwert: 'none'
  • Datentyp: Boolean
  • Beschreibung: Deaktiviert diese Bates-Konfiguration, so dass der Zähler dieser Konfiguration nicht erhöht oder zurückgesetzt wird. Der Zählerwert kann weiterhin als Stempelinhalt oder in zusätzlichen Labels verwendet werden.
  • optional, Standardwert: False


Aktivierung Stempelprozess

Bates-Konfigurationen können in der Konfiguration von Stempelprozessesen unter bates_numbering ausgewählt bzw. aktiviert werden. Die Zähler aller dort ausgewählten Konfigurationen werden bei jedem Stempelprozess erhöht, unabhängig davon, ob der Wert des Zählers als Stempelinhalt oder in einem zusätzlichen Label auf das Dokument gestempelt wird. Nur wenn eine ausgewählte Bates-Konfiguration über disabled deaktiviert ist, wird der entsprechende Zähler von ausgewählten Konfigurationen nicht erhöht.

Beispiel-Konfiguration zur Auswahl von Bates-Konfigurationen
# configure bates numbering which can be used within the stamp content, the additional labels and the widgets (currently only one number per document is supported)
bates_numbering:
    # the name of the bates numbering configurations used in the stamping process defined by this configuration file (string, default: 'default', you can use multiple
    # bates numbering configurations which have to be defined in the bates numbering configuration)
    configurations: 
        - 'default'  
        - 'incoming-invoices'        

Weitere Details hierzu finden Sie in der Dokumentation zur Aktivierung/Auswahl von Bates-Konfigurationen.


Stempel-Integration

Falls im Stempelprozess unter bates_numbering Bates-Konfigurationen ausgewählt/aktiviert sind (s.o. unter Aktivierung Stempelprozess), können deren aktuelle Zählerwerte entweder als Inhalt von QR- oder Barcodes verwendet oder über zusätzliche Labels in Stempeln abgebildet werden.

Stempelinhalt

In der Konfiguration des Stempelinhaltes (content) kann über provider und provider_bates_numbering der Zählerwert einer bestimmten Bates-Konfiguration als Stempelinhalt für QR- oder Barcodes definiert werden.

Beispielhafte Konfiguration zur Verwendung als Stempelinhalt
  # content of the stamp (required for the stamp types 'qr', 'code128' and 'code39')
  content:
    # content provider ('static', 'cmd', 'filename', 'bates-numbering')
    provider: 'bates-numbering'
    # the name of a bates numbering configuration (string, default: empty, defined in the bates numbering configuration file and enabled under 'bates_numbering')
    provider_bates_numbering: 'default'     

Vergleichen Sie hierzu die Dokumentation zum Stempelinhalt sowie die Dokumentation zur Einstellung provider_bates_numbering.

Zusätzliche Labels

Mittels der QStamper-Funktion qbates("name-der-bates-konfiguration") kann der Zählerwert einer bestimmten Bates-Konfiguration in zusätzliche Labels des Stempels unter Verwendung benutzerdefinierter Inhalte eingefügt werden.

Weitere Details hierzu finden Sie in der Dokumentation zu zusätzlichen Labels bei der Einstellung custom_content.