Konfigurieren der Funktionen zum Importieren und Aktualisieren von Dokumenten (XSL-Dateien)
In diesem Thema finden Sie alles rund ums Konfigurieren der XSL-Skriptdateien für die verschiedenen Funktionen: Dokumente importieren und nach Dokumenten suchen sowie Eigenschaften aktualisieren. Diese XSL-Skriptdateien werden im Kontext von SHCware entsprechend über den Weg einer XML-Datei in ein JSON-Format konvertiert und entsprechend verarbeitet. In den XSL-Dateien konfigurieren Sie die von Ihnen benötigte Funktionalität.
Weitere Details zu den benötigten Kenntnissen finden Sie hier: Fertigkeiten und Kenntnisse für edoc SHCware d.velop documents connect
Speicherorte der XSL-Skripte und Updateverhalten
Die XSL-Skripte werden standardmäßig mit edoc SHCware d.velop documents connect im Installationspfad ausgeliefert:
Aktuelle Dateiversionen: <Laufwerk>:\d3\edoc solutions ag\edoc SHCware d.velop documents connect\SHC_LINK\xsl\current\
Verwendete Dateiversionen (möglicherweise mit Ihren Anpassungen): <Laufwerk>:\d3\edoc solutions ag\edoc SHCware d.velop documents connect\SHC_LINK\xsl\
Bei einer Erstinstallation werden die Skriptdateien aus dem Verzeichnis \current\ in das übergeordnete Verzeichnis \xsl\ kopiert.
Im Verzeichnis \xsl\ können Sie jederzeit Ihre organisationsspezifischen Anpassungen vornehmen.
Mit jedem Update von edoc SHCware d.velop documents connect erhalten Sie möglicherweise aktualisierte Skriptdateien im Verzeichnis \current\. Ihre Anpassungen an den Skriptdateien unter \xsl\ bleiben von einem Update unberührt. Sie können die Skriptdateien miteinander vergleichen und Ihre Skriptdateien bei Bedarf aktualisieren.
XSL-Skriptdateien und deren Verwendungszweck
OutboundDocuments.xsl: Verwenden Sie diese Datei, um Ausgangsbelege und deren Eigenschaften (Attribute) zu importieren und zu aktualisieren.
ToDo_Search.xsl: Verwenden Sie diese Datei, um die Suche anhand von d.velop documents-Eigenschaften zu konfigurieren. Mit der Suche werden vorhandene Dokumente in d.velop documents gefunden, um anschließend einen Updatevorgang der Eigenschaften auszuführen.
ToDo_Update.xsl: Verwenden Sie diese Datei, um Eigenschaften (Attribute) eines Dokuments zu aktualisieren.
Diese XSL-Dateien sind zwingend erforderlich. Andernfalls funktioniert das Mapping (Zuordnung) der Kategorien und Eigenschaften der Dokumente nicht.
Den Speicherort geben Sie in der Datenbank entsprechend an. Weitere Informationen zur Datenbank finden Sie hier: Konfigurieren der SQLite-Datenbank
Wissenswertes zum Aufbau und den Skriptblöcken in einer XSL-Datei
Jede XSL-Datei ist in mehrere Abschnitte (Skriptblöcke) eingeteilt, die verschiedene Zwecke erfüllen.
Allgemeiner Funktionsblock mit Metadaten, in den Sie nur einmal die entsprechenden Daten eingeben.
Vorlagen (Templates) für Belegarten, die Sie verwenden können, um weitere Belegarten zu konfigurieren.
Vorlage (Template) für die Verarbeitung von Mehrfacheigenschaftsfeldern (Multi-value properties), die Sie verwenden können, um bei Bedarf Wertelisten (value list) für eine Eigenschaft zu konfigurieren.
Allgemeiner Skiptblock einer XLS-Skriptdatei
Sie können diesen Skriptblock standardmäßig übernehmen. Dieser Block dient nur der Übersicht.
Beispiel - allgemeiner Skriptblock
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:s="urn:schemas-microsoft-com:xml-data"
xmlns="http://www.w3.org/TR/xhtml1/strict"
xmlns:dt="urn:schemas-microsoft-com:datatypes">
<xsl:output method="text" encoding="UTF-8"/>
<xsl:template match="Dokument">
<xsl:apply-templates select="Beleg"/>
</xsl:template>
<xsl:template match="Beleg">
</xsl:template>
<xsl:template match="LIEFERUNG">
</xsl:template>
</xsl:stylesheet>
Funktionsblockvorlage für die Belegarten in einer XLS-Skriptdatei
In diesem Funktionsblock tragen Sie pro Skriptelement die entsprechenden Werte zum Importieren und Aktualisieren von Dokumenten und Eigenschaften in ein d.3-Repository.
Es gibt folgende Elemente, die Sie im Kontext des Mappings (Zuordnung) kennen und ggf. bearbeiten müssen:
<xsl:when test="BELART='RA'">
: Geben Sie das Belegartkürzel für den Funktionsblock ein. Beispiel: SHCware-Belegartkürzel RA.{FILENAME}
: Ist ein Platzhalter für den Dateinamen eines eingehenden Dokuments. Zur Laufzeit wird der Platzhalter durch den Prozess automatisch ersetzt.sourceCategory
: Geben Sie in diesem Element das DMS-Dokumentartkürzel ein. Die d.velop documents-Dokumentart kann denselben Namen haben wie das SHCware-Belegartkürzel. Beispiel: RA{SOURCEIID}
: Ist ein Platzhalter für die Quell-ID aus der DMS-App (sourceId), die Sie bei der Feldzuordnung in d.velop documents angegeben haben. Zur Laufzeit wird der Platzhalter entsprechend behandelt: Standardmäßig werden die Werte für die Repository-ID und der Quell-ID SourceID aus der SQLite-Datenbanktabelle D3Connect zusammengesetzt. Wenn Sie diesen Standard nicht verwenden möchten, müssen Sie den Platzhalter durch Ihre Daten ersetzen.{LOCATIONURI}
: Ist ein Platzhalter fürcontentLocationUri
. Der SchlüsselcontentLocationUri
wird im ersten Schritt des Imports eines Dokuments an die DMS-App zurückgeliefert. Zur Laufzeit wird der Platzhalter automatisch ersetzt.key
: Prüfen Sie im Funktionsblock die Werte im Abschnittproperties
für jedeskey
-Element, ob die Werte mit den IDs der erweiterten Eigenschaften aus Ihrem d.velop documents Repository übereinstimmen.values
: Prüfen Sie im Funktionsblock die Werte im Abschnittproperties
für jedesvalues
-Element, ob die Werte mit den Feldern der XML-Datei aus SHCware überstimmen.
Zentrale Formate beachten
Datumsformat: Das Format muss dem Schema yyyy-MM-dd entsprechen. Geben Sie beim Datumsformat die entsprechenden Positionen an.
Währungsformat: Die DMS-App erwartet ein US-amerikanisches Währungsformat. Sie müssen bei Währungsangaben statt Komma als Dezimalstelle einen Punkt angeben.
Format für Mehrfachwerte: Geben Sie bei Wertelisten in
values
in Anführungszeichen und kommagetrennt ohne Leerzeichen an: ["wert1","wert2","wert3",....].
Beispiel - Funktionsblock für die Belegvorlage
...
<xsl:template match="Beleg">
<xsl:choose>
<xsl:when test="BELART='RA'">
{"filename":"{FILENAME}",
"sourceCategory": "RA",
"sourceId":"{SOURCEIID}",
"contentLocationUri":"{LOCATIONURI}",
"sourceProperties":
{"properties":[
{"key":"property_document_number", "values":["<xsl:value-of select="MANR"/>-<xsl:value-of select="RENR"/>"]},
{"key":"1", "values":["<xsl:value-of select="MANR"/>"]},
{"key":"2", "values":["<xsl:value-of select="KDNR"/>"]},
{"key":"3", "values":["<xsl:value-of select="KNAME"/><xsl:text> </xsl:text><xsl:value-of select="KNAME2"/>"]},
{"key":"9", "values":["<xsl:value-of select="RENR"/>"]},
<!-- Datumsformat -->
{"key":"12", "values":["<xsl:value-of select="substring(REDA, 7,4)"/>-<xsl:value-of select="substring(REDA, 4,2)"/>-<xsl:value-of select="substring(REDA, 1,2)"/>"]},
{"key":"16", "values":["<xsl:value-of select="BELEGART"/>"]},
{"key":"6", "values":["<xsl:value-of select="LIEFERUNG/LAUF"/>"]},
<!-- Multivalueformat -->
<xsl:if test="LIEFERUNG/AINR">{"key":"4", "values":["<xsl:apply-templates select="LIEFERUNG"/>"]},</xsl:if>
<!-- Wärungsformat -->
{"key":"22", "values":["<xsl:value-of select="translate(BETRAG, ',', '.')"/>"]}
]}
}
</xsl:when>
...
</xsl:choose>
...
Gut zu wissen
Vor jedem Import eines Dokuments in ein d.velop documents-Repository wird standardmäßig immer eine Suche ausgeführt. Als eindeutiges Suchkriterium wird der Wert von property_document_number
verwendet. Auf diese Weise wird sichergestellt, dass ein vorhandenes d.velop documents-Dokument ordnungsgemäß versioniert oder korrekt neu erstellt wird.
Falls kein key
-Element für property_document_number
existiert, wird keine Prüfung auf ein vorhandenes Dokument in d.velop documents und somit keine Aktualisierung durchgeführt.
Funktionsblockvorlage für Mehrfacheigenschaften in einer XLS-Skriptdatei
Wenn dieser Funktionsblock in einem Abschnitt wie z.B. LIEFERUNG mehrfach dieselben Eigenschaften wie AINR enthalten sind, wird eine Liste mit Eigenschaftswerten zurückgegeben. Diese Liste kann in eine Mehrfacheigenschaft von d.velop documents eingefügt werden.
Beispiel - Funktionsblock für die Mehrfacheigenschaften “AINR” und “BENR” in “LIEFERUNG”
...
<xsl:template match="LIEFERUNG">
<xsl:choose>
<xsl:when test="AINR">
<xsl:value-of select="AINR"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="BENR"/>
</xsl:otherwise>
</xsl:choose>
","
</xsl:template>
...