Direkt zum Hauptinhalt

Konfiguration

Die Konfiguration erfolgt über die Datei appsettings.json. Änderungen an der Konfiguration werden zur Laufzeit automatisch übernommen (Hot-Reload via IOptionsMonitor).

Beim Start werden die Pflichtparameter validiert. Fehlende oder ungültige Werte führen zu einem sofortigen Abbruch mit Fehlermeldung.

{
  "License": {
    "LicenseNr": "",
    "CustomerNr": ""
  },
  "Company": "500M",
  "ConnectionString": "XpoProvider=MSSqlServer;data source=WS01;integrated security=SSPI;initial catalog=CWLSYSTEM;TrustServerCertificate=True;",
  "ImportPath": "C:\\Archivimport",
  "FileFilter": "*.pdf",
  "Belege": {
    "Folder": "Belege",
    "Regex": "^(?<nummer>[^-]+-[^.]+)\\.[^.]+$",
    "KeywordMapping": "1=Kontonummer,43=Auftragsnummer,49=DatumLieferschein:dd-MM-yyyy",
    "FileFilter": "*.pdf;*.tif"
  },
  "Artikel": {
    "Folder": "Artikel",
    "Regex": "^Artikel_(?<nummer>.+)\\.[^.]+$",
    "KeywordMapping": "41=Artikelnummer"
  },
  "Personenkonten": {
    "Folder": "Personenkonten",
    "Regex": "^Konto_(?<nummer>.+)\\.[^.]+$",
    "KeywordMapping": "1=Kontonummer"
  },
  "MandantenVerzeichnisse": false,
  "EnableBelegKeyFallback": true,
  "Watch": true,
  "SuccessFolder": "Erfolgreich",
  "ErrorFolder": "Fehler",
  "Split": {
    "Enabled": false,
    "SplitPath": "C:\\Archivimport-Split",
    "Strategie": "Barcode",
    "Barcode": {
      "Symbologien": ["QR_CODE", "CODE_128"],
      "RenderDpi": 200
    },
    "Ocr": {
      "Regex": "Lieferschein\\s*Nr\\.?\\s*(?<nummer>[0-9]+-[0-9]+)",
      "Sprache": "german",
      "RenderDpi": 300
    }
  }
}

Lizenz

Parameter Beschreibung
License:LicenseNr Lizenznummer
License:CustomerNr Kundennummer

Die Lizenzprüfung erfolgt beim Start gegen https://license.css-edv-support.de (Produkt: MESO-ARCHIVEIMP). Ohne gültige Lizenz startet der Service im Demomodus (siehe unten).

In Container-Umgebungen können die Werte alternativ über Umgebungsvariablen gesetzt werden:

  • LICENSE_LICENSE_NR
  • LICENSE_CUSTOMER_NR

Demomodus

Wenn keine gültige Lizenz vorhanden ist (fehlende Konfiguration, ungültige Daten oder Server nicht erreichbar), startet der Service automatisch im Demomodus. In diesem Modus:

  • Dateien werden erkannt, Identifier extrahiert und Objekte zugeordnet
  • Schlagworte werden ermittelt (aus Mapping und Schlagwortdateien)
  • Die Ergebnisse werden als [DEMO]-Warnung geloggt
  • Die Archivierung wird übersprungen - es werden keine Dokumente im MESONIC-Archiv abgelegt
  • Dateien werden nicht in Erfolgs-/Fehlerverzeichnisse verschoben

Pflichtparameter

Parameter Beschreibung Beispiel
Company MESONIC-Mandantennummer (entfällt bei MandantenVerzeichnisse: true) "500M"
ConnectionString XPO-ConnectionString zur MESONIC-Systemdatenbank "XpoProvider=MSSqlServer;data source=WS01;..."
ImportPath Pfad zum Importverzeichnis "C:\\Archivimport"

Optionale Parameter

Parameter Standard Beschreibung
FileFilter "*.pdf" Erlaubte Dateitypen als Wildcard-Muster. Mehrere Muster werden mit Semikolon getrennt (siehe FileFilter der Belege-Sektion in der Beispielkonfiguration oben)
MandantenVerzeichnisse false Erste Verzeichnisebene als Mandantennummer interpretieren (siehe Mandantenverzeichnisse). Company wird dann aus den Verzeichnisnamen ermittelt
Watch false Dauerüberwachung des Importverzeichnisses aktivieren
EnableBelegKeyFallback false Bei Belegkey-Format auch über LadeBeleg suchen, wenn die direkte Suche fehlschlägt
SuccessFolder "Erfolgreich" Name des Unterverzeichnisses für erfolgreich importierte Dateien
ErrorFolder "Fehler" Name des Unterverzeichnisses für fehlgeschlagene Importe
WorkFolder "InArbeit" Name des Arbeitsverzeichnisses, in das Dateien vor der Verarbeitung verschoben werden (verhindert Doppelverarbeitung bei Dateisperren)
TestSentry false Löst eine Test-Exception aus, um die Sentry-Integration zu prüfen

Split-Konfiguration (PDF-Zerlegung)

Alle Parameter unterhalb von Split:. Wird nur ausgewertet, wenn Split:Enabled auf true gesetzt ist.

Parameter Standard Beschreibung
Split:Enabled false Aktiviert die PDF-Split-Vorschaltstufe
Split:SplitPath Pflicht wenn aktiviert. Wurzelverzeichnis der Sammel-PDFs. Muss existieren und sich von ImportPath unterscheiden
Split:Strategie "Barcode" Trennstrategie: Barcode oder Ocr
Split:Barcode:Symbologien [] (alle) ZXing-Barcode-Format-Namen, z.B. ["QR_CODE","CODE_128"]. Leer = alle unterstützten Formate
Split:Barcode:RenderDpi 200 Render-Auflösung für die Barcode-Erkennung
Split:Ocr:Regex Pflicht bei Strategie Ocr. Regex zum Erkennen des Dokumentstarts; Identifier aus benannter Gruppe (nummer, belegkey, belegnummer) oder Gruppe 1
Split:Ocr:Sprache "german" PaddleOCR-Modellsprache ("german" → LatinV5, "english" → EnglishV5)
Split:Ocr:RenderDpi 300 Render-Auflösung für OCR

Objekttyp-Konfiguration (Belege, Artikel, Personenkonten)

Jeder Objekttyp wird als eigene Sektion konfiguriert:

Parameter Beschreibung
Folder Name des Erkennungsverzeichnisses (Unterverzeichnis von ImportPath), das diesem Objekttyp zugeordnet ist. Dieses Verzeichnis enthält Formular-Unterverzeichnisse
Regex RegEx-Muster zur Extraktion der Objektnummer aus dem Dateinamen. Wenn leer, wird der Dateiname ohne Erweiterung als Nummer verwendet. Unterstützte benannte Gruppen: nummer, belegkey, belegnummer
KeywordMapping Zuordnung von Schlagwortnummern zu Properties der MesoXPO-Klasse. Format: SchlagwortNr=PropertyName, kommagetrennt. Optional mit Datumsformat: 49=DatumLieferschein:dd-MM-yyyy
FileFilter Optional: Überschreibt den globalen FileFilter für diesen Objekttyp, z.B. um zusätzlich TIFF-Dateien zu akzeptieren. Gleiche Syntax wie der globale FileFilter