Nuclos Event-Regel Anlegen: Interface, InsertContext, Struktur, Zuweisung im Server-Regelmanager, Beispielcode (Java). |
Sprache: Deutsch · English
Ereignis-Regel „Anlegen“: Interface, Kontext und ein Beispiel – so reagierst du auf dieses Nuclos-Ereignis.
Auf dieser Seite |
Diese serverseitige Regel wird ausgeführt beim Anlegen eines neuen Datensatzes (vor dem Speichern). Sie kann einem Businessobjekt zugewiesen werden.
Grundgerüst der Regelklasse (der Regeleditor legt es automatisch an):
package org.nuclet.lager;
import org.nuclos.api.annotation.Rule;
import org.nuclos.api.context.InsertContext;
import org.nuclos.api.exception.BusinessException;
import org.nuclos.api.rule.InsertRule;
/** @name
* @description
* @usage
* @change
*/
@Rule(name="AnlegenLagerposition", description="Anlegen einer Lagerposition")
public class AnlegenLagerposition implements InsertRule {
public void insert(InsertContext context) throws BusinessException {
}
} |
Der Kontext |
Im Server-Regelmanager per Drag-and-Drop dem Ziel zuweisen. Optional lässt sich die Ausführung auf einen Status oder eine Aktion einschränken; die Reihenfolge steuerst du über die Pfeil-Buttons.

Zuweisung „Anlegen“.
Das folgende Beispiel soll den Aufbau einer Regel vom Typ „Anlegen„ und die Weiterverarbeitung der übergebenen Inhalte veranschaulichen.
package org.nuclet.company;
import org.nuclos.api.rule.InsertRule;
import org.nuclos.api.context.InsertContext;
import org.nuclos.api.annotation.Rule;
import org.nuclos.api.exception.BusinessException;
import org.nuclos.api.provider.BusinessObjectProvider;
import org.nuclos.api.provider.QueryProvider;
/** @name
* @description
* @usage
* @change
*/
@Rule(name="Bestellpositionanlegen", description="Bestellpositionanlegen")
public class Bestellpositionanlegen implements InsertRule {
public void insert(InsertContext context) throws BusinessException {
Bestellung curBestellung = context.getBusinessObject(Bestellung.class);
// Create new 'Bestellposition'
Bestellposition newPos = new Bestellposition();
// Get Artikel and Lagerort for default
Artikel myArticle = QueryProvider.getById(Artikel.class, 40460000L);
Lager myLagerort = QueryProvider.getById(Lager.class, 40271111L);
newPos.setPositionsnr(0);
newPos.setBezeichnung("Standard Palette");
newPos.setArtikelId(myArticle.getId());
newPos.setAnzahl(1.0d);
newPos.setBemerkung("Automatische Position");
newPos.setLagerId(myLagerort.getId());
// Insert new element to Bestellung
curBestellung.insertBestellposition(newPos);
}
} |