Mit Einführung des SOG ERP (VACOS) Printspool System sind alle Druckausgaben auf das Microsoft DotNet Framework umgestellt worden. Außerdem können nun in allen wichtigen Bereichen auch 64-Bit Druckertreiber genutzt werden.
Das SOG ERP Printspool System sorgt dafür, dass Druckaufträge in einer Datenbanktabelle (prtbc) gespeichert werden.
Die Druckdaten des Druckauftrags werden ebenso in der Datenbank abgelegt (Blob-Tabelle dbfile).
Verwenden Sie die SOG ERP (VACOS)-Funktion "PrtQueue" um die Liste der aktuellen Druckaufträge (prtbc) abzurufen.
Der Dienst "SOGERPSrv" übernimmt dabei den Anstoß der eigentlichen Druckausgabe, sowie die serverseitige Abhandlung des IP-Protokolls "LPR". LPR-Aufträge werden dabei in "normale" Druckaufträge gewandelt, und erscheinen damit auch in der Datenbanktabelle "prtbc".
Außerdem überwacht "SOGERPSrv" das Spool-Verzeichnis ( ${SPOOLDIR}\hhlp\prtV2\q_all ). Dort eingehende Druckaufträge werden ebenfalls in "prtbc" Aufträge gewandelt.
Aufträge, die einmal in der "prtbc" Datenbanktabelle stehen, können dann von quasi beliebig vielen "SOGERPSrv" Servern, an unterschiedlichsten Servern oder Clients bearbeitet, und ausgedruckt werden.
Fehlerhafte Druckaufträge die z.B. nicht an einen Zieldrucker übergeben werden können, werden auf Status "Fehler" gestellt. Solche Aufträge können manuell wieder freigegeben werden, wenn das Problem erledigt ist, oder sie können manuell auf einen anderen Drucker umgelenkt werden.
Die Reorganisation der Warteschlange "prtbc" erfolgt über den "ReorgJob". Verwenden Sie die SOG ERP (VACOS)-Option "reorg.prtqueue" um die Anzahl Stunden einzustellen, nach denen Druckaufträge gelöscht werden. Standard ist dabei 48.
Die Datendateien der Druckaufträge werden dabei mit gelöscht, können aber noch einige Zeit im Blob-Speicher erhalten bleiben, da die Reorganisation von alten BLOB-Einträgen über die Reorganisations-Option "reorg.purge.tage" erfolgt.
Um das SOG ERP (VACOS) Printspool System zu aktivieren, muss auf mindestens einem SOG ERP (VACOS) Server der Dienst "SOGERPSrv" gestartet werden, und in der Konfiguration des Service etwa folgender Inhalt stehen:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="Service_1" value="vacos,01,PrintHandler,60" />
<add key="Service_1_External" value="true" />
<add key="Service_1_InitProc" value="VacosConsole.exe|-clearoldproc" />
<add key="Service_1_semaname" value="printhand_vacos_1" />
<add key="Service_1_RestartAfterMinutes" value="120" />
..
In diesem Beispiel wird 1 Dienst gestartet.
Unter "Service_1" ist hier der eigentliche PrintHandler gestartet. Der Semaphorenname legt fest, mit welchem Namen aktive Druckaufträge als aktiv gekennzeichnet werden.
Der PrintHandler startet für jeden überwachten Drucker einen eigenen Druckthread, der die Druckausgabe übernimmt. Der Ausdruck erfolgt immer über das Programm "SOGUtf8Print" oder im Falle von SOGForms-Aufträgen, über SOGForms.
Die Einrichtung eines Druckers erfolgt mit Hilfe des Programms "sogpsetup". Soll ein 64-Bit Druckertreiber verwendet werden, verwenden Sie das Programm "sogpsetup64".
Legen Sie dort für jeden Drucker einen logischen Drucker an. In den Druckereinstellungen wählen Sie den verbundenen Windows-Drucker aus, und setzen Sie zumindest den Schalter "Spool auf diesem Server aktivieren".
Diese Einstellung sorgt dafür, dass der auf diesem Server laufende "SOGERPSrv" PrintHandler den Drucker beachtet, und anstehende Druckaufträge aufbereitet und ausdruckt.
Über "Formular" können Sie ein Standardformular angeben, das verwendet wird, wenn der Beleg kein eigenes Formular ansteuert.
Wird kein Druckertreiber eingestellt, wird der gleichnamige Windows-Drucker mit seinen Standardeinstellungen verwendet,
Über die Sonderbehandlung "Dummy" richten Sie einen Drucker ein, dessen Druckausgaben einfach immer gelöscht werden. (Es erfolgt keine Druckausgabe oder sonstige Wandlung)
Über die Sonderbehandlung "Direct" richten Sie einen Drucker ohne Windows Druckertreiber ein. Diese Form der Druckausgabe ist veraltet, und wird in zukünftigen Versionen des SOG ERP (VACOS) Printspool System nicht mehr unterstützt werden. Daher ist diese hier nicht näher erläutert.
Geben Sie unter "Optionen" den Namen des physikalischen Druckers an, auf dem die Druckausgabe erfolgen soll.
Über die Sonderbehandlung "Remote" können Sie einen Drucker einrichten, dessen Druckausgabe auf einem Remote liegenden Spoolsystem erfolgt.
Geben Sie unter "Verzeichnis" den Namen des Remote-Spool-Verzeichnisses an: \\Server\sog\spool\hhlp\prtV2
Geben Sie unter "Optionen" den Namen des Remote-Druckers an.
Alle Druckausgaben für einen so eingerichteten Drucker werden automatisch an das Remotesystem übergeben, und sollten dann von dem dort laufenden Spool-System ausgedruckt werden.
Über die Sonderbehandlung "PDF" können Sie einen Drucker einrichten, der grundsätzlich PDF-Dateien mit eindeutigen Namen erzeugt, und in dem unter "Verzeichnis" angegebenen Verzeichnis ablegt. Dies ist z.B. dann geeignet, wenn Sie über keine physikalischen Drucker verfügen.
Bitte beachten Sie, dass für die Erzeugung von PDF-Dateien die dazu notwendigen Voraussetzungen erfüllt sein müssen.
Für die Verwendung der Mail-Funktionen ist die Installation eines Mail-Systems Voraussetzung!
Über die Sonderbehandlung "Mail" können Sie einen Drucker einrichten, dessen Ausgaben per Email an einen beliebigen Email-Empfänger gesendet werden.
Bitte beachten Sie, dass für die Verwendung dieser Funktion das ansteuernde Programm eine Ziel-Email-Adresse übergeben muss.
Drucktreiber: sog_ps
Sonderbehandlung: Mail
Erlaubt die Übergabe eines Druckauftrage an einen speziellen FollowMe Drucker (Stethos http://www.stethos.com/d_followme.htm)!
Die Übergabe des gewünschten Zielpostfaches wird dabei über den Titel des Druckjobs realisiert.
Ist in den Optionen keine weitere Angabe gemacht, wird der aktuelle Benutzername als Zielpostfach übergeben.
Ansonsten kann über "Optionen" das gewünschte Zielpostfach eingetragen werden.
Drucker: Festgelegter FollowMe-Übergabedrucker.
Sonderbehandlung: FollowMe
Optionen: gewünschtes FollowMe-Postfach.
Für die Verwendung der Fax-Funktionen ist die Installation eines Fax-Systems Voraussetzung!
Über die Sonderbehandlung "Fax:xxx" können Sie einen Drucker einrichten, dessen Ausgaben per Fax an einen beliebigen Fax-Empfänger gesendet werden.
Bitte beachten Sie, dass für die Verwendung dieser Funktion das ansteuernde Programm eine Ziel-Rufnummer übergeben muss.
Die Ansteuerung von Fax-Systemen erfolgt über eine weitere Konfigurationsdatei, siehe "Faxsystem" unten.
Einrichtung eines Druckers mit einer festen Ziel-Emailadresse
Für die Verwendung der Mail-Funktionen ist die Installation eines Mail-Systems Voraussetzung!
Mit dieser Möglichkeit können Sie einen logischen Drucker einrichten, dessen Druckausgabe grundsätzlich in eine PDF-Datei gewandelt werden, und dann per Email an einen fest hinterlegten Email-Empfänger gesendet werden.
Verwendet Sie dazu als Druckertreiber den "sog_ps" Drucker (Siehe PDF-Anbindung).
Sonderbehandlung: Mail
Optionen: :Absenderadresse:Zieladresse
Das vollständig Format der Optionen lautet dabei: server:from:to:betreff:txtfile:emformat(tif/pdf):DateinameAnhang
Einrichtung eines Druckers mit einer festen Fax-Nummer
Für die Verwendung der Fax-Funktionen ist die Installation eines Fax-Systems Voraussetzung!
Mit dieser Möglichkeit können Sie einen logischen Drucker einrichten, dessen Druckausgabe grundsätzlich per Fax an eine feste Fax-Rufnummer gesendet werden.
Verwendet Sie dazu als Druckertreiber den "sog_ps" Drucker (Siehe PDF-Anbindung).
Sonderbehandlung: Fax:xxxx
Verzeichnis: FaxÜbergabeverzeichnis
Optionen: Rufnummer
Das Vollständig Format der Optionen lautet dabei: Nummer:Zeit:Empf:Prio:Absender:Kost:Betreff:Hinweis:Archiv:Pwd:OverwriteZiel
Folgende Faxsysteme werden vom SOG ERP (VACOS) Printspool unterstützt:
GFI Text-Api (TIF + PDF)
FerrariFax
DeTeWe (Voraussetzung: Installation eines Imaging-Printers)
www.faxsenden.de
www.meine-faxnummer.de (Theoretisch)
Weitere Faxsysteme können über Konfigurationsdateien angebunden werden.
Einrichtung GFI-Fax Textapi/ Ferrari Fax:
Druckername; z.B. "fax"
Druckertreiber: sog_ps
Sonderbehandlung: fax:gfitextapi / fax:gfitextapipdf/ fax:ferrarifax
Verzeichnis: Text-API Übergabeverzeichnis.
Druckername; z.B. "fax"
Druckertreiber: Zan Image Printer (Fax)
Sonderbehandlung: fax:dtw
Verzeichnis: Zan-Temp-Verzeichnis | DeTeWe-Fax-Übergabeverzeichnis
Einstellungen des Zan Image Printer (Fax) Druckertreibers:
Layout: Hochformat, 1 Seiten / Seite
Papier/Qualität: Automatisch wählen
Save: Folder: Zan-Temp-Verzeichnis, Filename: [%DocName], Before Printing Start: No Dialogs
Image: Tiff, Monochrome, CCITT Group 4, Each Page as a single strip, Revers Bit order, Filemode: One Multi Page
Settings-Application: Keine
Settings-Document Name: Remove Path
Settings-Processing: Autorotate Landscape, Enable Border trimming, Left/Right/Top/Bottom, Scaling: 1.0 / 1.0
Druckername; z.B. "fax"
Druckertreiber: sog_ps
Sonderbehandlung: fax:faxsendende
Optionen: :::::::::Kennwort
(9 Mal Doppelpunkt, dann Mail-Kennwort von "faxsenden.de")
Einbindung von weiteren Faxsystemen
Die Konfiguration von Faxsystemen erfolgt über Konfigurationsdateien die unter dem Dateinamenmuster "SOGFAX-*.xml" gesucht werden in den Verzeichnissen:
${TOOLS}\data
${SPOOLDIR}\hhlp\config
Die Konfiguration hat folgenden Inhalt:
<?xml version="1.0" encoding="utf-8" ?>
<Faxsystem>
<Options Name="dtw" Format="tif" Transport="jobtitle/filename" ReorgDir="true" Trim="true"/>
<JobFile>
01:${FILENAME}
02:${NR}
03:${FROM}
99:${BETREFF}
</JobFile>
</Faxsystem>
Format: Format in das der Druckoutput gewandelt wird, um ihn an das Faxsystem zu übergeben. Mögliche Angaben: tif, pdf
TifWidth: Breite der Tif bei Transport "dir"
TifHeight: Höhe der Tif bei Transport "dir"
TifResX: Auslösung X-Achse (DPI) der Tif bei Transport "dir"
TifResY: Auslösung Y-Achse (DPI) der Tif bei Transport "dir"
Compress: G3 oder G4 (Fax-Kompression)
Replace/ReplaceBy: Umsetzung eines Zeichens in ein anderes.
Transport: Legt fest, wie mit dem Fax-System kommuniziert wird.
Mögliche Angaben:
jobtitle/filename => Im Print-Job wird eine eindeutige UUID verwendet. Anschließend wird im konfigurierten Verzeichnis eine Datei mit dieser UUID als Namen gesucht, und als Druckoutput verwendet.
mail => Übergabe erfolgt per Email
dir => Übergabe erfolgt durch Schreiben einer Auftragsdatei in einem Übergabeverzeichnis
proc => Übergabe erfolgt durch Aufruf eines Prozesses
ReorgDir: Alte Einträge werden im konfigurierten Verzeichnis gelöscht.
Trim: Aus der Jobdatei werden führende und nachfolgende Leerzeichen in jeder Zeile entfernt.
Jobfile: Definiert den Aufbau der Job-Datei bei Transport = "dir" oder "jobtitle/filename"
From: Absender bei Transport: = "mail"
To: Zieladresse bei Transport: = "mail"
Subject: Betreffzeile bei Transport: = "mail"
NrFormat: Format der Rufnummer, int = International (+49 ...) , 0049 => Umsetzen +49 in 0049
Proc: Prozess bei Transport: = "proc"
Parms: Parameter an den Prozess bei Transport: = "proc"
Hide: Prozess verstecken (true/false)
Folgende Variablen können verwendet werden:
FILENAME; Name der Übergabedatei (TIF) ohne Pfad
FILEPATH: Vollständiger Name der Übergabedatei
NR: Faxnummer
FROM: Absender des Faxes
ZEIT: Versandzeit (veraltet)
EMPF: Empfänger
PRIO: Priorität (0-Low 3-Urgend)
FROMUSER: Sendender Windows-Benutzer
FROMMAIL: Absender Email-Adresse
KOST: Kostenstelle
BETREFF: Betrefff
HINWEIS: Hinweis
ARCHIV: Archiv-Information
PWD: Passwort
TESTTAR: Test Ziel
SUBJECT: Email-Betreff
Automatische Schachtverteilung
Druckdateien können Escape-Folgen enthalten, die dafür sorgen, das die Druckausgabe automatisch auf unterschiedliche Schächte oder physikalische Drucker verteilt wird.
Um diese Schachtverteilung zu steuern, kann zusätzlich pro Drucker eine Konfigurationsdatei hinterlegt werden, die die Schachtverteilung steuert: