Home › Forum › Nuclos Konfiguration › Businessprozesse › Automatisch fortlaufende Nummer › Automatisch fortlaufende Nummer
Also, ich habe
- ein Attribut Nummer (intern: nummer) angelegt
- einen Testdatensatz erstellt
- des Feld nächster Wert in Nummerkreise verändert sich nicht, steht auf 1
- das Feld Nummer bleibt leer
Hier die komplette Regel aus dem Nuclet von novabit:
package org.nuclet.nummernkreise.rule;
import org.nuclos.api.rule.InsertRule;
import org.nuclos.api.context.InsertContext;
import org.nuclos.api.annotation.Rule;
import org.nuclos.api.businessobject.BusinessObject;
import org.nuclos.api.businessobject.facade.Modifiable;
import org.nuclos.api.exception.BusinessException;
import org.nuclos.api.provider.BusinessObjectProvider;
import org.nuclos.api.provider.QueryProvider;
import org.nuclet.nummernkreise.logic.NummernkreiseLogik;
/** @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
{
//
// @replace Bitte mit bei Nuclet-Integration mit eigenem Code füllen!
//
// Es folgen zwei Beispiele einer konkreten Umsetzung:
//
// Beispiel 1 (Nummerngenerierung nur für eine Entität "Auftrag"):
//
// final Auftrag test = context.getBusinessObject(Auftrag.class);
// auftrag.setNummer(NummernkreiseLogik.getNextValue(Auftrag.class));
//
//
// Beispiel 2 (Nummerngenerierung nur für verschiedene Entitäten):
//
// 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));
// }
final Kooperationspartner test = context.getBusinessObject(Kooperationspartner.class);
Kooperationspartner.setNummer(NummernkreiseLogik.getNextValue(Kooperationspartner.class));
}
}
Danke für alle Hinweise!