Intro
PRINT+PLUS bietet eine Skripting-Funktion, mit der der Exportprozess individuell erweitert werden kann. Über eigene C#-Skripte lassen sich beispielsweise Daten vor der Dokumenterstellung anpassen, zusätzliche Platzhalterwerte berechnen, Datensätze überspringen, Dateinamen ändern oder erzeugte Dokumente nach dem Export weiterverarbeiten.
Die Skripte werden an fest definierten Stellen im Exportablauf ausgeführt. Diese Stellen werden als Events bezeichnet. Ein Skript kann je nach Anwendungsfall einem oder mehreren dieser Events zugeordnet werden.
Die Skripting-Funktion richtet sich an erfahrene Anwender, Administratoren oder Entwickler mit C#-Kenntnissen.
Grundaufbau eines Skripts
Ein PRINT+PLUS-Skript ist eine C#-Klasse, die das Interface IScriptAction implementiert. Die eigentliche Programmlogik wird in der Methode Execute hinterlegt.
using Ruthardt.PrintPlus.Model.Interfaces;
public class MeinSkript : IScriptAction
{
public void Execute(IPrintContext printContext, ICurrentContext currentContext, IChildContext childContext)
{
// Eigene Logik hier einfügen
}
}
Die Methode Execute wird von PRINT+PLUS automatisch aufgerufen, sobald das zugeordnete Event im Exportablauf erreicht wird.
Parameter der Execute-Methode
PrintContext
Der
cobra-Umgebung
|
CurrentContextDer CurrentContext repräsentiert den Ausgangsdatensatz der aktuellen Ausgabe. Bei Mehrfachausgaben wird für jeden Ausgangsdatensatz ein CurrentContext erzeugt und | abgearbeitet.
enthält direkt alle Daten des Ausgangsdatensatzes und alle (rekursiv) übergeordneten Datensätze.
|
ChildContext |
| Enthält Informationen zum aktuell verarbeiteten untergeordneten Datensatz. Dieser Wert ist nur bei Child-Events befüllt, andernfalls |
var kontakt = childContext.Data;
var parent = childContext.ParentDataByPrefix["BetrifftProjekt"];