Zum Hauptinhalt springen
Version: 4.1 (2026-H2)

Connect Session Templates

Diese Dokumentfunktion definiert benannte, vorinitialisierte Connect-Sessions. Die primedocs Web App kann eine solche Session direkt über eine URL starten und dabei Formular- und Datenwerte vorbefüllen – ideal, um aus einem Drittsystem (GEVER, CRM, Eigenentwicklung) heraus eine teilweise ausgefüllte Dokumenterstellung anzustossen.

Verwandte Themen: primedocs Connect, Connect Session API.

Aufruf über URL

Die Web App startet eine Session über:

https://{instanz}/app/web/session/template/{Name}?Forms.Subject=...&Data.CustomerId=...

{Name} entspricht dem Attribut Name des ConnectSessionTemplate. Die GET-Parameter der aufrufenden URL werden in das resultierende Connect-Objekt zusammengeführt (Forms.* → Forms, Data.* → Data) und stehen den Initializern zur Verfügung.

Grundaufbau

<ConnectSessionTemplatesConfiguration>
<ConnectSessionTemplate Name="Offerte">
<Initializers>
<CodeDataProvider>
<Code>
function main() {
return {
Forms: { Subject: $.parameter('Forms.Subject') },
Data: {}
};
}
</Code>
</CodeDataProvider>
</Initializers>
</ConnectSessionTemplate>
</ConnectSessionTemplatesConfiguration>
Attribut / ElementPflichtBeschreibung
ConnectSessionTemplate/@NamejaName der Vorlage – dient als Nachschlageschlüssel in der aufrufenden URL.
InitializersoptionalGeordnete Liste von Initializern (siehe unten).
CommandsoptionalAn die Session angehängte Connect Commands (siehe unten).
GlobalInitializers/@KeyoptionalReferenz auf eine globale Initializer-Konfiguration. Schliesst sich mit inline Initializers gegenseitig aus (inline hat Vorrang).
GlobalCommands/@KeyoptionalReferenz auf eine globale Command-Konfiguration. Schliesst sich mit inline Commands gegenseitig aus (inline hat Vorrang).

Initializers

Die Initializers werden in der definierten Reihenfolge ausgeführt. Jeder Initializer muss ein Objekt der Form { Forms: { … }, Data: { … } } zurückgeben; das Ergebnis wird in das sich aufbauende Connect-Objekt gemischt und ist für den nächsten Initializer sichtbar.

Verfügbare Initializer-Typen:

TypBeschreibung
CodeDataProviderWertet ein JavaScript-Snippet aus und gibt direkt { Forms, Data } zurück – ohne externen Aufruf.
HttpDataProviderBezieht Daten über den DataService (OAuth/Secret/mehrstufige HTTP-Logik). Alle URL-Parameter werden automatisch als Suchdaten weitergereicht.
SqlDataProviderFührt eine SQL-Abfrage über den DataService aus.
ExcelDataProvider / CsvDataProviderLiest eine Excel- bzw. CSV-Datei über den DataService.
GlobalDataProviders/@KeyBindet die Initializer einer globalen Konfiguration an dieser Stelle ein.

Das $-Objekt im CodeDataProvider/Code stellt bereit:

APIBeschreibung
$.parameter(key)Liefert einen URL-Parameter der aufrufenden URL (z.B. $.parameter('Forms.Subject')).
$.forms(key)Liefert einen bereits gesetzten Forms-Wert.
$.data(key)Liefert einen bereits gesetzten Data-Wert.
$.datasourceIdID der aktuellen Datasource.
$.templateIdID der Vorlage.
hinweis

Die service-basierten Initializer (HttpDataProvider, SqlDataProvider, ExcelDataProvider, CsvDataProvider) nutzen denselben Mechanismus wie die Select-Datenschnittstelle. Eine Mapping-Konfiguration wird bei Initializern nicht unterstützt; die Transformation erfolgt im Code-Element.

Commands

Über Commands lassen sich Connect Commands an die resultierende Session anhängen, gruppiert nach den Ereignissen OnSuccess, OnExit, OnError und OnCancel. In Web-Sessions werden die Befehle InvokeUrl (mehrstufiger HTTP-Aufruf an ein externes System) und ShowDialog (Rückmeldungsdialog) unterstützt.

<Commands>
<OnSuccess>
<ShowDialog Title="Fertig" Message="Das Dokument wurde erstellt." ButtonLabel="OK" />
</OnSuccess>
</Commands>
info

InvokeUrl kann über das Attribut ConnectedServiceKey einen Connected Service voraussetzen. Ist der Benutzer nicht angemeldet, zeigt die Web App ein Anmelde-Banner an.