
MESO-ArchiveExport
AddOn für die Mesonic WinLine ©
Stand: 11.03.2025
MESO-Archiveexport
Diese .NET Kommandozeilenanwendung exportiert Dokumente aus einem WinLine©-Archiv und unterstützt dabei verschiedene Filter- und Umwandlungsoptionen
🔗 Download der aktuellen Version
ℹ️ Download dieser Dokumentation als pdf
Inhaltsverzeichnis
- Übersicht
- Systemvoraussetzungen
- Installation
- Konfiguration über appsettings.json
- Aufruf und Optionen
- Beispiele
- Fehlerbehandlung
- Lizenz
Übersicht
Das Mesonc Archiv Export Tool ermöglicht das
Extrahieren und Exportieren von
Dokumenten aus einer Mesonic-Datenbank.
Folgende Hauptfunktionen werden bereitgestellt:
Export-Dokumente nach IDs
Exportiert eine definierte Liste von Dokument-IDs mit Hilfe des Befehlsexport-documents
.Export-Dokumente nach Filter
Exportiert alle Dokumente, die einem bestimmten Filter (z. B. Start-ID, Start-Datum, Formular-IDs usw.) entsprechen, viaexport-range
.Export-Dokumente nach Archivexportparametern des Mandanten
Exportiert alle Dokumente des angegebenen Mandanten auf Basis der letzten exportierten Dokument-ID. Mit--usearchiveexport
.
Zusätzlich stehen optional folgende Funktionen zur Verfügung:
- Umwandlung von SPL-Dateien in PDF.
- Zusätzlicher Prefix (Dokumenten-ID) im Dateinamen.
Systemvoraussetzungen
- Kompatible WinLine Version: ab WinLine Edition 2022
- MDP Runtime Lizenz (vom Mesonic Vertriebspartner bereitzustellen)
- .NET 8
Runtime oder höher.
- Zugriff auf die Mesonic-Datenbank (SQL Server) mit dem
meso
Benutzer oder mittels integrierter Sicherheit (Windows Authentication) - Schreibrechte in dem Verzeichnis, in das Dokumente exportiert werden
sollen.
- Das Tool benötigt Zugriff auf die
Mesospool.exe
-Datei, um ggf. SPL-Dateien zu PDF zu konvertieren.
- Lizenz
Installation
Nachdem die aktuelle Version heruntergeladen wurde, sollte über die Dateieigenschaften der .ZIP-Datei (
current.zip
) im Bereich Sicherheit der standardmäßig blockierte Zugriff gelassen werden, damit die Anwendung beim Start nicht durch den Windows Smart-Screen Filter als Verdächtig identifiziert wird.Kopiere die bereitgestellten Dateien in ein beliebiges Verzeichnis.
Stelle sicher, dass du eine gültige
.NET
-Runtime installiert hast (zum Beispiel .NET 8).
Platziere die Anwendung so, dass du sie über die Konsole aufrufen kannst:
cd C:\Pfad\zum\Tool MesoArchiveExport.exe --help
Appsettings.json ergänzen:
- Lizenz eintragen (ohne gültige Lizenz läuft die Anwendung im
Testmodus). Die Lizenzdaten sind in der Datei
appsettings.json
gespeichert. - Optional: Einstellungen für den Export eintragen, falls nicht über Kommandozeilenparameter gestartet wird. Siehe Konfiguration über appsettings.json.]
- Lizenz eintragen (ohne gültige Lizenz läuft die Anwendung im
Testmodus). Die Lizenzdaten sind in der Datei
License
"License":
{
"CustomerNr": "",
"LicenseNr": ""
}
Die License
-Einstellung enthält die Lizenzdaten, die
Ihnen von Ihrem Mesonic Partner mitgeteilt wurde.
Ohne Angabe der Lizenz läuft die Anwendung im Test-Modus, es werden alle Daten gelesen und ausgegeben (zu Testzwecken) aber nicht gespeichert.
- CustomerNr: Die Kundennummer, die den Lizenzinhaber eindeutig identifiziert.
- LicenseNr: Die Lizenznummer für die Softwareaktivierung.
Konfiguration über appsettings.json
Neben den Kommandozeilenparametern können alle erforderlichen Einstellungen auch in der appsettings.json hinterlegt werden. Wird die Anwendung ohne Kommandozeilenparameter gestartet, lädt sie automatisch die Konfiguration aus dieser Datei und führt den Export-Vorgang anhand der dort definierten Parameter aus.
Dies betrifft insbesondere folgende Bereiche:
ConnectionStrings
Definiert den Connection-String zur Mesonic System-Datenbank (z. B. unter dem Schlüssel “WinLineSystem
”).License
Enthält die Lizenzdaten (CustomerNr
,LicenseNr
).ArchiveExport
Hier werden alle für den Export relevanten Einstellungen definiert:ExportDirectory
: Verzeichnis, in das die exportierten Dokumente geschrieben werden.PathToMesospool
: Pfad zurMesospool.exe
.Company
: Mandant, für den exportiert werden soll.FormIds
: Formular-IDs für den Filter-Export.StartDate
: Startdatum für den Export.StartDocumentId
: Start-Dokumenten-ID (Standardwert0
).UseArchiveExportSettings
: Gibt an, ob die Archivexport-Einstellungen des Mandanten genutzt werden sollen.SplToPdf
: Gibt an, ob SPL-Dateien in PDF umgewandelt werden sollen.DocIdPrefix
: Gibt an, ob die Dokumenten-ID als Dateinamen-Prefix genutzt werden soll.
Beispiel: appsettings.json
{
"License": {
"CustomerNr": "",
"LicenseNr": ""
},
"ConnectionStrings": {
"WinLineSystem": "Server=ws01;Database=CWLSYSTEMCRM;Integrated Security=true;TrustServerCertificate=true"
},
"ArchiveExport": {
"ExportDirectory": "C:\\Exports",
"PathToMesospool": "C:\\WinLineCrmDemo\\",
"Company": "500M",
"FormIds": [ 1, 2 ],
"StartDate": "2025-01-01T00:00:00",
"StartDocumentId": 0,
"UseArchiveExportSettings": false,
"SplToPdf": true,
"DocIdPrefix": true
}
}
Nutzung
Starten Sie die Anwendung ohne Kommandozeilenparameter:
MesoncArchivExportTool.exe
In diesem Fall werden die in der appsettings.json
definierten Einstellungen automatisch geladen und der Export-Vorgang
(z. B. über export-range
) wird ausgeführt.
Hinweis: Falls gleichzeitig Kommandozeilenparameter
angegeben werden, haben diese Vorrang vor den Einstellungen in der
Konfiguration.
Aufruf und Optionen
Globale Optionen
Option | Alias | Beschreibung | Pflicht? | Beispiel |
---|---|---|---|---|
--winlinepath <DirectoryInfo> |
--w |
Pfad zur Mesospool.exe (in der Regel ein
WinLine-Verzeichnis) |
Ja | --winlinepath "C:\\Winline" |
--server <String> |
--s |
SQL Server-Instanz der Mesonic System-Datenbank | Ja | --server "MyServer\\SQL2019" |
--systemdatabase <String> |
--db |
Name der Mesonic System-Datenbank | Ja | --systemdatabase "mesoSystemDB" |
--mesopassword <String> |
--p |
Passwort für den meso -Benutzer. Wenn
--integratedsecurity aktiv ist, kann dies leer/optional
bleiben. |
Nein (siehe Hinweis) | --mesopassword "TopSecret" |
--integratedsecurity <bool> |
--i |
Verwendet integrierte Windows-Sicherheit für die Datenbankverbindung
(nur Windows). Falls true , wird --mesopassword
nicht benötigt. |
Nein (default: false ) |
--integratedsecurity true |
--export-directory <String> |
--d |
Exportverzeichnis für die Dokumente. Wenn nicht angegeben, wird das aktuelle Verzeichnis verwendet. | Nein | --export-directory "D:\\Exports" |
--mesocomp <String?> |
--c |
Welcher Mandant soll exportiert werden? Leer = alle. Wichtig: Bei --usearchiveexport (siehe
unten) ist ein Mandant Pflicht! |
Nein (Pflicht mit --usearchiveexport ) |
--mesocomp "MeinMandant" |
--spltopdf <bool> |
(kein Alias) | Sollen SPL-Dateien automatisch in PDF konvertiert werden? | Nein (default: true ) |
--spltopdf false |
--docidprefix <bool> |
(kein Alias) | Soll die Dokument-ID als Prefix für den Dateinamen genutzt werden, um Dateinamen eindeutig zu halten? | Nein (default: true ) |
--docidprefix false |
Befehl:
export-documents
Exportiert bestimmte Dokumente anhand einer Liste von Dokumenten-IDs.
Option | Beschreibung | Pflicht? | Beispiel |
---|---|---|---|
--ids <List<int>> |
Kommagetrennte Liste von Dokumenten-IDs | Ja | --ids 101,102,500 |
Beispielaufruf:
MesoncArchivExportTool.exe export-documents
--winlinepath "C:\\Winline"
--server "MyServer"
--systemdatabase "mesoSystem"
--mesopassword "MySecret"
--ids 10,11,12
--export-directory "C:\\ArchivExport"
--spltopdf false
--docidprefix false
- Exportiert Dokumente mit ID 10, 11, 12 in
C:\\ArchivExport
.
- SPL wird nicht in PDF umgewandelt.
- Dokument-ID keine Prefix (Dateinamen).
Befehl: export-range
Exportiert alle Dokumente, die den angegebenen
Filterkriterien entsprechen.
Ohne weitere Filter werden alle
Dokumente (ab ID=0) eines Mandanten bzw. aller Mandanten exportiert.
Option | Beschreibung | Pflicht? | Beispiel |
---|---|---|---|
--start <int> |
Ab welcher Dokumenten-ID soll exportiert werden
(optional)? Standard: 0 (beginnt bei ID=0). |
Nein | --start 500 |
--start-date <DateTime?> |
Ab welchem Datum (Schlagwort-Tagesdatum) soll exportiert werden? | Nein | --start-date 2024-01-01 |
--formids <List<int>> |
Kommagetrennte Liste von Formular-IDs (optional). | Nein | --formids 10,11,12 |
--usearchiveexport <bool> |
Wenn true , werden die
Archivexport-Einstellungen (letzte exportierte Dok-ID)
des Mandanten gelesen und aktualisiert. Erfordert zwingend --mesocomp . |
Nein (default: false ) |
--usearchiveexport true |
Besonderheit bei --usearchiveexport
: -
Die Option liest den zuletzt exportierten Stand aus den
Mandanten-Einstellungen und setzt --start
intern auf
(letzteID + 1)
.
- Nach erfolgreichem Export wird die neue Export-Dokumenten-ID
automatisch in der Datenbank aktualisiert.
- Wenn --mesocomp
fehlt, wird ein Fehler gemeldet.
Beispielaufruf:
MesoncArchivExportTool.exe export-range
--w "C:\\Winline"
--s "SQLSERVER01"
--db "mesoSystem"
--p "geheim"
--mesocomp "MeinMandant"
--start 1000
--start-date 2024-01-01
--formids 10,12
--spltopdf true
--docidprefix true
- Startet den Export ab Dokument-ID = 1000
- Filter: Datum >=
2024-01-01
, Formular-IDs 10 und 12.
- SPL -> PDF-Konvertierung aktiviert, DokumentenID als
Prefix.
- Da
--usearchiveexport
nicht gesetzt ist, wird--start
exakt so genutzt.
Beispiele
1. Einfacher Export von Dokumenten-IDs
MesoncArchivExportTool.exe export-documents
--winlinepath "C:\\Winline"
--server "MyServer"
--systemdatabase "mesoSystem"
--mesopassword "TopSecret"
--ids 101,102,103
- Dokumenten-IDs 101, 102, 103 werden exportiert.
- Standardverhalten: SPL -> PDF, Dokument-ID als Prefix.
2. Range-Export mit integrierter Sicherheit (Windows Auth)
MesoncArchivExportTool.exe export-range
--w "C:\\Winline"
--s "MyServer"
--db "mesoSystem"
--integratedsecurity true
--start 500
--start-date 2023-01-01
--formids 10,12,20
--docidprefix false
- Nutzt integrierte Windows-Sicherheit
(
--integratedsecurity true
), kein SQL-Passwort notwendig.
- Export ab Dokumenten-ID = 500, Datum >=
2023-01-01, für Formular-IDs 10,12,20.
- Ohne Dokument-ID-Prefix im Dateinamen.
3.
Archivexport-Einstellungen verwenden
(--usearchiveexport
)
MesoncArchivExportTool.exe export-range
--w "C:\\Winline"
--s "SQLSERVER01"
--db "mesoSystem"
--p "geheim"
--mesocomp "MeinMandant"
--usearchiveexport true
--usearchiveexport true
: Liest die zuletzt exportierte Dokument-ID aus der Systemdatenbank für Mandant"MeinMandant"
.
- Startet dann ab der ID + 1.
- Nach dem Export wird der neue Export-Stand gespeichert, sodass ein
erneuter Aufruf später an der richtigen Stelle fortsetzt.
- Filter wie
--start
,--start-date
,--formids
können zusätzlich kombiniert werden, falls gewünscht.
Fehlerbehandlung und Logs
- Standard-Logs:
- Eine Datei namens
archiveexport_YYYYMMDD.log
wird unter/logs
angelegt, zusätzlich erfolgt eine Konsolenausgabe.
- Eine Datei namens
- SQL-Verbindungsfehler:
- Das Tool protokolliert den Fehler und gibt
1
als Exit-Code zurück.
- Das Tool protokolliert den Fehler und gibt
- Fehlende
Mesospool.exe
:- Das Tool gibt eine entsprechende Fehlermeldung aus, falls der
angegebene Pfad ungültig ist.
- Das Tool gibt eine entsprechende Fehlermeldung aus, falls der
angegebene Pfad ungültig ist.
- ArchivDokumentNichtVorhandenException oder
ArchivDokumentUngueltigException:
- Das Tool protokolliert diese Fehler und fährt beim nächsten Dokument fort.
Verbesserungsvorschläge und Fragen
Bitte an [email protected]
Änderungen und Aktualisierungen vorbehalten.