Das folgende Beispiel soll den Aufbau einer Regel vom Typ "Anlegen" und die Weiterverarbeitung der übergebenen Inhalte veranschaulichen.
Fachlicher Hintergrund
Eine bestehende Nuclos-Instanz umfasst das Businessobjekt Bestellungen. Diese wiederum besitzt den Reiter Positionen, der alle Artikel einer konkreten Bestellung auflistet. Die Aufgabe besteht darin, beim Anlegen einer neuen Bestellung einen Standard-Artikel, der generell bei jeder Bestellung vorhanden sein muss, automatisch mittels Regel hinzuzufügen. Dies soll den Nuclos-Benutzer entlasten.
Quellcode
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); } }
Überblick
Inhalte