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);
        
        
    }
}
  • Keine Stichwörter