Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • “Normale” Elemente können über <Value Key="ElementId">Wert</Value> befüllt werden.

  • Objekte (Object), wie z.B. Personenangaben über das Elternelement <Object Key="ElementId" /> samt <Value Key="ElementId">Wert</Value> für die Kindelemente.

  • Objektlisten (ObjectCollection) für Auflistungen von Daten, wobei jeder Datensatz in einem Item-Element ist.

...

Data

Im Zusammenspiel mit der Dokumentfunktion Data kann über Data Daten über Connect übergeben werden, welche nicht im Forms-Eigenschaften Dialog vorher angezeigt oder abgefragt werden sollen.

Code Block
<primedocsConnect>
  <Data>
	<!-- "Simple" mappings to Text -->
    <Value Key="InternalId">123456789</Value>
	
	<!-- Target is an Object -->
    <Object Key="Invoice">
      <Value Key="Name">John Doe</Value>
      <Value Key="Number">123</Value>
    </Object>

	<!-- Target is an ObjectCollection -->
	<ObjectCollection Key="Items">
	  <Item>
	    <Value Key="Name">Sample 1</Value>
	  </Item>
	  <Item>
	    <Value Key="Name">Sample 2</Value>
	  </Item>
   </ObjectCollection>
  </Data>
  ...
</primedocsConnect>

Die Logik ist hier identisch wie bei der Übergabe zu Forms, d.h. es gibt:

  • <Value Key="...">...</Value>

  • <Object Key="...">...</Object>

  • <ObjectCollection Key="...">...</ObjectCollection>

...

Commands

Nach der eigentlichen Dokumenterstellung können Commands angewendet werden (z. B. die Umwandlung in ein PDF-Dokument). Gleichzeitig werden zu diesem Zeitpunkt die Fehler- und Abbruch-Commands auf Dokumentebene ausgewertet.

Commands können nach den folgenden Ereignissen gestartet werden:

  • OnSuccess: Bei einer erfolgreichen Dokumentgenerierung.

  • OnError: Falls während der Dokumentgenerierung ein Fehler auftritt, z.B. eine fehlerhafte Template-Id angegeben wird.

  • OnCancel: Wenn der Benutzer die Dokumentgenerierung z.B. über den Forms-Dialog abbricht.

  • OnExit: Nach Beendigung der Dokumentgenerierung, hierbei ist es egal, ob alles erfolgreich durchlief oder nicht.

Beispiel:

Code Block
<primedocsConnect>
  <Template Id="30b55516-80b5-41d7-801b-b31d6da376ac" />
  <Forms>
    <Value Key="Subject">Hello Connect</Value>
  </Forms>
  <Commands>
    <OnSuccess>
      <SaveAs Filename="\\MyServer\share\organization\...\documentxyz.docx"
              Overwrite="true"
              CreateFolder="true"
              CopyOnly="true" />
    </OnSuccess>
  </Commands>
</primedocsConnect>

In diesem Beispiel wird ein Dokument mit der Vorlage 30b55516-80b5-41d7-801b-b31d6da376ac mit dem Subject “Hello Connect”.
Nach der erfolgreichen Dokumentgenerierung wird das Dokument über den SaveAs-Command in einen Ordner abgespeichert.

Verfügbare Commands

Command

Beschreibung

Client

Server

DefaultProcess

Startet den Standardprozess, der in Windows für den Dateityp registriert ist

ConvertToPdf

Konvertiert Vorlagen oder Dokumente (.dotx/.docx) in PDF (.pdf)

✓*

SaveAs

Speichert das Dokument am angegebenen Zielort im angegebenen Format

CreateConnectResult

Erstellt eine primedocs-Connect-Result-Datei

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.

Code Block
languagexml
<primedocsConnect>
  ...
  <Commands>
    <OnSuccess>
      <DefaultProcess Start="true" />
    </OnSuccess>
  </Commands>
</primedocsConnect>

CreateConnectResult

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

Code Block
languagexml
<primedocsConnect>
  ...
  <Commands>
    <OnSuccess>
      <CreateConnectResult />
    </OnSuccess>
  </Commands>
</primedocsConnect>

Der Inhalt der Datei sieht im Erfolgsfall etwa so aus:

Code Block
languagexml
<?xml version="1.0" encoding="utf-8"?>
<PrimeDocsConnectResult 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.pdcx</InputFile>
      <Input><![CDATA[
        <primedocsConnect>
        ...
        </primedocsConnect>
      ]]></Connect>
    </Details>
</PrimeDocsConnectResult>

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

Code Block
languagexml
<?xml version="1.0" encoding="utf-8"?>
<PrimeDocsConnectResult 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 ...
    </Message>
    <Details>
      <InputFile>O:\Templates\Template_Kurzmitteilung.pdcx</InputFile>
      <Input><![CDATA[
        <primedocsConnect>
        ...
        </primedocsConnect>
      ]]></Connect>
    </Details>
</PrimeDocsConnectResult>

SaveAs

Note

CAUTION
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 primedocs 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.

Code Block
languagexml
<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>

HINWEIS