Seitenhistorie
...
Inhalt |
---|
...
|
...
|
Releases
Version |
---|
...
1.1.0
...
Datum | Hinweise | Kompatibilitä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 Fassung | ab Nuclos 4.25.1 | ||
2.2.0 | 17.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.
Schritt | Beschreibung |
---|---|
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. |
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. |
3 | Konfigurieren Sie Ihren gewünschten Nummernkreis für jedes betroffene Businessobjekt unter System | Nummernkreise. 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:
Download
Nuclet-Import
Nummernkreise festlegen
Sourcecode-Anpassungen in Java-Regeln
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:
|
...
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
|
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 | ||||
---|---|---|---|---|
| ||||
/** @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
Version | Datum | Typ | Änderungen |
---|---|---|---|
1.0.0 | 17.04.2013 | initiale Version | - |
1.0.1 | 05.09.2013 | Bugfixes für v1.0.0 | siehe Release Notes |
1.1.0 | 13.12.2013 | Umstellung auf Nuclos 4.0 | Umstellung auf Nuclos 4.0 |
...