Ab Version 19.6.6
Für Druck,- und Dateiausgabe können Skripts definiert werden welche zusätzliche Aktionen vor und nach der Dateiausgabe ausführen um z.b. zusätzliche Exportformate bereitzustellen.
Diese Skripts werden direkt unter Stammdaten -> Berichte -> Ziele mit dem Button Skript bearbeiten eingetragen.
Ausführungsreihenfolge der Skripts
1. | Public Shared Sub BeforeProcessReport(e As BeforeProcessReportParameters) |
2. | Public Shared Sub BeforeSendMail(e As BeforeSendMailParameters) |
3. | Public Shared Sub BeforePrint(e As BeforePrintParameters) |
4. | Public Shared Sub AfterPrint(e As AfterPrintParameters) |
5. | Public Shared Sub AfterFileExport(e As AfterFileExportParameters) |
6. | Public Shared Sub AfterProcessReport(e As AfterProcessReportParameters) |
Hinweis
Je nach ausgewältem Ausgabemodus werden nicht alle Skripts ausgeführt. So wird z.b. BeforeSendMail nur beim senden von E-Mails ausgeführt.
Skript Aufbau
Der Skript muss folgende Komponenten enthalten:
1. | Optionen für den Compiler |
2. | Import Deklarationen |
3. | Öffentliche Classe "DynamicCode" |
4. | Mindestens eine der Funktionen für Skripts |
5. | Alle Einstiegsfunktionen müssen als "Public Shared" deklariert sein. |
Beispiel
Option Infer On
Option Explicit On
Option Strict Off
Imports Styletronix.AuftragsverwaltungV2.Common
Imports Styletronix.AuftragsverwaltungV2
Imports System.Linq
Imports System
Imports System.Data
Imports Microsoft.VisualBasic
Public Class DynamicCode
Public Shared Sub BeforeProcessReport(e As BeforeProcessReportParameters)
'TODO: Inhalt des Skripts hier einfügen
End Sub
Public Shared Sub BeforeSendMail(e As BeforeSendMailParameters)
'TODO: Inhalt des Skripts hier einfügen
End Sub
Public Shared Sub AfterProcessReport(e As AfterProcessReportParameters)
'TODO: Inhalt des Skripts hier einfügen
End Sub
'TODO: Bei bedarf weitere Skripts hier einfügen...
End Class
Die im Beispiel angegebenen Importe und Optionen sind die empfohlene Mindestkonfiguration.
Es werden intern keine automatischen Importe wie in Visual Studio durchgeführt. Diese müssen im Skript explizit angegeben werden.