Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

...

Inhalt

...

maxLevel

...

5

Releases

Version

...

1.1.0

...

DatumHinweiseKompatibilität
2.1.0

...

13.

...

02.

...

2018

Überblick

 

Kurzbeschreibung

Das Nummernkreise-Nuclet bietet unterstütztende Funktionalität zur automatischen Nummerngenerierung.

 

Nuclet-Bestandteile

Das Nummernkreise-Nuclet umfasst im Rahmen der .nuclet-Datei

  • das Businessobjekt „Nummernkreise“

  • das Layout für dieses Businessobjekt,

  • drei Java-Regeln.

 

...

Typ

...

Name, englisch

...

Name, deutsch

...

Kurzbeschreibung

...

Businessobjekt

...

Nummernkreise

...

Nummernkreise

...

 

...

Layout

...

Nummernkreise

...

 

...

 

...

Java-Package

...

org.nuclet.nummernkreise.logic

...

Logik für die Nummerngenerierung

...

 

...

org.nuclet.nummernkreise.rule

...

Steuerung von Insert-/Update-/Delete-Events bzw. Statuswechsel

Erste veröffentlichte Fassungab Nuclos 4.25.1
2.2.017.03.2022

Schutz vor Vergabe doppelter Nummern

ab Nuclos 4.2022.7

Überblick

Das Nuclet "Nummernkreise" ermöglicht die einfache und automatische Generierung und Vergabe eindeutiger Nummern, z.B. Auftragsnummer, Rechnungsnummer, etc.

Integration

Die Integration nach erfolgtem Nucletimport (siehe Nuclet Import) ist wie folgt vorzunehmen.

SchrittBeschreibung
1

Ordnen Sie bitte Ihre Businessobjekte, für die Sie eine automatische Vergabe eindeutiger Nummern benötigen, unter Konfiguration | Regelwerke | Generische Implementierung dem generischen Businessobjekt "Nummerierbar" des Nuclets "Nummernkreise" zu. Siehe dazu auch Generische Implementierung.

Image Added

2

Weisen Sie anschliessend die Regel "GeneriereNummer" des Nuclets "Nummernkreise" den Businessobjekten oder ggf. den Statusmodellen der Businessobjekte, für die Sie eine automatische Vergabe eindeutiger Nummern benötigen, zu. Siehe dazu auch Server Regelmanager.

Image Added


3

Konfigurieren Sie Ihren gewünschten Nummernkreis für jedes betroffene Businessobjekt unter System | Nummernkreise.

Image Added

Dabei ist die Nutzung datumsspezifischer Präfixe möglich. Die folgenden

Tabelle 1: Nuclet-Bestandteile

 

Java-Package-Struktur

Die Java-Regeln sind in fünf Packages unterteilt:

  • Regeln für maskengesteuerte Events (org.nuclet.basistemplate.rule)

  • Regeln für die Geschäftslogik (org.nuclet.basistemplate.logic)

  • Regeln für businessobjektsbezogene Datenbankzugriffe (org.nuclet.basistemplate.facade)

  • Regeln für enitätsübergreifende Verallgemeinerungen und als Schnittstelle für die Java-Klassen des Lager-Nuclets (org.nuclet.basistemplate.wrapper)

  • Objektklassen für Preisinformationen (org.nuclet.basistemplate.object)

 

Integration

 

Notwendige Schritte zur Integration

Die Integration des Nummernkreise-Nuclets erfolgt in 5 Schritten:

  1. Download

  2. Nuclet-Import

  3. Nummernkreise festlegen

  4. Sourcecode-Anpassungen in Java-Regeln

  5. Einhängen der Java-Regeln im Regel-Management

Alle Integrationschritte werden im folgenden im Detail erläutert.

 

Schritt 1: Download

Download der Nuclet-Datei „Nummernkreise-v1.0.1.nuclet“ auf der Nuclos-Webpage unter „Nuclos Services“ > „Download“ > „Nuclet Download“. Das ZIP anschließend lokal entpacken.

 

Schritt 2: Nuclet-Import

Import des Basistemplate-Nuclets unter „Konfiguration“ > „Nuclet Management“ > „Importieren“ in Ihre bestehende Nuclos-Instanz, Auswahl der Datei „Nummernkreise-v1.0.1.nuclet“

 

Schritt 3: Nummernkreise festlegen

Für die automatisierte Nummernvergabe ist unter „Stammdaten“ für alle Businessobjekte, für die Nummern generiert werden sollen, jeweils ein Nummernkreis festzulegen. Die Nummernkreise umfasen die Definition eines Präfix und einer Anzahl von numerischen Stellen.

Beispielsweise führte die Definition

Name des Businessobjektes: Bestellung

Präfix: BE

Stellenanzahl: 4

Nächster Wert: 1

dazu, dass die Numerierung der Bestellungen das Schema „BE0001“, „BE0002“ „BE0003“, usw. hätte.

Seit Version v1.0.1 sind auch datumspezifische Präfixe möglich:

Die Ergänzung des Beispiels um das Datums-Präfix "{yy}" Definition

Name des Businessobjektes: Bestellung

Präfix: BE{yy}

Stellenanzahl: 4

Nächster Wert: 1

führe dazu, dass die Numerierung der Bestellungen um das aktuelle Kalenderjahr ergänzt werden („BE130001“, „BE130002“ „BE130003“, etc.)

...

Datumspräfixe werden aktuell unterstützt:

  • yyyy, yyyymm, mmyyyy, yyyymmdd, yyyyddmm, ddmmyyyy, mmddyyyy

  • mm, mmdd, ddmm

...

dd

 

Schritt 4: Sourcecode-Anpassungen in Java-Regeln

 

...

Java-Klasse

...

Kurzbeschreibung

...

org.nuclet.nummernkreise.rule.GeneriereNummer

...

Nummerngenerierung bei Insert-Event

...

org.nuclet.nummernkreise.rule.GeneriereNummerBeiStatuswechsel

...

Nummerngenerierung bei Statuswechsel

  • , yymm, mmyy

  • dd, mm, yy

Tabelle 2: Anwendungsspezifische Anpassungen in Java-Regeln

Das Nummernkreise-Nuclet hält jeweils eine Java-Regel vor für

  • Nummern, die beim Insert generiert werden sollen

  • Nummern, die bei einem Statuswechsel generiert werden sollen

Diese Regeln müssen bei der Nuclet-Integration mit einer Implementierung für die tatsächlich genutzten Businessobjekte gefüllt werden.

 

Hier nun ein Beispiel, wie die Klasse org.nuclet.nummernkreise.rule.GeneriereNummer im Basistemplate-Nuclet angepasst worden ist:

Codeblock
languagejava
titleGeneriereNummer
/** @name GeneriereNummer  
  * @description Generiert fortlaufende Nummern
  * @usage      
  * @change     
*/
@Rule(name="GeneriereNummer", description="Generiert fortlaufende Nummern")
public class GeneriereNummer implements InsertRule 
{
    public void insert(InsertContext context) throws BusinessException 
    { 
        final Modifiable businessObject = context.getBusinessObject(Modifiable.class);
        
        if (businessObject instanceof Auftrag) {
            ((Auftrag)businessObject).setNummer(NummernkreiseLogik.getNextValue(Auftrag.class));
        } else if (businessObject instanceof Bestellung) {
            ((Bestellung)businessObject).setNummer(NummernkreiseLogik.getNextValue(Bestellung.class));
        } else if (businessObject instanceof Lieferschein) {
            ((Lieferschein)businessObject).setNummer(NummernkreiseLogik.getNextValue(Lieferschein.class));
        } 
    }
}

 

Schritt 5: Einhängen der Java-Regeln im Regel-Management

Die Java-Regeln, die in Schritt 5 angepasst worden sind, müssen im letzten Schritt noch den tatsächlichen Businessobjekten (bzw. deren Events oder Statuswechseln) zugeordnet werden. Dies erfolgt über den Menüpunkt „Konfiguration“ > „Regel Management“.

Versionshistorie

VersionDatumTypÄnderungen
1.0.017.04.2013initiale Version-
1.0.105.09.2013Bugfixes für v1.0.0siehe Release Notes
1.1.013.12.2013Umstellung auf Nuclos 4.0Umstellung auf Nuclos 4.0

 

 

...