Archivierungs Schnittstelle
Zuletzt geändert: 10.06.2023 08:05

Archivierungsschnittstelle #

Überblick #

Das „papierlose Büro“ ist eine Idee, die schon seit über zwanzig Jahren durch unsere Köpfe geistert und deren Verwirklichung wir uns mehr oder weniger erfolgreich nähern. Unbestreitbar ist, dass E-Mail und Dateiformate wie PDF das Papier immer weiter an den Rand drängen, das gedruckte Papier aber immer noch allgegenwärtig ist. Der Bedarf alle Dokumente, ob Papier oder elektronische, sinnvoll zu archivieren besteht nach wie vor. Das Ausdrucken aller E-Mails und PDF-Dateien kann natürlich nicht die Lösung dazu sein.

Hier hat sich schon seit längerem eine eigene Gattung von Software etabliert. Die sog. Dokumenten-Management-Systeme – kurz DMS. Diese Systeme ermöglichen es praktisch alle im Büroalltag aufkommenden Dokumente zu sammeln, nach Bedeutung einzuordnen und mit geringem Aufwand wiederzufinden. Papiere werden eingescannt und der Text darauf vom Computer analysiert (OCR), um später nach dem enthaltenen Text suchen zu können, der E-Mail-Verkehr kann protokolliert und relevante Dokumente ebenfalls archiviert werden etc. DMS-System können sich als virtueller Druckertreiber in Windows einbinden und dadurch quasi jedem Programm, das Drucken kann, die Möglichkeit geben Dokumente im DMS abzulegen.

Auf diese Weise lässt sich auch EULANDA in solch ein System einbinden.

Dieses Vorgehen erfordert allerdings eine Umstellung bei der Bedienung einhergehend mit einem gewissen Grad an Komfortverlust. Daneben birgt sie auch einige Fallstricke. Der Druckprozess muss eventuell doppelt durchgeführt werden – einmal das Original und einmal fürs Archiv. Der Archivdruck kann versehentlich vergessen werden. Das DMS kann die ganz genaue Bedeutung eines Dokuments nicht immer zweifelsfrei erkennen und es sind Benutzereingaben erforderlich (Verschlagwortung) usw.

EULANDA bietet natürlich die Möglichkeit spezielle Menüpunkte programmieren zu lassen, die den Druck automatisieren oder die Formulare anzupassen, um besser vom DMS verarbeitet werden zu können. Bei den etwa einhundert Standardformularen, die EULANDA mitbringt kann der Einrichtungsaufwand erheblich sein.

Über unsere flexible DMS-Schnittstelle wird der Einrichtungsaufwand deutlich reduziert, es sind keinerlei Änderungen an bestehenden Formularen notwendig und im Regelfall muss der Anwender sich an keine neue Bedienung gewöhnen.

Leistungsumfang #

Die Hauptfunktion der Archivierungsschnittstelle ist das parallele Ausgeben aller Druckvorgänge in ein archivierbare Dateiformat (PDF bzw. TIFF-Fax), ohne dass an den bestehenden Formularen etwas verändert oder ein spezieller Menüpunkt programmiert werden muss.

Über Filtermechanismen kann sehr fein gesteuert werden, welche Formulare, von welchen Benutzern, PCs etc. archiviert werden sollen (siehe „Filter“).

Neben der reinen Übergabe an externe DMS-System kann die Schnittstelle auch weitere Aufgaben bewältigen.

Anwendungsszenarien #

  • Übergabe an DMS Systeme als PDF-Datei inkl. eingebetteter Steuerungsinformationen für das Ziel-DMS-System. Zum Beispiel „InfoOffice“
  • Ausgabe von PDF- oder TIFF-Kopien ins Dateisystem zur einfachen Archivierung. Hierbei können Zusatzinformationen, wie Benutzername, Druckdatum oder Formularname mit in das PDF im Klartext eingefügt werden, ohne dass diese im echten Ausdruck sichtbar sind.
  • Erzeugung einer Protokolldatei im CSV-Format (Text-Tabellenformat) mit den Kerndaten des Druckvorgangs
  • Protokollierung von Druckvorgängen in der SQL-Datenbank
  • Aufruf eines Fremdprogrammes oder VB-Skripts nach dem Ausdruck bestimmter Formulare oder gesteuert über weitere Filter

Parallel zum Ausdruck, Mailen oder Faxen kann eine Kopie jedes beliebigen Druckjobs in einem definierbaren Ordner auf dem lokalen Rechner oder einer Netzwerkfreigabe abgelegt werden.

Die Archivkopie wird hierbei direkt aus dem Druck-Zwischenspeicher entnommen. Es erfolgt also kein zusätzlicher Ausdruck. Dies ist zum einen sehr schnell. Zum anderen erhält man wirklich das gleiche Ergebnis, wie beim ursprünglichen Ausdruck. Es werden auch nicht versehentlich im Formular hinterlegte Skripts doppelt ausgeführt, die zu unerwünschten Nebeneffekten führen könnten (Die Ausgabe kann als PDF oder TIFF erfolgen).

Nach Erzeugung der Archiv-Datei kann ein beliebiges Fremdprogramm gestartet werden. Als Parameter können umfangreiche Variablen übergeben werden.

Über Einschluss/Ausschluss-Filter lässt sich steuern welche Berichte archiviert werden sollen

  • Benutzer
  • OC
  • Zielgerät (Vorschau, Drucker, E-Mail)
  • Berichtsname
  • Objektklasse (Rechnung, Angebot etc.)

Zur automatischen Weiterverarbeitung durch ein angeschlossenes DMS kann in der Archiv-PDF eine Zeile mit zusätzlichen Informationen ausgegeben werden. Hierbei kann über Platzhalter etliche Parameter des Druckjobs zugegriffen werden.

Einrichtung #

Archivierungs-Profil #

Die Einrichtung einer DMS-Übergabe oder einer anderen Funktionalität erfolgt über sog. Archivierungs-Profile. Im Profil wird festgelegt, welche Druckvorgänge (Druckjobs) behandelt werden sollen und was genau nach dem Ausdruck geschehen soll. Also beispielweise, wohin die Archiv-PDF-Datei gespeichert werden soll.

Es können mehrere Profile mit unterschiedlichen Filtern und Ausgabeoptionen hinterlegt werden. Es ist explizit erlaubt, dass derselbe Druckjob von mehreren Profilen verarbeitet wird.

Die Profile-Einstellungen befinden sich in der SQL-Registry unter

\SYSTEM\ReportArchive\Profiles

Zum Erzeugen eines neuen Profils wird dort ein Unterschlüssel angelegt. Der Name des Profils muss mit dem Präfix „user.“ beginnen. Der Editor für die SQL-Registry befindet sich auf der Schnellstartleiste unter „Systemverwaltung“. Hinweise zur Bedienung des Registry-Editors finden sich im Online-Handbuch.

Die Grundeinstellungen werden direkt in diesem Profil-Schlüssel vorgenommen. Eine Liste aller möglichen Einstellungen befindet sich im Anhang.

TIPP

während der Testphase sollte das Trace-Flag 1113 aktiviert werden, um geänderte Einstellungen ohne EULANDA- Neustart testen zu können. (siehe Trace-Flags)

Beispiel 1 - Ausgabe aller Ausdrucker als PDF #

Legen Sie, wie oben beschrieben, ein Profil mit dem Namen „user.Beispiel01“ an und hinterlegen Sie nachfolgende Registry-Werte.

Bei „Active“ handelt es sich um einen Integerwert. Alle anderen Werte müssen als „Zeichenfolge“ angelegt werden.

Active 1 Das Profil wird aktiviert
Caption Alles nach PDF ausgeben Bezeichnung des Profils
OutputBaseFolder C:\temp\Archiv Basis-Verzeichnis für alle Ausgaben
OutputFolder %yyyy%%mmm% Unterordner (optional), unter dem die Ausgaben abgelegt werden. Dieser Ordner wird automatisch angelegt, falls er nicht vorhanden ist.
OutputFilename %datetimefile%%job.reportname%%counter%.pdf
OutputFormat PDF Es sollen PDF-Dateien erzeugt werden
PdfPreamble %job.Reportname% gedruckt von %job.username% auf PC %job.PCName% an %job.TargetDevice% Dieser Text wird auf der ersten Seite der Archiv-PDF-Datei ausgegeben
PdfPreambleDrawText font.color=brown;font.size=9 Anpassung der Schriftart

Filter #

Über Filter kann festgelegt werden, welche Druckjobs über das jeweilige Archivierungsprofil behandelt werden sollen. Filter lassen sich für verschiedene Eigenschaften des Druckjobs anwenden. Sie werden als Liste von zulässigen („Include“) bzw. unzulässigen („Exclude“) Eigenschaftswerden definiert.

Um einen Filter anzulegen wird ein Schlüssel Im jeweiligen Profils angelegt. Hierin kann ein mehrzeiliger Zeichenkettenwert mit dem Namen „INCLUDE“ oder „EXCLUDE“ erzeugt werden.

Jede Zeile enthält einen Eigenschaftswert, der erlaubt oder nicht erlaubt ist.

Verfügbare Filter #

Filter Typ Zulässige Werte
DATAOBJECTS Objektklassen Die Namen des jeweiligen Datenobjekts in dem der Bericht hinterlegt ist. Zum BeispielEulanda.RechnungEulanda.Adresse
REPORTS Einzelne Berichte Der eindeutige interne Name des jeweiligen Berichts, unter dem der Bericht in der Registry gespeichert ist. Dieser Name wird in den Berichtseigenschaften im Kopfbereich angezeigt.Cnsoft.Rechnung.Rechnung
USER Benutzernamen Der Windows-Anmeldname des Benutzers
MACHINES PC-Name Der Name des Arbeitsplatzes
PRINTERPROFILES Druckergruppen Die effektiv verwendete Druckergruppe. Diese ist grundsätzlich dem Bericht in den Berichtseigenschaften zugeordnet. Sie kann aber arbeitsplatzspezifisch oder benutzerabhängig auf eine andere Druckergruppe umgeleitet sein.StandardListen
TARGETDEVICES Ausgabeziel PRINTERFILE FAXPREVIEWSCREEN
REPORTTYPE Berichtstyp Der Berichtstyp legt u.A. fest, woher der Bericht seine Daten bezieht bzw., ob er Bezug auf aktuell angezeigte Daten hat oder komplett eigenständig ist. Den Typ kann man in den Berichtseigenschaften auf der Karteikarte „Erweitert“ sehen.EMBEDDEDMULTI.LISTMULTI.SINGLEOBJECT

Spezifische DMS-Systeme #

InfoOffice 3.0 #

Die Anbindung erfolgt über PDF-Dateien, die auf den im Netzwerk installierten DMS-Server abgelegt werden. Zu Beginn des PDF-Dokuments werden Kundennummern, Vorgangsnummern, Vorgangsdatum und weitere Informationen in einer für das DMS-System lesbaren Form generiert. Des Weiteren können über sogenannten Dokumenten-IDs Berechtigungen für verschiedene Formulare hinterlegt werden.

Hersteller

Firma SETRONIC® GmbHIm Ermlisgrund 20-2476337 Waldbronn1DEUTSCHLANDwww.infooffice.net

Die Übergabe erfolgt über PDF-Dateien.

Starke DMS #

Die Anbindung erfolgt über PDF-Dateien, die in ein Verzeichnis auf dem jeweiligen Arbeitsplatz abgelegt und von der dort installierten Client-Software entgegengenommen werden. Am Anfang des PDF-Dokuments werden Kundennummern, Vorgangsnummern, Vorgangsdatum und weitere Informationen in einer für das DMS-System lesbaren Form generiert.

Hersteller

Firma Starke + Reichert GmbH & Co. KGKohlenstraße 49 - 5134121 KasselDEUTSCHLANDwww.starke.de

Registry-Einstellungen #

Beschreibung

Mehrzeiliger TextEs können beliebig viele Benutzer-Variablen hinterlegt werden, die dann über Platzhalter in anderen Eigenschaften eingefügt werden können. Die Möglichkeit, diese Variablen in einzelnen Berichten oder Objektklassen zu überschreiben ermöglicht ein hohes Maß an Flexibilität.
Name Platzhalter Ableitbar Typ Beschreibung
Active Boolean Aktiviert oder deaktiviert das komplette Profil
Caption String Anzeigename
SingleObjectOnly Boolean Es werden ausschließlich Berichte akzeptiert, die ein einzelnes Daten-Objekt betreffen – wie beispielsweise eine Auftragsbestätigung, Rechnung usw. insbesondere werden also keine Listen oder andere eigenständigen Berichte archiviert.
OutputBaseFolder JA String Das Stamm-Verzeichnis für die Ausgabe
OutputFolder JA String Bei Bedarf kann automatisch eine Ordnerstruktur unterhalb des „OutputBaseFolder“ angelegt werden. Diese könnte beispielsweise Rechnungen nach Jahren, Monaten und Matchcode des Kunden gruppieren, wie in folgendem Beispiel%year%%mm%%obj.match%
OutputFormat PDF, TIFF, NULL Das zu erzeugende Dateiformat. Bei NULL wird keine Datei erzeugt. Es wird aber, falls angegeben der Order angelegt. Dies ist beispielsweise sinnvoll, wenn man lediglich eine Textausgabe über „onfinit.txt“ am Ende des Druckvorgangs erzeugen möchte
ExtraData.sql (verfügbar ab EULANDA 8.0) JA JA Mehrzeiliger Text Ermitteln zusätzlicher Variablen, die als Platzhalter „extra.XXX“ zur Verfügung stehen
PdfPreamble JA JA String Der hier hinterlegte Text mit den ausgetauschten Platzhaltern wird mit in das Archiv-PDF-Dokument ausgegeben. Der Echte Ausdruck ist hiervon nicht betroffen
PdfPreambleDrawText Optionen-String Hierüber kann das Aussehen und die Position der PDF-Präambel gesteuert werden. Standardmäßig wird die Präambel in 3-Punkt-Schrift am Beginn der ersten Seite ausgegeben.
onFinit.Sql JA SQL-Befehl, der nach Erzeugung der Archiv-Datei aufgerufen wird. Hierüber können zum Beispiel Updates in Tabellen durchgeführt oder SQL-Prozeduren aufgerufen werden.Es können auch Daten über einen SELECT-Befehl an EULANDA zurückgegeben werden, die dann über „onFinit.txt“ in einer Textdatei ausgegeben werden können
onFinit.txt JA Mehrzeiliger Text Der hinterlegte Text wird als Textdatei im selben Verzeichnis, wie die Archivdatei und bis auf die Dateierweiterung mit dem gleichen Dateinamen ausgegeben.Das Ergebnis des „onFinit.sql“-Befehls kann über die Direktive $$SQLRESULT$$ eingefügt werden.Über erweiterte Einstellungen kann Der Dateiname der Textdatei, die zu verwendende Zeichen-Kodierung und das Format der SQL-Daten beeinflusst werden
onFinit.vbs JA Mehrzeiliger Text VBScript-Befehl mit Zugriff auf das EULANDA-Objektmodell. Achtung: Das Skript läuft nicht im Kontext des jeweiligen Programmmoduls. insbesondere ist kein Zugriff auf „Dataset“ möglich.
onFinit.cmd JA Mehrzeiliger Text Aufruf eines beliebigen Fremdprogramms mit der Möglichkeit Parameter des Druckprozesses zu übergeben
Var. JA JA String

Das OnFinit-Ereignis #

Nach Beendigung des eigentlichen Druckauftrages und Erzeugung der Archivdatei können noch eine oder mehrere Funktionsblöcke aktiviert werden. Falls mehrere Funktionen definiert wurden, so werden diese stets in der nachfolgend aufgeführten Reihenfolge durchlaufen, da die Funktionsblöcke auf die Ergebnisse der vorangegangenen Blöcke zugreifen können:

  1. Ausführung eines SQL-Befehls mit eventueller Datenrückgabe mittels eines SELECT-Befehls
  2. Speichern einer Text- oder XML-Datei mit Möglichkeit zur Ausgabe der SELECT-Ergebnisse des vorherigen Schrittes
  3. Ausführung eines VB-Scripts. Falls im vorherigen Schritt eine Textdatei ausgegeben wurde, so steht der Dateiname im Skript zur Verfügung.
  4. Ausführung eines beliebigen Fremdprogramms – ebenfalls mit Zugriff auf den Dateinamen der Textdatei

Ausführen eines SQL-Befehls #

Wie alle OnFinit-Ereignis-Behandlungsroutinen kann auch diese Platzhalter enthalten. Hierbei werden die eingefügten Texte automatisch entsprechend den SQL-Konventionen für String-Literale formatiert. Das heißt im Text enthaltene Apostroph-Zeichen werden gedoppelt. Es ist aber zu beachten, dass numerische Werte mit Nachkommastellen als Platzhalter i.d.R. nur als Text im landesüblichen Format vorliegen. Diese können dann nicht ohne weiteres als numerischer SQL-Datentyp weiterverarbeitet werden.

Falls im SQL ein Prozentzeichen (In String-Konstanten oder im Programmcode) benötigt wird, so muss dieses gedoppelt werden. Da das Prozentzeichen ansonsten zur Kennzeichnung der Platzhalternamen verwendet wird.

Beispiel A - Anlage eines Log-Eintrags #

Hier wird in eine fiktive Tabelle „dbo.userMyReportLog“ ein Eintrag mit einigen Kerndaten der des Druckauftrags angelegt.

Insert userMyReportLog (`
`PrintDate, ReportName, UserName, PcName, Info)`
`Values(`
`GETDATE(),`
`'%job.ReportName%',`
`'%job.Username%',`
`'%job.PcName%',`
`'%job.DokumentName% ausgegeben auf %job.TargetDevice%');

Beispiel B - Setzen des “Gedrucket”-Kennzeichens in der Rechung #

Hierüber kann nach dem Rechnungsdruck das Feld „RechungGedruckt“ gesetzt werden, welches standardmäßig von EULANDA nicht verwendet wird. Über Filter-Definition ist hierbei sicherzustellen, dass der Befehl auch nur beim Drucken von Rechnungen ausgeführt wird.

UPDATE dbo.Rechnung`
`SET RechnungGedruckt = 1`
`where id = %job.ObjektId%;

Erzeugen einer Textdatei (onFinit.txt) #

Der Inhalt von onFinit.txt wird nach Ersetzung der Platzhalter als Textdatei gespeichert.

Falls in der Textdatei ein Prozentzeichen ausgeben möchten, so muss dieses gedoppelt werden. Da das Prozentzeichen ansonsten zur Kennzeichnung der Platzhalternamen verwendet wird.

Standardmäßig erhält diese den gleichen Namen und Pfad, wie die Archivdatei, aber die Erweiterung „.txt“.

Über spezielle Direktiven in den ersten Zeilen des Textes kann die Dateierweiterung, der Dateiname oder Pfad und auch der zu verwendende Zeichensatz beeinflusst werden.

Falls das Ereignis „onFinit.sql“ definiert wurde und hierüber Daten zurückgegeben wurden, können diese ebenfalls in die Textdatei geschrieben werden. Fügen Sie dazu den Spezialplatzhalter $$SQLRESULT$$ in den Text ein.

Direktive Name Beschreibung
#filename: Nur Dateierweiterung Es wird der gleiche Pfad und Dateiname, wie bei der Archivdatei verwendet und nur die Dateierweiterung ausgetauscht
Nur Dateiname ohne Pfad Es wird der gleiche Pfad, wie bei der Archivdatei verwendet und der hier hinterlegte Dateiname
Dateiname mit Pfadangabe Die Datei wird gespeichert, wie angegeben
#fileoptions: Optionen-String Es stehen dieselben Einstellungen zur Verfügung, wie bei der iScript-Funktion Client.SaveTextDie einzelnen Eigenschaften sind im Angang erklärt.Neben der Möglichkeit den Zeichensatz (auf beispielsweise UTF-8) umzustellen, ist noch die Möglichkeit hervorzuheben, bereits vorhandene Dateien nicht zu überschreiben, sondern an diese Anzufügen. Hierdurch lassen sich fortlaufende Logdateien erzeugen.Beispiel: charset=UTF-8;append=true
#textoptions: Optionen-String Einstellungen, wie die SQL-Ergebnisse formatiert werden sollen. Standardmäßig werden diese als CSV mit Semikolon-Trenner ausgegeben

Ausführen eines VB-Scripts #

Der angegebene VBScript-wird im Prozess der laufenden EULANDA.EXE ausgeführt. Hierbei besteht Zugriff auf das EULANDA-Objektmodell.

Das Skript läuft nicht im Kontext des jeweiligen Programmmoduls, sondern im Kontext des Mandanten. Insbesondere ist kein Zugriff auf „Dataset“ möglich. Jedoch kann auf das „Client“-Objekt zugegriffen werden.

Wie in den vorangegangenen onFinit-Behandlungsroutinen können auch an dieser Stelle Platzhalter verwendet werden. Beim Einfügen von Text-Platzhaltern werden hierbei die VBScript-Konventionen für String-Literale berücksichtigt. Im Text enthaltene doppelte Anführungszeichen werden gedoppelt. Außerdem werden Zeilenumbrüche durch die VbScript-Konstanten vbCr und vbLf ersetzt.

Falls im VBScript ein Prozentzeichen (In String-Konstanten oder im Programmcode) benötigt wird, so muss dieses gedoppelt werden. Da das Prozentzeichen ansonsten zur Kennzeichnung der Platzhalternamen verwendet wird.

Dim Info, ID`
`Info = "%obj.info%"`
`ID = %job.objectId%`
`MsgBox Info

Starten eines externen Programmes #

Falls Nach Beendigung des Druckvorgangs ein externes Programm aufgerufen werden soll, kann dies hier hinterlegt werden. Man legt dazu einen „Zeichenfolge“-Wert mit dem Namen „onFinit.cmd“ an und ruft den „mehrzeiligen Editor“ auf.

Die erste Zeile interpretiert EULANDA als Dateinamen inklusive Pfad-Angabe des aufzurufenden Programms. Falls das Arbeitsverzeichnis für die Ausführung des Befehls angegeben werden muss, so kann dies in der zweiten Zeile erfolgen. Diese Zeile muss dazu mit der Direktive #dir: beginnen.

Beispiel 1

#dir:C:\temp

Alle weiteren Zeilen werden als Parameter interpretiert. Jeder Parameter wird zur besseren Übersicht in einer separaten Zeile hinterlegt.

Sowohl in dem Dateinamen, als auch in den Parametern sind hierbei wieder Platzhalter erlaubt.

Beispiel 2

C:\temp\archiv.bat
-ADD
"%filename%"

Anhang #

Trace-Flags #

Über Trace-Flags können gewisse Verhaltensweisen von EULANDA verändert werden. In der Regel handelt es sich hierbei um die Aktivierung zusätzlicher Prüfungen oder Debug-Ausgaben. Da diese Optionen mit einem höheren Rechenaufwand verbunden sind, sollten die im Normalbetrieb wieder deaktiviert werden.

Zum Aktivieren eines Trace-Flags wird in der Datei „EULANDA.INI“ eine Sektion [TraceFlags] angelegt und das entsprechende Flag auf „1“ gesetzt.

Beispiel

[traceflags]
1113=1
1112=1

Falls die Textdatei EULANDA.INI noch nicht vorhanden ist, muss diese angelegt werden.

Flag Name Beschreibung
1112 TRACEFLG_LogReportArchive Es werden etliche Statusmeldungen und Debug-Ausgaben erzeugt. Diese lassen sich über die Debug-Konsole ausgeben oder in eine vorhandene debuglog.txt (im Verzeichnis der Exe) protokollieren
1113 TRACEFLG_AlwaysRecreateReportArchive Die Parameter werden bei jedem Ausdruck neu initialisiert. Dies ist während der Implementierungsphase sinnvoll, da Änderungen in der Registry direkt beim nächsten Druck verfügbar sind.Dies führt allerdings zu Performanceproblemen und sollte im späteren Echtbetrieb wieder deaktiviert werden
1114 TRACEFLG_DebugReportArchive Die Archivschnittstelle wird im Debug-Modus gestartet. Gewisse Einstellungen, wie beispielsweise der Ausgabepfad können umgeleitet werden

Platzhalter #

Einfache Datums-Variablen #

Platzhalter Beschreibung Beispiel
Year, yyyy Jahr vierstellig 2018
Timefile Uhrzeit mit Sekunden ohne Punktation stets sechsstellig 050607
time Standard Zeitformatierung - Länderabhängig 05:06
DateISO 2018-01-20
d
dd
ddd
M, month Monat als Zahl 1
mm Monat als Zahl - zweistellig vorgenullt 01
mmm Monat als Text - Kurzform Jan
mmmm Monat als Text - ausgeschrieben Januar
yy Jahr zweistellig 18
hh Stunde, zweistellig 05
nn Minuten, zweistellig 06
Ss Sekunden, zweistellig 07
Zzz Millisekunden 555

Variablen, den den Druckjob betreffen #

Parameter Bemerkungen
job.Version aktuelle Version “1.2”
job.OriginalReportName interner Berichtsname, der vom Benutzer ausgewählt wurde
job.ReportName i.d.R. gleich mit OriginalReportName außer der Bericht wurde durch Spezialanpassungen umgelenkt
job.PrinterName Name des verwendeten Druckers, so wie er auch in der Druckbox angezeigt wird
job.Fileformat zum Beispiel “PDF”
job.Filename Kompletter Dateiname inklusive Pfad der erzeugten Archivdatei. Dieser Platzhalter ist nur in der Einstellung OnFinit.cmd verfügbar
job.Username Windows-Anmeldename des Benutzers, der den Bericht gedruckt hat
job.PcName Name des Arbeitsplatzes, wie er in Windows hinterlegt wurde
job.Preview Boolscher Wert (1 oder 0) je nah dem, ob der Bericht in der Vorschau angezeigt wurde oder nicht
job.PrinterProfile Name der Druckergruppe
job.ObjectId ID des gedruckten Datensatzes. Diese ist nur verfügbar, wenn es sich um einen Einzeldruck-Bericht handelt (zum Beispiel eine Rechnung) nicht aber bei Listen.
job.ObjectClass Name der DATAOBJECTCLASS zum Beispiel “eulanda.Adresse”
job.Letterhead Name des verwendeten Briefpapiers
job.TargetDevice “PRINTER”, “FAX”, “FILE”, “PREVIEW”, “SCREEN”
job.SessionName In der Enterprise-Version von EULANDA wird bei Terminalsitzungen der Name des Servers zusammen mit dem PC-Namen ausgegeben - zum Beispiel “notebook12@Server”. In anderen Fällen ist es identisch mit “PcName”
job.DocumentName Dokumentenname der in der Berichtsverwaltung hinterlegt wurde. Dieser wird bei E-Mail-Versand zum Beispiel als Name für den Dateianhang verwendet.
Jpb.ReportType MULTI.List, MULTI.SingleObject, EMBEDDED etc.

Zugriff auf Felder des aktuellen Datensatzes #

Über das Präfix „obj.“ lassen sich alle verfügbaren Datenbankfelder des jeweiligen Objektes einbinden. Zum Beispiel kann im Fall einer Rechnung über %obj.Kopfnummer% die Rechnungsnummer ausgegeben werden.

Es werden hierbei die Feldnamen der jeweiligen SQL-Tabelle benötigt und nicht die in der Maske oder im Browser angezeigten Bezeichnungen.

Den genauen Namen der SQL-Tabelle und die Feldnamen kann man über die Kontext-Information (STRG+F9) ermitteln. Wenn ein Feld in der Eingabemaske angeklickt wird, steht der jeweilige Feldname im Bereich „Edit Control“:

—BILD

Über den Tabellennamen kann im SQL-Designer auch eine Liste aller Felder der Tabelle aufgerufen werden.

Optionen #

Option - Text speichern #

Wert Standardwert Beschreibung
Charset string Systemstandard Wert UTF-8 UTF-1616-Bit Codierung in Intel-Byte-Order (Little Endian)UTF-16BE16-Bit Codierung in Motorola-Byte-Order (Big Endian)ibm437MS-DOS(andere)Andere in Windows installierte Zeichensätze sind ebenfalls möglich. Typischerweise finden sich die entsprechenden Namen in der WIndows-Registry unter HKEY_CLASSES_ROOT\MIME\Database\Charset. Falls der angegebene Zeichensatz nicht unterstützt wird, wird eine Fehlermeldung ausgegeben.
WriteBOM Boolean “TRUE”,“FALSE” “TRUE” Um die verschiedenen Unicode-Speicherformate UTF-8, UTF-16 und UTF-16BEBei untereinander und von normalen Ansi-Datein unterschieden zu können sieht der Unicode-Standard es vor ein ein sog. Byte-Order-Mark (BOM) an den Anfang der Datei zu schreiben. Bei Weiterverarbeitung auf Unix-Systemen kann es hier teilweise zu Problemen führen. Ebenso ist es bei UTF-8 kodierten Webseiten unüblich und führt im Browser zu Anzeigeproblemen. In diesen Fällen kann WriteBOM auf “0” gesetzt werden.
Overwrite Boolean “TRUE”,“FALSE” “TRUE” nur für SaveText: Wenn Overwrite auf False steht, wird eine Fehlermeldung ausgegeben, falls die Datei bereits existiert. Ansonsten wird sie überschrieben. Falls Append auf TRUE steht, wird Overwrite nicht ausgewertet
CheckExists Boolean “TRUE”,“FALSE” “FALSE” nur für LoadText: Wenn CheckExists auf True steht , wird eine Fehlermeldung ausgegeben, falls die Datei oder der Registry-Wert. Bei “FALSE” wird in diesem Fall ein Ansonsten wird in diesem Fall ein Leerstring zurückgegeben.
Append Boolean “TRUE”,“FALSE” “FALSE” Falls die Datei bereits existiert, wird der Text an die Datei angehängt. Diese Möglichkeit besteht ausschließlich für Dateien. Beim Anfügen an eine vorhandene Datei ist darauf zu achten, die gleiche Charset-Einstellung, wie bei der ursprünglichen Datei zu verwenden. *Es erfolgt keine automatische Erkennung der vorhandenen Daten! *Beim Anfügen wird kein automatischer Zeilensprung angefügt. In VBScript ann dies beispielsweise über die Konstante vbCrLf erfolgen (siehe Beispiel B)

Optionen - für CSV Ausgabe #

Vorgabe (Preset) - Name oder Optionenstring

Preset Beschreibung
(leer) oder CSV Standard = Semikolon und Doppelte Anführungszeichen
TAB TAB-Delimiter, keine Anführungszeichen, TABS werden durch SPACE ersetzt
XML
HTMLLIST
HTMLROWS
HTMLTABLE
SQLSELECT
SQLVALUES
Name Typ Standardwert Bemerkung
RowDelimiter string CR LF
Delimiter
NullValue string leer
ErrorValue string ****
TrueValue string TRUE
FalseValue string FALSE
QuoteChar char " (doppeltes Anführungszeichen)
IncludeHeader bit 1 Spaltenüberschriften in erster Zeile ausgeben
MaxRows int -1 Maximale Anzahl von Zeilen oder “-1” für alle
SkipColumns int 0 (BETA!) Die ersten n Spalten werden übersprungen
ClipString bit 0 Beinhaltet ein Wert einen Zeilenumbruch, so wird nur der Inhalt bis zu diesem ausgegeben. Der Rest wird abgeschnitten
MultiLine Bit Sonderbehandlung für mehrzeilige Daten. Diese werden auf mehrere Zeilen verteilt. Allerdings nur in der eigenen Spalte. Alle anderen Spalten werden jeweils als Leerzeilen ausgegeben
RepeatColumns int 0 Bei Verwendung von Multiline werden die n ersten Spalten der jeweiligen Hauptzeile wiederholt
Datums- und Zahlenformate
Locale string En-en
NumberFormat 0.00##
DateFormat Automatisch anhand “Locale”
DecimalSeparator char dito
ThousandSeparator char dito
DateSeparator char dito
TimeSeparator char dito
Binärdaten
HexPrefix string 0x
HexPostfix string leer
MaxBinary int 100 Maximale Anzahl Bytes oder “-1”, wenn keine Beschränkung vorgenommen werden soll
Kodierung
Escape “XML”, “PRINTF” oder leer für keine spezielle Kodierung leer
FilterChars string leer Alle angegebenen Zeichen werden aus der Ausgabe gelöscht
MaskChars string leer Alle hier vorkommenden Zeichen werden durch das korrespondierende Zeichen aus “MaskToChars” ersetzt
MaskToChars string leer Siehe “MaskChars”
Trim “RIGHT”,“LEFT”,“YES” oder “NO” RIGHT Entfernen von Leerzeichen am Anfang oder Ende oder beides
ColStart string leer Zeichenfolge vor jeder Spalte
ColEnd string leer Zeichenfolge nach jeder Spalte
ColTemplate string leer Vorlage für Spalten. Hierbei sind folgende Platzhalter verfügbar %name%Name der Spalte%uname%Name in Großbuchstaben%lname%Name in Kleinbuchstaben%Val%Der eigentliche Ausgabewert%cid%ID der Spalte%rid%ID der Zeile%align%“RIGHT” oder “LEFT” abhängig vom Datentyp