Nuclos Event-Regel Drucken (im Anschluss): Interface, PrintContext, Struktur, Zuweisung im Server-Regelmanager, Beispielcode (Java). |
Sprache: Deutsch · English
Ereignis-Regel „Drucken (im Anschluss)“: Interface, Kontext und ein Beispiel – so reagierst du auf dieses Nuclos-Ereignis.
Auf dieser Seite |
Diese serverseitige Regel wird ausgeführt nach dem Drucken eines Formulars/Reports. Sie kann einem Businessobjekt zugewiesen werden.
Grundgerüst der Regelklasse (der Regeleditor legt es automatisch an):
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 {
}
} |
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.
Das folgende Beispiel soll den Aufbau einer Regel vom Typ „PrintFinal„ und die Weiterverarbeitung der übergebenen Inhalte veranschaulichen.
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);
}
} |