Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

Ausführen eines Reports

MethodeBeispiel
executerun
Codeblock
package org.nuclet.businessentity; 

import org.nuclet.report.MeinAuftragReportRE;
import org.nuclos.api.common.NuclosFile;
import org.nuclos.api.provider.GenerationProviderReportProvider;

public class AuftragAbschliessenAuftragReportRegel implements UpdateFinalRuleInsertRule {

    public void updateFinalinsert(UpdateContextInsertContext context) throws BusinessException { 
        
		Auftrag a = context.getBusinessObject(Auftrag.class);
      
        RechnungNuclosFile rresult = GenerationProviderReportProvider.execute(a, ErstelleRechnungAusAuftragGEN.classrun(MeinAuftragReportRE.Deutsch_PDF);
        a.insertAttachment(result, "Kommentar: Genierte Auftragsreport");
    }
}

Erläuterung:Die

Ausführung eines Arbeitsschrittes über den GenerationProvider kann aus jeder Regel heraus vorgenommen werden. Aufgrund der Typsicherheit müssen Quell- und Zielobjekte immer zum Arbeitsschritt, resp. zu den hinterlegten Typen der generierten Arbeitsschritt-Klasse passen. Im oberen Beispiel erstellt der Arbeitsschritt "Erstelle Rechnung aus Auftrag" eine Rechnung. Der übergebene Parameter a muss vom Typ "Auftrag" sein. Der Rückgabewert muss wiederum vom Typ "Rechnung" sein. Erlaubt sind nur diese Typen von BusinessObjekten, andere Angaben führen zu Compile-Fehlern in der Regel,da sie nicht zur Klasse "ErstelleRechnungAusAuftragGEN" passenBeim Anlegen eines neuen Auftrags soll automatisch der Report "MeinAuftragReport" ausgeführt und das generierte PDF als GenericObjectDocumentFile an das BusinessObject gebunden werden.

Im Falle eines Laufzeit-Fehlers wird eine BusinessException geworfen.