Technischer Anhang #
Dieses Kapitel richtet sich an Administratoren, die verstehen möchten, wie die Dokumentenverwaltung intern arbeitet und wo ihre Einstellungen liegen. Für die tägliche Nutzung wird nichts davon benötigt.
Funktionsweise in Kürze #
Die Dokumentenverwaltung speichert selbst keine Dokumente. Sie berechnet für einen Datensatz den zugehörigen Ordnerpfad, legt den Ordner bei Bedarf an und zeigt dessen Inhalt in EULANDA an. Die eigentlichen Dateien bleiben unverändert im Dateisystem.
Der Ablauf beim Anzeigen eines Datensatzes:
- EULANDA rendert in der Kurzinfo das Band Dokumente. Dieses ruft die Bibliotheksfunktion des Moduls auf.
- Die Funktion ermittelt aus dem Datensatz-Typ und der Datensatz-ID über eine SQL-Abfrage den Ordnerpfad. Für untergeordnete Belege (Auftrag, Rechnung) wird dabei zusätzlich der Pfad des übergeordneten Datensatzes (Kunde) aufgelöst.
- Existiert der Ordner, wird sein Inhalt als Liste mit Symbolen ausgegeben. Existiert er nicht, bleibt das Band leer und wird ausgeblendet.
- Beim Öffnen über STRG+F8 wird der Ordner bei Bedarf angelegt und im Explorer geöffnet.
Der Pfad wird pro Datensatz-Typ aus dessen Datenbanktabelle abgeleitet. Aus dem konfigurierten Feld (etwa Match oder Kopfnummer) und dem übergeordneten Objekt entsteht per SQL der relative Pfad, der an den Stammordner angehängt wird.
Ablage in der SQL-Registry #
Die Einstellungen und die Programmlogik liegen in der EULANDA-SQL-Registry. Diese erreichen Sie über den Registry-Editor in der Systemverwaltung.
Aktive Einstellungen (Benutzerbereich) #
\VENDOR\esol\MODULES\DMS
Das ist der Bereich, den Sie tatsächlich pflegen. Er wird bei einem Modul-Update nicht überschrieben, Ihre Einstellungen bleiben also erhalten.
| Schlüssel / Wert | Typ | Bedeutung |
|---|---|---|
BaseFolder | Zeichenfolge | Der Stammordner, den Sie im Einstellungsdialog eintragen. Hier sind EULANDA-Basisvariablen erlaubt, die beim Start ersetzt werden. |
CreateDir | Mehrzeiliger Text | Namen von Unterordnern, die für jeden Datensatz-Typ automatisch mit angelegt werden. Ein Name pro Zeile. |
DATAOBJECTS\<Objekt> | Schlüssel | Pro Datensatz-Typ die Ordnerzuordnung (siehe unten). |
Die Werte je Datensatz-Typ unter DATAOBJECTS\<Objekt>:
| Wert | Bedeutung |
|---|---|
FolderName | Feld des Datensatzes, aus dem der Ordnername gebildet wird (z. B. Match, Kopfnummer). Fehlt der Wert, wird die interne id verwendet. |
FolderPath | Name des Sammelordners für diesen Typ (z. B. Adressen, Rechnungen). |
ParentObject | Übergeordneter Datensatz-Typ, unter dem dieser Typ einsortiert wird (z. B. Eulanda.Adresse). |
ParentObjectId | Feld, über das der übergeordnete Datensatz gefunden wird (z. B. AdresseId). |
CreateDir | Feste Unterordner nur für diesen Typ, ein Name pro Zeile. |
CopyArtikelFiles | Optional. Dateinamen, die beim Anlegen des Ordners aus dem zugehörigen Artikelordner kopiert werden. |
Vorlagen (Systembereich) #
\SYSTEM\LIBS\esol.userlib.DMS\DATAOBJECTS
Hier liegen die Vorgabewerte für die Ordnerzuordnung, wie sie das Modul ausliefert. Beim Start prüft das Modul, ob im Benutzerbereich (\VENDOR\esol\MODULES\DMS\DATAOBJECTS) bereits eine Zuordnung existiert. Fehlt sie, wird die Vorlage einmalig dorthin kopiert. Vorhandene Einstellungen werden dabei nie überschrieben. Passen Sie Zuordnungen deshalb immer im Benutzerbereich an, nicht in den Vorlagen.
Programmlogik und Oberfläche #
| Registry-Pfad | Inhalt |
|---|---|
\SYSTEM\LIBS\esol.userlib.DMS | Die Bibliothek des Moduls (verschlüsselter VBScript-Code). Stellt die Funktionen zum Ermitteln, Anlegen und Öffnen der Ordner bereit. |
\VENDOR\esol\web\DMS | Die Datei dms.js, die den Ordnerinhalt in der Kurzinfo als HTML mit Symbolen aufbereitet. |
\OBJECTS\SETTINGS\esol.DMS | Der Eintrag Dokumentenverwaltung in den Einstellungen unter Plugins. Ruft den Dialog zur Auswahl des Stammordners auf. |
\OBJECTS\ACTIONS\esol.DMS.Open | Der Befehl Dokumentenverzeichnis mit dem Kürzel STRG+F8, der den Ordner im Explorer öffnet. |
\OBJECTS\BANDS\esol.DMS.All | Das Band Dokumente in der Kurzinfo. Wird für die unterstützten Datensatz-Typen angezeigt und bei leerem Ordner ausgeblendet. |
Feste Unterordner (CreateDir) #
Sollen beim Anlegen eines Ordners gleich feste Unterordner mit entstehen, hinterlegen Sie diese als mehrzeiligen Textwert CreateDir, einen Ordnernamen pro Zeile.
- Für alle Typen unter
\VENDOR\esol\MODULES\DMS, WertCreateDir. - Nur für einen Typ unter
\VENDOR\esol\MODULES\DMS\DATAOBJECTS\<Objekt>, WertCreateDir.
Beispiel: Damit in jedem Kundenordner automatisch die Unterordner Korrespondenz, Vertraege und Rechnungen entstehen, tragen Sie unter DATAOBJECTS\Eulanda.Adresse im Wert CreateDir ein:
Korrespondenz
Vertraege
Rechnungen
Die Unterordner werden beim erstmaligen Anlegen des jeweiligen Ordners erzeugt.
Speicherort und Basisvariablen #
Der Stammordner BaseFolder wird beim Start durch die EULANDA-Basisvariablen-Ersetzung geschickt. Sie können also Variablen im Pfad verwenden. Ist kein BaseFolder gesetzt, verwendet das Modul als Vorgabe:
<Öffentliche Dokumente>\Eulanda\<Datenbankname>\DMS
<Öffentliche Dokumente> ist der Windows-Ordner für öffentliche Dokumente, üblicherweise C:\Users\Public\Documents. <Datenbankname> ist der Name der aktuellen EULANDA-Datenbank. Für den Mehrplatzbetrieb ist diese Vorgabe ungeeignet, weil sie lokal liegt (siehe Einrichtung).
Zugriff aus eigenen Skripten #
Für Sonderfälle stellt die Bibliothek Funktionen bereit, mit denen man aus einem VBScript heraus den Dokumentenordner eines Datensatzes ermitteln oder anlegen kann. Ein kommentiertes Beispiel liegt in der Registry unter \SYSTEM\LIBS\esol.userlib.DMS als Wert example.vbs. Der Kern:
' Dokumentenordner der Adresse mit der ID "id" ermitteln und bei Bedarf anlegen
folder = userlib.DmsGetSettings("Eulanda.Adresse").GetCreateDmsFolder(id)
Wird derselbe Datensatz-Typ mehrfach hintereinander abgefragt, sollte das Settings-Objekt wiederverwendet werden, statt es je Aufruf neu zu holen.
Für PowerShell steht mit den DMS-Funktionen von EulandaXtools ein moderner Weg bereit, der denselben Zielordner ohne eigene Pfadlogik ermittelt. Er ist im Kapitel Zugriff per PowerShell beschrieben.
Versionshinweis #
Die aktuelle Modulversion setzt EULANDA ab Version 8.5 voraus. Für ältere EULANDA-Stände existiert eine ältere Modulversion (v2), die im Auslieferungspaket abgelegt ist. Welche Version zu einem System passt, klärt im Zweifel der EULANDA-Partner.