Skip to main content

02 – Installation

Diese Seite beschreibt Voraussetzungen, Einbau und Einbautest des Squeeze Pull-Jobs für den Mappentyp Invoice. Die Parameter und Schalter sind auf der Seite Konfiguration beschrieben.

Voraussetzungen

  • DOCUMENTS 5/6 mit DEXPRO-Standard (Import-, Parameter- und Logging-Bibliothek sowie Squeeze_FunctionLib mit v2-Unterstützung)
  • Squeeze mit REST-API v2, Zugang in der Squeeze-Konfiguration von DOCUMENTS hinterlegt
  • Mappentyp mit SqueezeID (Text, durchsuchbar, indiziert), SqueezeStatus, Register für Anhänge und Gentable

Feste Regeln: nur ein DOCUMENTS-System je Squeeze-Instanz, nur ein Job je Mappentyp und nur auf einem Server. SOAP und Pull nie gleichzeitig an derselben Klasse, sonst entstehen Dubletten.

Bestandteile

Kategorien: die Squeeze_*-Skripte in SqueezePull, der Job in Invoice, der Userexit in Invoice_UserExit.

Skript Aufgabe Anpassen?
Invoice_JOB_SqueezePull Job: Job-User, SuperMode, Log, liest Parameter, ruft runSqueezePull() je Mappentyp ein eigenes Job-Skript
Squeeze_Pull_Lib Ablauf, gleich für alle Mappentypen nein, nur die Schalter am Dateianfang (siehe Konfiguration)
Squeeze_FunctionApiLib REST-Aufrufe, SqueezeAPI erbt von Squeeze nein, aber abgleichen
Squeeze_CustomLib Userexit ue_Squeeze_ParseFieldValue ja, je Kunde
Squeeze_ENUM_DocFile_SqueezeStatus Standard-Enum plus Unfinished, ERROR, Processed nein
Invoice__UserExit_CustomLib ue_beforeStartWorkflow: sperrt den Workflow-Start bei Unfinished und ERROR ja, Userexit an die Kundenfassung anfügen

Unverändert bleiben die Standardskripte Squeeze_FunctionLib, DEXPRO__ImportLib, Invoice__ImportLib, Invoice_JOB_StartWorkflow und DEXPRO_ENUM_DocFile_SqueezeStatus (bei Kunden oft verschlüsselt).

Einbau

Sicherung

Vor dem Einspielen exportieren:

  • Invoice__UserExit_CustomLib des Kunden
  • Squeeze_FunctionApiLib, falls schon vorhanden

Skripte

Den Userexit ue_beforeStartWorkflow an die Kundenfassung von Invoice__UserExit_CustomLib anfügen, den Rest nicht ändern.

Enthält das Skript schon ein ue_beforeStartWorkflow, dann muss die Prüfung in die vorhandene Funktion eingebaut werden.

Parameter

Squeeze_DocumentClassName und bei Bedarf Squeeze_StartWorkflow anlegen, wie auf der Seite Konfiguration beschrieben. Angelegt werden die Parameter über die Weboberfläche.

Übersetzungen

In der Weboberfläche unter Übersetzungen drei Einträge anlegen.

Feld Eintrag 1 Eintrag 2 Eintrag 3
Applikation Documents Documents Documents
Typ Properties Properties Properties
Unterkategorie Squeeze Squeeze Squeeze
Name SqueezeStatus_Unfinished SqueezeStatus_Error SqueezeStatus_Processed
Projektspezifische Anpassung nein nein nein
Deutsch Übernahme läuft / unvollständig Übernahme fehlgeschlagen Übernommen
Englisch Transfer incomplete Transfer failed Transferred

Mappentyp Invoice

  • Feld SqueezeStatus auf runscript:Squeeze_ENUM_DocFile_SqueezeStatus umstellen
  • Register aus Wert 2 (und ggf. Wert 3) des Parameters und Gentable vorhanden
  • Öffentlichen Filterordner für Invoice mit SqueezeStatus = Unfinished ODER ERROR anlegen

Das Feld SqueezeStatus im Manager bzw. im Webclient nach der Umstellung:

04_mappentyp_squeezestatus.png

Squeeze

  1. SOAP-Export der Klasse ausschalten.
  2. Export-Interface „Pull“ an der Klasse anlegen und aktivieren.
  3. Prüfen, dass der Queue-Step „Export“ heißt.
  4. Mapping in der Spalte Name (Zielsystem) prüfen: jedes DOCUMENTS-Feld nur einmal zugeordnet (Details auf der Seite Konfiguration).

Das Export-Interface „Pull“ an der Klasse:

05_squeeze_exportinterface_pull.png

Jobs

Invoice_JOB_SqueezePull mit der Eigenschaft thread=1 anlegen und erst nach dem Test viertelstündlich einplanen.

07_job_squeezepull.png

Invoice_JOB_StartWorkflow nicht ändern. Er wird nur gebraucht, wenn der Parameter Squeeze_StartWorkflow nicht auf true steht.

Vor dem Einplanen von Invoice_JOB_StartWorkflow prüfen, ob es alte Akten mit leerer WorkflowID gibt. Sie würden ebenfalls gestartet werden.

Einbautest

Der Test läuft mit einem einzelnen Beleg in zwei Durchgängen: zuerst ohne Rückmeldung an Squeeze, dann mit. Vorher in Squeeze_Pull_Lib TEST_KEEP_IN_EXPORT = true und MAX_DOCS_PER_RUN = 1 setzen.

# Aktion Erwartung
0 Invoice-Vorgang öffnen SqueezeStatus bietet 9 Werte an.
1 Invoice_JOB_SqueezePull von Hand starten Der Vorgang wird angelegt und steht auf „Unfinished“, keine FEHLT-Zeile im Log. Der Beleg bleibt in Squeeze im Export, weil der Testmodus kein FINISHED meldet.
2 Invoice_JOB_StartWorkflow von Hand starten Prüft die Workflow-Sperre: Der Vorgang aus Schritt 1 bekommt keinen Workflow, im Log steht ue_beforeStartWorkflow() -> false.
3 In Squeeze_Pull_Lib TEST_KEEP_IN_EXPORT = false setzen, Invoice_JOB_SqueezePull erneut starten Jetzt die echte Übernahme: FINISHED im Log, Vorgang auf „Processed“, Beleg in Squeeze aus dem Export verschwunden.
4 Workflow prüfen Mit Squeeze_StartWorkflow = true: im Pull-Log „Workflow … gestartet“. Sonst Invoice_JOB_StartWorkflow starten, der Vorgang bekommt jetzt seinen Workflow.

Nach dem Test in Squeeze_Pull_Lib MAX_DOCS_PER_RUN wieder auf 100 setzen (TEST_KEEP_IN_EXPORT steht seit Schritt 3 auf false). Dann Invoice_JOB_SqueezePull viertelstündlich einplanen und, falls der Workflow nicht direkt im Pull-Lauf startet, auch Invoice_JOB_StartWorkflow.