Monthly Archives: November 2019

Neuer Hintergrund-Job: Jahreszahl in Nummernkreisen zum Jahreswechsel erhöhen

Wer die Jahreszahl in seinen Nummernkreise kodiert, sollte vielleicht ein Blick auf die aktuelle Entwicklerversion werfen, die hierfür einen neuen Hintergrund-Task zu Verfügung stellt.

 

 

Hintergrund-Jobs werden über System -> Hintergrund-Jobs und Task-Server -> Aktuelle Hintergrund-Jobs anzeigen -> Aktions-Knopf ‘erfassen’ angelegt.

 

Nachdem wir über das Menü dort angelangt sind, legen wir unseren exemplarischen Hintergrund-Jobs “Erhöhung der Nummernkreise” mit folgenden Werten an:

  • Aktiv: Hier ein ‘Ja’ auswählen
  • Ausführungsart: ‘wiederholte Ausführung’ auswählen
  • Paketname: ‘SetNumberRange’ auswählen
  • Ausführungszeitplan: Hier entsprechend Werte wie in der crontab eingeben.Syntax:
    * * * * *
    ┬ ┬ ┬ ┬ ┬
    │ │ │ │ │
    │ │ │ │ └──── Wochentag (0-7, Sonntag ist 0 oder 7)
    │ │ │ └────── Monat (1-12)
    │ │ └──────── Tag (1-31)
    │ └────────── Stunde (0-23)
    └──────────── Minute (0-59)

    Die Sterne können folgende Werte haben:

    1 2 3 4 5
    
    1 = Minute (0-59)
    2 = Stunde (0-23)
    3 = Tag (0-31)
    4 = Monat (1-12)
    5 = Wochentag (0-7, Sonntag ist 0 oder 7)
    

    Um die Ausführung auf eine Minute vor Sylvester zu setzen, müssen die folgenden Werte eingetragen werden:

    59 23 31 12 *
  • Daten:In diesem Feld können optionale Parameter für den Hintergrund im JSON-Format gesetzt werden. Der Hintergrund-Job SetNumberRange akzeptiert zwei Variable nämlich digit_year sowieso multiplier.digit_year kann zwei Werte haben entweder 2 oder 4, darüber wird gesteuert ob die Jahreszahl zwei oder vierstellig kodiert wird (für 2019, dann entweder 19 oder 2019). Der Standardwert ist vierstellig.multiplier ist ein Vielfaches von 10, darüber wird die erste Nummer im Nummernkreis (die Anzahl der Stellen) wie folgt bestimmt:
    multiplier     Nummernkreis 2020
    10        ->   20200
    100       ->   202000
    1000      ->   2020000
    

    Wir gehen jetzt beispielhaft von einer letzten Rechnungsnummer von RE2019456 aus. Demnach sollte ab Januar 2020 die erste Nummer RE2020001 sein. Da der Task auch Präfixe berücksichtigt, kann dies mit folgenden JSON-kodierten Werten umgesetzt werden:

    Daten:

    multiplier: 100
    digits_year: 4

Der Hintergrund-Job kann dann gespeichert werden und in der Übersicht erscheint dann der nächste Ausführungszeitpunkt.

Sinnvollerweise kann dies einmal in einem Test-Datenbestand probiert werden.

In diesem Sinne:

kivitendo, praktisch, nützlich punktet im Detail wieder mit einer sinnvollen Verbesserung.