Documentation
Back to website >

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 Beispiel

  • Eulanda.Rechnung
  • Eulanda.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.

  • Standard
  • Listen

TARGETDEVICES

Ausgabeziel

  • PRINTER
  • FILE
  •  FAX
  • PREVIEW
  • SCREEN

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.

  • EMBEDDED
  • MULTI.LIST
  • MULTI.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® GmbH

Im Ermlisgrund 20-24

76337 Waldbronn1

DEUTSCHLAND

www.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. KG

Kohlenstraße 49 - 51

34121 Kassel

DEUTSCHLAND

www.starke.de

Registry-Einstellungen

Beschreibung

<td ">Mehrzeiliger Text<td">Es 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.<Name>

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.SaveText

Die 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-16

16-Bit Codierung in Intel-Byte-Order (Little Endian)

UTF-16BE

16-Bit Codierung in Motorola-Byte-Order (Big Endian)

ibm437

MS-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