Sie zeigen eine alte Version dieser Seite an. Zeigen Sie die aktuelle Version an.

Unterschiede anzeigen Seitenhistorie anzeigen

« Vorherige Version anzeigen Version 3 Aktuelle »

globe with meridians Language: Deutsch · English

open book Event - Print (final)

Event rule „Print (final)“: interface, context and an example – how to react to this Nuclos event.

REFERENZ DEVELOPER UPDATED: JUL 2026 APPLIES TO NUCLOS 4.2026.X

On this page

When does the rule fire?

This server-side rule runs after a form/report has been printed. It can be assigned to a business object.

Structure

Skeleton of the rule class (the rule editor creates it automatically):

package org.nuclet.businessentity; 
import org.nuclos.api.rule.PrintFinalRule; 
import org.nuclos.api.context.PrintFinalContext; 
import org.nuclos.api.annotation.Rule; 
import org.nuclos.api.exception.BusinessException; 
/** @name        
  * @description 
  * @usage       
  * @change      
*/
@Rule(name="Dokumente archivieren", description="Dokumente archivieren")
public class Dokumentearchivieren implements PrintFinalRule {
    public void printFinal(PrintFinalContext context) throws BusinessException { 
    }
}

Context: PrintContext

The context PrintContext provides the affected BusinessObject via context.getBusinessObject(...); the RuleContext functions (providers) are also available. A BusinessException aborts the operation.

Assignment

Assign it to the target via drag-and-drop in the server rule manager. Optionally restrict execution to a status or an action; control the order with the arrow buttons.

Example

package de.mynuclet; 
import org.nuclos.api.rule.PrintFinalRule; 
import org.nuclos.api.context.PrintFinalContext; 
import org.nuclos.api.annotation.Rule; 
import org.nuclos.api.exception.BusinessException; 
import org.nuclos.api.context.PrintResult;
import org.nuclos.api.provider.BusinessObjectProvider;
/** @name        
  * @description 
  * @usage       
  * @change      
*/
@Rule(name="PrintFinalRuleBeispiel", description="PrintFinalRuleBeispiel")
public class PrintFinalRuleBeispiel implements PrintFinalRule {
    public void printFinal(PrintFinalContext context) throws BusinessException { 
        final Auftrag auftrag = context.getBusinessObject(Auftrag.class);
        for (final PrintResult result : context.getPrintResults()) {
            Auftragsdokument auftragsdokument = new Auftragsdokument();
            auftragsdokument.setDatei(result.getOutput());
            auftragsdokument.setDatum(new java.util.Date());
            context.log("insert Auftragsdokument " + result.getOutput().getName());
            auftrag.insertAuftragsdokument(auftragsdokument);
        }
        BusinessObjectProvider.update(auftrag);
    }
}

Related pages

open book Server-side rules


Basics.

Open →

gear Server rule manager


Assign.

Open →

clipboard Rule execution order


Order.

Open →

  • Keine Stichwörter