Dieser Dienst besteht aus zwei Komponenten, die das Hochladen von Dokumenten in die Cloud oder direkt ins DMS übernehmen.
Architektur
Der erste Dienst (STP.IM.DocumentCollectorOnPremiseService)
Dieser Dienst übernimmt die Dokumentenverarbeitung. Sobald ein Dokument im Arbeitsordner eingeht, wird es vom Dienst abgeholt und entsprechend verarbeitet.
Im Arbeitsordner gibt es mehrere Unterordner, die bei der Dokumentenverfolgung helfen:
- approved
- error
- info
- originals
- pending
- processed
- retained
- temp
- work
Der zweite Dienst (STP.IM.DocumentCollectorManagement)
Dieser Dienst ist eine visuelle Komponente und unterstützt bei grundlegenden Konfigurationen, Genehmigungen usw.
Entwicklung
Voraussetzungen
- Klonen Sie das Repository nach
C:\Projects\
Lokale Einrichtung
- Aktualisieren Sie in der App.config die Beispiel-Einstellungen, um eine Verbindung zum entsprechenden Mandanten, Benutzerverwaltung (On-Premise) und LSB (On-Premise) herzustellen.
- Für Debugging-Zwecke in den Visual Studio Debug-Eigenschaften
/ui
als Befehlszeilenargument hinzufügen.
Ausführen
- Aktualisieren Sie die Beispielordnerkonfiguration in
C:\ProgramData\STP AG\STP.IM.DocumentCollectorOnPremiseService\ScanFolders
. - Erstellen Sie im Ordner
C:\Users\Public\STP.Scanfolder
einen Ordner mit dem Namen, wie er in Ihrer Ordnerkonfiguration angegeben ist.
Ein Dokument sammeln
Starten Sie den Dienst. Kopieren Sie Ihr Dokument in den Ordner
C:\Users\Public\STP.Scanfolder\<IhrOrdner>
.
Einstellungen
Es gibt zwei Orte, an denen Sie Einstellungen für den Dokumentensammler konfigurieren können:
-
Allgemeine Konfiguration, normalerweise unter
C:\ProgramData\STP AG\STP.IM.DocumentCollectorOnPremiseService
Beispiel für eine
config.json
-Konfigurationsdatei:json { "CountUploadWorkers": 3, "DurationToErrorQueueInMinutes": 60, "EnableUploads": true, "ErrorItemPath": "C:\\Users\\Public\\STP.Scanfolder\\ErrorItems", "ImageRenderingSettings": { "ImageRenderingMode": 4 }, "SmtpMailSettings": { "DefaultSenderAddress": null, "DefaultSenderName": null, "Domain": null, "Password": null, "Port": 0, "Server": null, "SSL": false, "UseDefaultCredentials": false, "User": null }, "UploadQueuePath": "C:\\Users\\Public\\STP.Scanfolder\\UploadQueue", "WorkingModeSettings": { "WorkingMode": 0 }, "RetentionCleanerWorkerRunAt": 15 }
-
CountUploadWorkers
- Anzahl der parallelen Upload-Arbeiter. Optionaler Parameter vom Typnumber
. Standardwert ist3
. -
DurationToErrorQueueInMinutes
- Dauer in Minuten, nach der die Datei vom Upload-Ordner in den Fehlerordner verschoben wird. Optionaler Parameter vom Typnumber
. Standardwert ist60
Minuten. -
EnableUploads
- Aktiviert den Start der Upload-Arbeiter. Optionaler Parameter vom Typboolean
(true/false). Standardwert isttrue
. -
ErrorItemPath
- Pfad, in den fehlerhafte Dokumente verschoben werden. Erforderlicher Parameter vom Typstring
. -
ImageRenderingSettings.ImageRenderingMode
- Die Qualität, mit der die Bilder gerendert werden. Optionaler Parameter vom Typnumber
. Standardwert ist4
. Mögliche Optionen:-
Hohe Qualität
- 5 -
Normale Qualität
- 4 -
Keine Bildkorrektur
- 3 -
Salt And Paper Filtering
- 2 -
Median Glättung
- 1
-
-
SmtpMailSettings
- Einstellungen für E-Mail-Benachrichtigungen bei fehlerhaften Dokumenten. -
UploadQueuePath
- Pfad, in den Dokumente für den Upload abgelegt werden. Erforderlicher Parameter vom Typstring
. -
WorkingModeSettings.WorkingMode
- Die Art und Weise, wie der Dokumentensammler eingehende Dateien im Eingabeordner verarbeitet. Optionaler Parameter vom Typnumber
. Standardwert ist0
. Mögliche Optionen:-
Nur Cloud
- 0 - Die Dokumente werden in die IM-Cloud hochgeladen. -
Nur On-Premise
- 1 - Die Dokumente werden in einen konfigurierten Ordner verschoben, um vom DMS importiert zu werden.
-
-
RetentionCleanerWorkerRunAt
- Lokale Uhrzeit (Stunde), zu der der Retention-Worker ältere Dokumente bereinigt. Optionaler Parameter vom Typnumber
. Standardwert ist1
. -
MaxUploadFileSizeInBytes
- Maximale Dateigröße, die gelesen und hochgeladen werden darf. Optionaler Parameter vom Typnumber
. Standardwert ist262144000
(250MB).
-
-
Ordnerspezifische Konfigurationen (können mehrere Dateien sein)
Beispiel für eine
ScanFolders
-Konfigurationsdatei:json { "DirectoryPath": "C:\\Users\\Public\\STP.Scanfolder\\Input1", "ScanIntervalSeconds": 5, "Enabled": true, "UseUploadApproval": false, "AutomaticApproveAfter": null, "MasksToTargets": [ { "TargetLaneName": ".automation", "FileMask": "*.*", "ClassName": ".automation", "OverridesTargetLaneByCode": [ ] } ], "IsBatchFolder": true, "DocumentSeparatorIdentifier": "DOCUMENT_SEPARATOR", "OutGoingMailOnly": true, "DmsImportFolder": "C:\\Users\\Public\\STP.Scanfolder\\Input1\\temp", "DmsImportFolderFallback": "", "ServiceMode": true, "EmailRecipientsOnError": "info@test.de", "KeepSeparatorSheet": true, "DmsImportFilePattern": null, "MinimumFileAgeInSeconds": 60, "RemoveEmptyPagesEnabled": true, "RemoveEmptyPagesThreshold": 5.0, "RetentionPeriods": { "OriginalsRetentionPeriodInDays": 7, "ErrorsRetentionPeriodInDays": 0, "ProcessedRetentionPeriodInDays": 0 } }
-
DirectoryPath
- Ordner, in dem Dokumente zur Verarbeitung abgelegt werden. Erforderlicher Parameter vom Typstring
. -
ScanIntervalSeconds
- Wie viele Sekunden der Dienst wartet, bevor ein Dokument abgeholt wird. Erforderlicher Parameter vom Typnumber
. -
Enabled
- Aktiviert den Ordnerscanner-Arbeiter. Erforderlicher Parameter vom Typboolean
. -
UseUploadApproval
- Wenntrue
, ist eine manuelle Genehmigung erforderlich (funktioniert mit DocumentCollectorManagement). Optionaler Parameter vom Typboolean
. Standardwert istfalse
. -
AutomaticApproveAfter
- Wie viele Sekunden der Dienst wartet, wennUseUploadApproval
auftrue
gesetzt ist (funktioniert nur mit DocumentCollectorManagement). -
MasksToTargets.TargetLaneName
- Input Management Lane, in die die Dokumente hochgeladen werden. Optionaler Parameter vom Typstring
. -
MasksToTargets.FileMask
- Platzhaltermuster, das im gescannten Ordner verwendet wird, um Dateien auszuwählen (im Beispiel*.*
bedeutet alle Dateitypen). Erforderlicher Parameter vom Typstring
. -
MasksToTargets.ClassName
- Input Management Klasse, in der die Dokumente klassifiziert werden. Optionaler Parameter vom Typstring
. -
IsBatchFolder
- Bestimmt, ob das Dokument direkt an IM gesendet wird (false) oder vom Dokumentensammler verarbeitet und dann an IM gesendet wird (true). Optionaler Parameter vom Typboolean
. Standardwert istfalse
. -
DocumentSeparatorIdentifier
- Dokumententrennungsmuster, das zur Trennung des Dokuments verwendet wird. Erforderlicher Parameter vom Typstring
. -
OutGoingMailOnly
- Wenntrue
, wird Input Management umgangen und Dokumente werden in den DMS-Ordner gesendet, wenn ein wz-Barcode gefunden wird. Standardwert istfalse
. -
DmsImportFolder
- Ordner, den DMS direkt auf Dokumente mit wz-Barcodes scannt. -
DmsImportFolderFallback
- Backup-Ordner, den DMS direkt auf Dokumente mit wz-Barcodes scannt (funktioniert mit DocumentCollectorManagement). -
ServiceMode
- Funktioniert nur mit DocumentCollectorManagement. Optionaler Parameter vom Typboolean
. Standardwert istfalse
. -
EmailRecipientsOnError
- Liste der Empfänger bei Fehlern. Optionaler Parameter vom Typstring
. -
KeepSeparatorSheet
- Behält oder löscht die Seite mit dem Trennblatt. Nicht verwenden mit Barcodes mit Inhalt! Optionaler Parameter vom Typboolean
. Standardwert istfalse
. -
MinimumFileAgeInSeconds
- Intervall in Sekunden, ab dem die Datei alt genug für die Verarbeitung ist. Optionaler Parameter vom Typnumber
. Standardwert ist60
. -
RemoveEmptyPagesEnabled
- Bestimmt, ob leere Seiten eines Dokuments entfernt werden. Optionaler Parameter vom Typboolean
. Standardwert istfalse
. -
RemoveEmptyPagesThreshold
- Schwellenwert, unterhalb dessen die Seite als leer markiert wird. Optionaler Parameter vom Typdouble
. Standardwert ist0.0
. -
LexDmsImportFolder_OnPremiseOnly
- Ordner, in den die Dokumente abgelegt werden, wennWorkingModeSettings.WorkingMode
in der allgemeinen Konfiguration1
ist. Erforderlich, wenn die allgemeine Konfigurationsoption auf1
gesetzt ist, vom Typstring
. -
SplitDocumentByFixedBatchSize
- Trennt das Dokument nach einer festen Seitenanzahl.0
bedeutet, dass es deaktiviert ist, und andere Arten von Trennungen können angewendet werden. Andernfalls wird das Dokument unabhängig von Trennungen im Inneren nach der eingegebenen Anzahl aufgeteilt. Optionaler Parameter vom Typnumber
. Standardwert ist0
. -
RetentionPeriods
- Das System speichert Dokumente nicht dauerhaft. Jeden Tag löscht der Dienst die Dokumente aus den Ordnern. Die Ausführungszeit ist in der Datei config.json im OrdnerC:\ProgramData\STP AG\STP.IM.DocumentCollectorOnPremiseService
konfigurierbar. Die Aufbewahrungszeit wird in Tagen angegeben.0
bedeutet, dass Dokumente nicht gelöscht werden. -
RetentionPeriods.OriginalsRetentionPeriodInDays
- Wie viele Tage der Dienst wartet, bevor Dokumente aus dem Ordneroriginals
automatisch gelöscht werden. Optionaler Parameter vom Typnumber
. Standardwert ist7
. -
RetentionPeriods.ErrorsRetentionPeriodInDays
- Wie viele Tage der Dienst wartet, bevor Dokumente aus dem Ordnererror
automatisch gelöscht werden. Optionaler Parameter vom Typnumber
. Standardwert ist0
. -
RetentionPeriods.ProcessedRetentionPeriodInDays
- Wie viele Tage der Dienst wartet, bevor Dokumente aus dem Ordnerprocessed
automatisch gelöscht werden. Optionaler Parameter vom Typnumber
. Standardwert ist0
.
-
Ausgehende E-Mails
Seit Version 24.08.15.2 unterstützt der Dokumentensammler folgende Kombinationen von p4-Barcodes und Trennblättern:
- Trennung ausgehender Dokumentenstapel mit dem winsolvenz.p4-Barcode.
- Trennung ausgehender Dokumentenstapel mit dem winsolvenz.p4-Barcode und Trennung ihrer Anhänge mit Dokumententrennblättern.
- Trennung ausgehender Dokumentenstapel nur mit Dokumententrennblättern.
Es gibt einige Änderungen im Vergleich zu früheren Versionen:
- Dokumentenstapel mit X- oder Y-Barcodes (Code39) werden basierend auf dem Barcode auf der ersten Seite des Dokuments gescannt und verarbeitet.
- Barcodes auf den Seiten der Dokumente werden erkannt, und die Barcode-Seite selbst wird nicht gelöscht.
- Wenn der Barcode erkannt wird, wird er im Dateinamen im Format
<barcode><timestamp>-<document_number_grouped_by_barcode>.pdf
geschrieben und über den konfiguriertenDmsImportFolder
-Pfad an den Dokumentenmanagementsystem-Sammler (DMS) übertragen. - Wenn kein Barcode erkannt wird, werden die Dokumente an das Input Management übertragen.
- Wenn kein
DocumentSeparatorIdentifier
-Treffer vorliegt, werden die Dokumente basierend auf Barcodes verarbeitet.
⚠️ DocumentSeparatorIdentifier
darf nicht denselben Wert
wie die Barcodes haben, da sonst nicht unterschieden werden kann, ob ein
Dokument oder ein Anhang getrennt werden soll. Wenn
DocumentSeparatorIdentifier
mit dem Barcode-Wert
übereinstimmt, wird die Seite mit dem Barcode gelöscht und der Rest des
Dokuments im Input Management verarbeitet.