Inhalt anzeigen / ausblenden

    Commands

    Commands sind Instruktionen, die sequentiell nach Erreichen von vordefinierten Zwischenergebnissen oder Ereignissen ausgeführt werden. Die Befehle können teilweise nur beim Server- oder Client-Aufruf verfügbar sein. Es wird grundsätzlich zwischen zwei Command-Ebenen unterschieden:

    DocumentCommands Document-Commands werden pro Dokument ausgeführt, direkt nach Erstellung des jeweiligen Dokuments.

    BatchCommands Batch-Commands werden auf der höchsten Ebene ausgeführt, nachdem alle Document-Commands der einzelnen Entries ausgeführt wurden.

    Verfügbarkeit aller Commands

    Command Beschreibung Document Batch Client Server
    DefaultProcess Startet den Standardprozess, der in Windows für den Dateityp registriert ist ✓ ✓ ✓
    ConvertToDocument Konvertiert Office-Vorlagen (.dotx, etc.) in Office-Dokumente (.docx, etc.) ✓ ✓ ✓ ✓
    ConvertToPdf Konvertiert Vorlagen oder Dokumente (.dotx/.docx) in PDF (.pdf) ✓ ✓ ✓ ✓*
    Print Sendet das Dokument an den Standarddrucker ✓ ✓ ✓
    SaveAs Speichert das Dokument am angegebenen Zielort im angegebenen Format ✓ ✓ ✓ ✓*
    UpdateFieldsOnOpen Aktualisiert Felder und das Inhaltsverzeichnis (Fields / ToC) im Dokument ✓ ✓ ✓ ✓
    Merge Verbindet mehreren Office-Dokumente zu einem ✓ ✓ ✓
    CreateConnectorResult Erstellt eine OneOffixx-Connector-Result-Datei ✓ ✓
    BindCustomXML Bindet alle CustomControls mit den jeweiligen Daten ✓ ✓ ✓ ✓
    InvokeProcess Ruft ein bestimmtes, im OneOffixx-Dashboard registriertes Programm auf ✓ ✓ ✓

    *mit gewissen Einschränkungen

    DefaultProcess

    Dieser Befehl startet den DefaultProcess, der in Windows für den generierten Dateityp registriert ist. Dieser Aufruf funktioniert nur über den Client. Möglicher Parameter:

    • Start: True/False, bei False wird der Prozess nicht gestartet.
    <Command Name="DefaultProcess">
        <Parameters>
            <Add key="Start">true</Add>
        </Parameters>
    </Command>
    

    ConvertToDocument

    Dieser Befehl gilt nur für Word-Dokumente. OneOffixx verwaltet und generiert Word-Vorlagen (.dotx). Um nach dem Generieren des Dokuments ein Word-Dokument (.docx) zu erhalten, wird dieser Befehl benötigt. Fehlt diese Angabe und wird das Ergebnis als .docx-Datei gespeichert, zeigt Word eine Fehlermeldung an.

    <Command Name="ConvertToDocument" />
    

    ConvertToPdf

    Verfügbarkeit: OneOffixx Server & OneOffixx Client

    Dieser Befehl gilt nur für Word Office-Dokumente. OneOffixx konvertiert das Dokument direkt in ein PDF.

    <Command Name="ConvertToPdf" />
    

    Nicht alle Open XML bzw. Microsoft Word Features sind bei der PDF-Konvertierung über diesen Command unterstützt. Als Alternative gibt es im Client die Möglichkeit über den SaveAs Command das installierte Microsoft Office für die PDF-Konvertierung zu benutzen.

    Note

    Werden eigene Schriftarten im Dokument verwendet, müssen diese Schriftarten auch auf dem Server installiert werden.

    Print

    Das Dokument wird an den Standarddrucker gesendet:

    <Command Name="Print" />
    

    SaveAs

    Note

    Auf dem Server kann dieser Command nicht dazu verwendet werden, ein Word-Dokument zu einem PDF zu konvertieren! Verwenden Sie dazu ConvertToPdf.

    Speichert das Dokument am angegebenen Zielort. Der neue Dateispeicherort wird für alle folgenden Befehle berücksichtigt (z. B. im DefaultProcess).

    Möglicher Parameter:

    • Filename: Absoluter Pfad mit Dateiendung
    • Overwrite: True/False; gibt an, ob eine bestehende Datei überschrieben werden soll.
    • CreateFolder: True/False; gibt an, ob Ordner, die im Filename angegeben sind, erstellt werden sollen.
    • AllowUpdateDocumentPart: True/False; bei "True" wird der OneOffixx Document Part als "SavedDocument" anstatt "NewDocument" markiert.
    • CopyOnly: True/False; wird diese Einstellung getroffen, wird das Dokument im aktuellen Stand als Kopie abgespeichert. Im Client-Anwendungsfall wird die Datei trotzdem z. B. weiterhin als "Vorlage (.dotx)" behandelt und im Temp-Ordner erstellt und von dieser Datei Microsoft Word geöffnet.
    <Command Name="SaveAs">
      <Parameters>
        <Add key="Filename">\\MyServer\share\organization\...\documentxyz.dotx</Add>
        <Add key="Overwrite">true</Add>
        <Add key="CreateFolder">true</Add>
        <Add key="CopyOnly">false</Add>
        <Add key="AllowUpdateDocumentPart">false</Add>
      </Parameters>
    </Command>
    
    Note

    In früheren Versionen konnte zusätzlich der Parameter Type angegeben werden. Dieser wird nicht mehr benötigt, da eine Typumwandlung implizit über die Dateiendung der Zieldatei abgeleitet wird.

    UpdateFieldsOnOpen

    Dieser Befehl gilt nur für Word-Dokumente und speichert im Dokument die Information, dass Office die Felder, (z. B. Inhaltsverzeichnisse oder Verknüpfungen) beim Öffnen aktualisieren soll. Im Normalfall erscheint für den Benutzer beim Öffnen des Dokuments direkt die Frage, ob die Felder aktualisiert werden sollen:

    <Command Name="UpdateFieldsOnOpen" />
    

    Alternativ kann OneOffixx angewiesen werden, über den OneOffixx-Ribbon die Felder selbstständig und ohne Rückfrage beim Öffnen zu aktualisieren:

    <Command Name="UpdateFieldsOnOpen">
        <Parameters>
            <Add key="Type">OneOffixx</Add>
        </Parameters>
    </Command>
    
    Note

    Es wird empfohlen, das Command zusammen mit ConvertToDocument (bzw. für den PDF-Output mit ConvertToPdf zu benutzen, da Word beim Öffnen einer ".dotx"-Datei ebenfalls das Inhaltsverzeichnis nicht richtig darstellt.

    Merge

    Das Merge-Command gilt nur für Word-Dokumente und kann zum Zusammenführen von mehreren Dokumenten verwendet werden. Das zusammengeführte Dokument kann anschliessend wieder als ein einzelnes weiterverwendet werden. Der Befehl steht nur als BatchCommand zur Verfügung.

    <Command Name="Merge">
        <Parameters>
            <Add key="PageNumberStart">10</Add>
        </Parameters>
    </Command>
    

    Das Ergebnis des Merge-Commands ist immer ein Word-Dokument (.docx).

    CreateConnectorResult

    Über dieses Command wird nach Abschluss der gesamten Dokumenterstellung eine Datei im XML-Format mit einer Zusammenfassung erstellt.

    <Command Name="CreateConnectorResult" />
    

    Der Inhalt der Datei sieht im Erfolgsfall etwa so aus:

    <?xml version="1.0" encoding="utf-8"?>
    <OneOffixxConnectResult xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
        <Result>Success</Result>
        <Details>
          <InputFile>O:\Templates\Template_Kurzmitteilung.oocx</InputFile>
          <Input><![CDATA[
            <OneOffixxConnectBatch>
            ...
            </OneOffixxConnectBatch>
          ]]></Connect>
        </Details>
    </OneOffixxConnectResult>
    

    Im Fehlerfall steht in der Datei zusätzlich eine Fehlermeldung inkl. StackTrace von OneOffixx (sofern möglich):

    <?xml version="1.0" encoding="utf-8"?>
    <OneOffixxConnectResult xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
        <Result>Error</Result>
        <Message>System.UnauthorizedAccessException: Der Zugriff auf den Pfad "c:\temp" wurde verweigert.
           bei System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
           bei System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, ...)
           bei System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
           bei OneOffixx.Core.Connect.Commands.SaveAs.Execute()
           ...
        </Message>
        <Details>
          <InputFile>O:\Templates\Template_Kurzmitteilung.oocx</InputFile>
          <Input><![CDATA[
            <OneOffixxConnectBatch>
            ...
            </OneOffixxConnectBatch>
          ]]></Connect>
        </Details>
    </OneOffixxConnectResult>
    

    BindCustomXML

    Dieses Command gilt nur für Word-Dokumente. OneOffixx legt alle Daten als sogenannte “CustomXML-Daten” im Dokument ab und Office lädt beim Öffnen des Dokuments diese Daten und schreibt die Werte in die jeweiligen ContentControls.

    <Command Name="BindCustomXML" />
    
    Note

    Es gibt vereinzelt Fälle in welchen Office bzw. der Open XML-Client nicht die richtigen Werte lädt oder die Felder leer bleiben, weil z. B. eine ältere Version von Office genutzt wird oder weil der Open XML-Client diese Funktionalität nicht implementiert hat.
    In solchen Fällen kann das BindCustomXML-Command helfen, da OneOffixx bereits bei der Dokumentgenerierung die Daten nicht nur im CustomXML ablegt sondern weil es gleichzeitig die Daten in den ContentControls aktualisiert.

    InvokeProcess

    Im Dashboard müssen die zulässigen Applikationen zuerst whitelisted werden. Die Konfiguration dafür kann unter Settings → Connect Settings → InvokeProcess - Configuration gefunden werden und sieht ansatzweise wie folgt aus:

    <CommandConfig>
        <Process name="OurSystemNotepad" executablePath="%systemroot%/notepad.exe" />
        <Process name="..." executablePath="..." />
    </CommandConfig>
    

    Der Aufruf in der Connect-Datei muss mit dem Namen einer zuvor im Dashboard freigegebenen Applikation übereinstimmen. Der Aufruf kann optional Argumente enthalten und sieht folgendermassen aus:

    <Command Name="InvokeProcess">
        <Parameters>
            <Add key="Name">OurSystemNotepad</Add>
            <Add key="Arguments">/w test.txt</Add>
        </Parameters>
    </Command>
    
    Zurück nach oben | Deutsch | English PrimeSoft AG   I   Bahnhofstrasse 4   I   8360 Eschlikon   I   Switzerland   I   Datenschutz   I   Impressum