generateDocument (Server)
Versionshinweise | 13.1 | ||
---|---|---|---|
Web Client |
Code
IDocumentResult DocumentUtils.generateDocument(String templateName, String entityPk, String saveFormat, String documentSubject)
Beschreibung
Generiert ein Dokument basierend auf einer Dokumentvorlage und speichert dieses als Dokument in der Anwendung.
Parameter
templateName
Der Name der Dokumentvorlage, die für die Generierung des Dokuments verwendet werden soll. Unterstützt werden Vorlagen, die folgende Bedingungen erfüllen:- Einzelbriefvorlage, Angebote, Verträge oder für die Dokumentengenerierung freigeschaltete Entitäten
- basiert auf der nativen Generierungsvariante
- Sonderfall Einzelbriefvorlage: Es werden nur Einzelbriefvorlagen mit Datenquelle #default# unterstützt!
entityPk
Primärschlüssel der Entität, der für die basierende Suche der Dokumentvorlage verwendet wird.saveFormat
- [optional]
Zielformat der Dokumentvorlage. Unterstützt werden folgende Formate: doc, docm, docx, pdf
Die verfügbaren Formate stehen als Konstanten in der KlasseDocumentUtils
zur Verfügung,
z.B. DocumentUtils.DOC_SAVEFORMAT_PDF
Wird der Parameter nicht übergeben, so wird das in der Dokumentvorlage hinterlegte Ausgabeformat verwendet.documentSubject
Betreff des erzeugten Dokumentendatensatzes
Rückgabe
Ergebnis der Dokumentengenerierung
Folgende Methoden stehen in dem Rückgabeobjekt IDocumentResult
zur Verfügung
String getPk()
Liefert den Primärschlüssel des generierten Dokumentensatzesboolean isSuccessful()
War die Dokumentengenerierung erfolgreich?String getErrorCode()
Liefert den Fehlercode, falls die Dokumentengenerierung nicht erfolgreich war. Die Fehlercodes stehen als Konstanten in der KlasseDocumentUtils
zur Verfügung, z.B.DocumentUtils.DOC_ERRORCODE_GENERAL
Mit Hilfe der Fehlercodes können individuelle Ausgaben im Skripting hinterlegt werden. Folgende Fehlercodes stehen zur Verfügung:DocumentUtils.DOC_ERRORCODE_TEMPLATE_NOT_EXIST
Die Dokumentvorlage ist nicht vorhanden.DocumentUtils.DOC_ERRORCODE_TEMPLATE_NOT_NATIVE
Die Dokumentvorlage ist kein Einzelbrief oder basiert nicht auf der nativen DokumentengenerierungDocumentUtils.DOC_ERRORCODE_TEMPLATE_NOT_VALID
Die Verknüpfungen oder das Mapping in der Dokumentvorlage ist nicht mehr gültig.DocumentUtils.DOC_ERRORCODE_DATA_NO_COPE_FOUND
Es konnte kein Ansprechpartner gefunden werden. Für die Generierung des Dokuments wird ein Ansprechpartner benötigt.DocumentUtils.DOC_ERRORCODE_DATA_EMPTY_SUBJECT
Der Parameter 'documentSubject' muss gefüllt werden.DocumentUtils.DOC_ERRORCODE_DATA_EMPTY_ENTITYPK
Der Parameter 'entityPk' darf nicht leer sein.DocumentUtils.DOC_ERRORCODE_DATA_INVALID_ENTITYPK
Zu dem angegebenen Parameter 'entityPk' konnte kein Datensatz gefunden werden.DocumentUtils.DOC_ERRORCODE_NO_DATA_FOUND
Es konnten keine Daten für die Dokumentengenerierung gefunden werden.DocumentUtils.DOC_ERRORCODE_MULTPLE_DATA_FOUND
Es wurden mehrere Datenätze für die Dokumentengenerierung gefunden. Die Generierung kann nicht fortgesetzt werden.DocumentUtils.DOC_ERRORCODE_MULTPLE_DOCS_GENERATED
Es wurden mehrere Dokumente generiert. Der Pk des ersten Dokumentensatzes wird zurückgeliefert.DocumentUtils.DOC_ERRORCODE_GENERAL
Die Dokumentengenerierung wurde wegen eines Fehlers abgebrochen.
Beispiele
IDocumentResult result = DocumentUtils.generateDocument("Blanko NATIVE (Beispiel)", "activityPk1", "doc", "my document subject");
if (!result.isSuccessful())
{
if (ScriptUtils.equal(DocumentUtils.DOC_ERRORCODE_GENERAL, result.getErrorCode()))
{
...Error handling...
}
}