Eingabewerte¶
| Bezeichnung | Datentyp | Richtung | Word/Email/Excel/Macro | Beschreibung |
|---|---|---|---|---|
| ID | Diverse ID's | in | Word/Email/Excel/Macro | Nur für Einzelauswertungen: Die ID des aufgerufenen Datenelements. |
| IDList | [Diverse ID's] | in | Word/Email/Excel/Macro | Für alle Auswertungen: Ein Array von ID's der aufgerufenen Datenelemente. |
| OrigID | Diverse ID's | in | Word/Email/Excel/Macro | Nur für Einzelauswertungen: Die ID des aufgerufenen Datenelements. Diese Variable sollte nicht verändert werden |
| OrigIDList | [Diverse ID's] | in | Word/Email/Excel/Macro | Für alle Auswertungen: Ein Array von ID's der aufgerufenen Datenelemente. Diese Variable sollte nicht verändert werden |
| Result | string | [string] | out | Word/Email | Für Word Auswertungen: Resultattext(e), welcher an Stelle des Kommentars auf der Auswertung erscheinen soll. Diese Variable wird vor jedem Makro auf einen leeren String ("") gesetzt. Wird hier eines oder mehrere unmittelbar aufeinander folgende gesamte RTF Dokumente zurückgegeben, dann wird dieses oder werden diese korrekt eingefügt. Ein solches Dokument beginnt mit "{\rtf1". Vor diesem oder diesen Dokumenten wird der PageCode eingefügt oder wenn vorhanden nacheinander die Inhalte der Variable PageCodes. Wird in Result ein StringArray zurückgegeben werden die Resultate nacheinander auf die selbe Weise behandelt, wobei der Index in PageCodes weiter hochgezählt wird. Wird ein StringArray gesetzt, dann ist es auch möglich, eine Mischung aus normalen Textkomponenten und ganzen Dokumenten zurückzugeben. Siehe dazu auch die Erklärungen bei PageCodes. |
| Skip | integer | out | Word/Email/Excel/Macro | Wird mit 0 initialisiert. Wird dieser Wert auf 1 gesetzt, dann wird die aktuell verarbeitete Auswertung nicht berücksichtigt, also ausgelassen. Falls anschliessend noch weitere Kommentare zu verarbeiten wären, werden diese nicht mehr ausgeführt. Wird dieser Wert auf -1 gesetzt, dann wird die aktuelle Verarbeitung normal beendet. Anschliessend wird aber noch einmal eine Auswertung mit der selben ID wiederholt. Diese Funktion setzt voraus, dass über geeignete Massnahmen eine Endlosschleife verhindert wird. Andere Werte als -1, 0 und 1 sind nicht definiert und können zu einem undefinierten Resultat führen. Beachte auch die Variable Suppress. |
| Suppress | integer | out | Word/Email/Excel/Macro | Wird mit 0 initialisiert. Wird dieser Wert auf != 0 gesetzt, dann wird das Resultat der aktuellen Einzelauswertung ignoriert. Dies geschieht unabhängig von Skip |
| Date | datetime | in | Word/Email/Excel/Macro | Aktuelles Datum oder Datum, welches bei CreateReport() übergeben wurde |
| SignatureTextID | SSD_SignatureTextID | in | Word/Email/Excel/Macro | ID der ausgewählten Signatur in Form von i_SSD_SignatureTextID.. Hat der Report keine Signatur, ist dieser Wert 0. |
| SignatureLanguageID | SSD_SignatureLanguageID | in | Word/Email/Excel/Macro | Sprache der Signatur.. Hat der Report keine Signatur, ist dieser Wert 0. |
| SignaturePictureID | SSE_DatasetPictureID | in | Word/Email/Excel/Macro | Unterschriftsbild (i_SSE_DatasetPictureID).. Hat der Report keine Signatur, ist dieser Wert 0. |
| SignatureDate | datetime | in | Word/Email/Excel/Macro | Ausgewähltes Datum bei der Signaturauswahl.. Hat der Report keine Signatur, ist dieser Wert gleich, wie die Variable Date. |
| SalutationTypeID | SSP_SalutationTypeID | in | Word(Email/Excel/Macro | Auf dem Report definierter Anredetyp, zur Verwendung mit GetSignatureTextID (Opus Funktion). |
| LanguageID | SSE_LanguageID | in | Word/Email/Excel/Macro | |
| CompanyID | SSE_CompanyID | in | Word/Email/Excel/Macro | |
| SeminarCenterID | SSE_SeminarCenterID | in | Word/Email/Excel/Macro | |
| OrgUnitID | SSE_OrganizationalUnitID | in | Word/Email/Excel/Macro | |
| PlanningPeriodID | SSE_PlanningPeriodID | in | Word/Email/Excel/Macro | |
| ReportID | SSD_ReportID | in | Word/Email/Excel/Macro | |
| UserRoleID | SSE_UserRoleID | in | Word/Email/Excel/Macro | |
| EmailFrom | [string] | out | Rückgabe der Absender Emailadresse im Format ["EmailAdresse","Name des Absenders"] | |
| EmailTo | [string] | out | Rückgabe der "To" Emailadresse(n) im Format ["EmailAdresse1","Name 1", ...]. Das Array muss immer zwei Einträge pro Adresse haben. | |
| EmailCC | [string] | out | Rückgabe der "CC" Emailadresse(n) im Format ["EmailAdresse1","Name 1", ...]. Das Array muss immer zwei Einträge pro Adresse haben. | |
| EmailBCC | [string] | out | Rückgabe der "BCC" Emailadresse(n) im Format ["EmailAdresse1","Name 1", ...]. Das Array muss immer zwei Einträge pro Adresse haben. | |
| EmailReplyTo | [string] | out | Rückgabe der Rücksende-Emailadresse im Format ["EmailAdresse","Name des Absenders"] | |
| EmailServer | [string] | out | Serverangaben mit folgendem Inhalt (eine der folgenden Möglichkeiten): ["Exchangeserver"] ["SMTP Servername/Adresse", "Benutzername", "Passwort"] ["SMTP Servername/Adresse", "Benutzername", "Passwort", "Domain"] | |
| EmailAttachmentNames | [string] | out | Array mit Namen der Anhänge. | |
| EmailAttachments | [blob] | out | Array mit binären Inhalten der Anhänge. Ist ein blob leer (Länge 0), dann gilt der entsprechende Eintrag in EmailAttachmentNames als Dateiname interpretiert und diese Datei wird als Anhang geladen. | |
| EmailSubject | string | out | Betreff des Emails | |
| EmailPort | integer | in/out | Zu verwendender Port für den Email Versand. Default = 25 | |
| EmailReadReceiptAddress | string | out | Wird hier eine Email Adresse eingefüllt, wird eine Lesebestätigung verlangt, welche an die angegebene Adresse gesendet wird. Es ist zu beachten, dass der Email Client diese Benachrichtigung auch unterdrücken kann. | |
| EmailDeliveryReceiptAddress | string | out | Wird hier eine Email Adresse eingefüllt, wird eine Empfangsbestätigung verlangt, welche an die angegebene Adresse gesendet wird. Es ist zu beachten, dass der Email Client diese Benachrichtigung auch unterdrücken kann. | |
| DocumentName | string | in/out | Word/Email/Excel/Macro | Default = Name der Auswertung |
| ArchiveID | [integer] | out | Word/Email/Excel | ID des Datensatzes, bei welchem das Dokument abgelegt werden soll |
| ArchiveType | [string] | out | Word/Email/Excel | Name der Tabelle, welche zur ID gehört |
| ArchiveReferenceDataset | [string] | out | Word/Email/Excel | Hier kann ein String eingetragen werden, welcher z.B. für Fremdsysteme oder Webschnittstellen verwendet werden kann um eine externe Beziehung zu identifizieren, |
| ArchiveReferenceRecord1ID | [integer] | out | Word/Email/Excel | Hier kann eine ID eingetragen werden, welche z.B. für Fremdsysteme oder Webschnittstellen verwendet werden kann um eine externe Beziehung zu identifizieren, |
| ArchiveReferenceRecord2ID | [integer] | out | Word/Email/Excel | Hier kann eine ID eingetragen werden, welche z.B. für Fremdsysteme oder Webschnittstellen verwendet werden kann um eine externe Beziehung zu identifizieren, |
| ArchiveReferenceRecord3ID | [integer] | out | Word/Email/Excel | Hier kann eine ID eingetragen werden, welche z.B. für Fremdsysteme oder Webschnittstellen verwendet werden kann um eine externe Beziehung zu identifizieren, |
| ArchiveDocumentName | [string] | out | Word/Email/Excel | Name, mit welchem das Dokument abgelegt werden soll (ohne Extension, diese wird automatisch anhand des Archivierungstyps vergeben) |
| ArchiveInfoType | [integer] | out | Word/Email/Excel | Informationstyp ID der zu archivierenden Dokumente |
| ArchiveReportData | JSON | out | Word/Email/Excel | Inhalt wie der Wert "ReportData" (siehe weiter unten). |
| AutoArchive | [integer] | in/out | Word/Email/Excel | Wird hier eine 1 eingetragen, dann wird der Report archiviert, ohne den Benutzer zu fragen. Ist ingesamt mindestens eine 0 vorhanden, dann wird die Archivierung beim Benutzer trotzdem abgefragt. |
| PageCode | string | in/out | Word/Email | RTF Code, der verwendet werden soll zwischen generierten Dokumenten. Default ist "\sect". Default ist (wenn \sbkxxx weggelassen wird, dass ein Seitenumbruch gemacht wird. Eine neue Seite "erzwingen" (falls der break nicht gemacht wird): PageCode = "\sect\sbkpage "; Für weitere Umbrüche, siehe auch PageCodes. Codes für Kopf- und Fusszeilen sind “\titlepg” (erste Seite anders) und “\facingp” (gerade und ungerade Seiten anders) Diese Variable wird nicht zurückgesetzt und bleibt bei weiteren Makros erhalten. Bei dem Beginn eines neuen Dokumentes wird die Variable wieder auf den Defaultwert gesetzt. |
| PageEndCode | string | in/out | Word/Email | RTF Code, der verwendet werden soll am Ende von generierten Dokumenten. Default ist "\pgnstarts1\pgnrestart". Dies bewirkt, dass die Seitennummerierung neu startet und bei Seite 1 beginnt. Diese Variable wird nicht zurückgesetzt und bleibt bei weiteren Makros erhalten. Bei dem Beginn eines neuen Dokumentes wird die Variable wieder auf den Defaultwert gesetzt. |
| PageCodes | [string] | out | Word/Email | Default ist ein leeres Array. Hier können verschiedene PageCodes abgelegt werden, welche nacheinander vor die in Result zurückgegebenen vollständigen Dokumente gesetzt werden. Bleibt es leer oder ist es zu klein für alle Dokumente, dann wird der Code aus "PageCode" genommen. Dieser Wert wird für jedes Makro erneut zurückgesetzt. Leere Seite am Anfang vermeiden: PageCodes := [""]; Wenn aus einem Kommentar-Makro eines oder mehrere Subdokumente in Result zurückgegeben wird, dann muss für jedes davon je ein Element in PageCodes und PageEndCodes eingefügt werden. Wird Result als StringArray zurückgegeben, dann muss PageCodes und PageEndCodes die selbe Grösse haben. Die entsprechenden Codes werden aber nur eingefügt, wenn ein Element in Result wirklich ein vollständiges Dokument ist. Soll ein eingefügtes Dokument ganz normal in einer separaten Section eingefügt werden, dann benötigt es in PageCodes "\sect\sbkpage" und in PageEndCodes "". Um die Seitennummerierung neu zu beginnen, kann in PageEndCode zusätzlich "\pgnstarts1\pgnrestart" (Neustart der Seitennummerierung bei 1) eingefügt werden. Weitere Umbrüche können mit \sbknone, \sbkcol, \sbkeven und \sbkodd erzielt werden. Ist PageCodes ein leeres StringArray, dann wird immer der Inhalt der Variable PageCode verwendet. |
| PageEndCodes | [string] | out | Word/Email | Default ist ein leeres Array. Hier können verschiedene PageEndCodes abgelegt werden, welche nacheinander an das Ende der in Result zurückgegebenen vollständigen Dokumente gesetzt werden. Bleibt es leer oder ist es zu klein für alle Dokumente, dann wird der Code aus "PageEndCode" genommen. Dieser Wert wird für jedes Makro erneut zurückgesetzt. Ist PageEndCodes ein leeres StringArray, dann wird immer der Inhalt der Variable PageEndCode verwendet. Siehe auch Bemerkungen für PageCodes. |
| ReturnToDocumentCode | string | out | Word/Email | Dieser Wert wird jeweils auf leer ("") gesetzt. Wird diese Variable mit etwas befüllt, dann wird am Ende von allen eingefügten Subreports des aktuellen Kommentars dies anstatt PageCode eingefügt. Soll der Rest des Dokumentes nicht gezeigt werden, dann kann dies mit ReturnToDocumentCode = "\sect\sbknone\v "; erreicht werden. Dies ist der Fall, wenn in einem Report ein anderes Dokument eingefügt wird und nachher nichts mehr kommen soll. \v bedeutet "hidden text". |
| HeaderR | string | in/out | Word/Email | Definition der Kopfzeile für rechte Seiten (nur erster Abschnitt). Dies wird auch verwendet für alle Seiten, wenn keine unterschiedlichen Kopfzeilen eingestellt sind. |
| HeaderL | string | in/out | Word/Email | Definition der Kopfzeile für linke Seiten (nur erster Abschnitt). |
| HeaderF | string | in/out | Word/Email | Definition der Kopfzeile für erste Seiten (nur erster Abschnitt). |
| FooterR | string | in/out | Word/Email | Definition der Fusszeile für rechte Seiten (nur erster Abschnitt). Dies wird auch verwendet für alle Seiten, wenn keine unterschiedlichen Fusszeilen eingestellt sind. |
| FooterL | string | in/out | Word/Email | Definition der Fusszeile für linke Seiten (nur erster Abschnitt). |
| FooterF | string | in/out | Word/Email | Definition der Fusszeile für erste Seiten (nur erster Abschnitt). |
| GlobalDefinitions | string | out | Word/Email | Diese Variable wird leer erzeugt und kann mit zusätzlich benötigten globalen RTF Definitionen befüllt werden. Dies wird vor dem ersten Abschnitt eingefügt. |
| FontTable | string | in | Word/Email | Schriftentabelle als RTF Code |
| Fonts | [string] | in/out | Word/Email | Array mit den einzelnen Schriftdefinitionen in RTF Code. Fonts und FontNumbers müssen immer dieselbe Grösse haben. |
| FontNumbers | [integer] | in/out | Word/Email | Array mit den Schriftnummern. Fonts und FontNumbers müssen immer dieselbe Grösse haben. |
| ColorTable | string | in | Word/Email | Farbtabelle als RTF Code |
| Colors | [string] | in/out | Word/Email | Array mit den Farbdefinitionen in RTF. Colors und ColorNumbers müssen immer dieselbe Grösse haben. |
| ColorNumbers | [integer] | in/out | Word/Email | Array mit den Farbnummern. Colors und ColorNumbers müssen immer dieselbe Grösse haben. |
| TableWidths | [string] | in | Word/Email | Array mit kommagetrannten Wertereihen. Jeder Wert enthält eine Spaltenbreite. Pro in der Vorlage enthaltene Tabelle ist ein Eintrag im String-Array. |
| TablePositions | [integer] | in | Word/Email | Pro in der Vorlage enthaltene Tabelle ist ein Eintrag mit der Textposition. Dies kann verwendet werden, um die Tabellen zu unterscheiden. Um herauszufinden, welche Tabelle sich z.B. gleich vor dem Makro befindet, kann die Variable MacroPosition nützlich sein. |
| MacroPosition | integer | in | Word/Email | Position des Makros in der Vorlage. |
| MacroName | string | in | Word/Email | Name des Makros |
| MacroCode | string | in | Word/Email | Programmcode des Makros |
| Tags | [string] | out | Word/Email | Namen der Tags, welche am Ende der Verarbeitung ersetzt werden sollen. Dieses Array muss gleich gross sein, wie TagTexts Es ist zu beachten, dass die Tags im Word als Ganzes ohne Unterbrechnung geschrieben werden müssen, damit sie dann richtig erkannt werden. Das heisst, dass bei Schreibfehlern der ganze Tag neu geschrieben werden sollte. |
| TagTexts | [string] | out | Word/Email | Ersatztexte für die Tags, dieses Array muss gleich gross sein, wie Tags |
| Weitere | in/out | Weitere Variablen werden je nach Auswertungstyp verwendet (Rechnung, Leistungsnachweis) | ||
| TableResult | ExcelTableObject | out | Excel | Für Excel Auswertungen: Tabelleninhaltsdefinition für das Excel Worksheet. |
| StyleResult | ExcelStyleObject | out | Excel | Für Excel Auswertungen: Definition der verwendeten Styles. |
| Tables | [string] | in/out | Excel | Für Excel Auswertungen: Damit können auch mehrere Worksheets auf einmal generiert werden. Dazu müssen die Variablennamen der einzelnen Worksheets (welche vom Typ ExcelTableObject sein müssen) als String Array zurückgegeben werden. Dieser Array muss gleich gross sein wie „Styles". Initialwert: [„TableResult"] Eine Neudefinition des Arrays muss mit dem Operator := erfolgen. |
| Styles | [string] | in/out | Excel | Für Excel Auswertungen: Dies ist das Pendant zu „Tables". Damit werden die Styles (welche vom Typ ExcelStyleObject sein müssen) pro Worksheet definiert. Es darf auch mehrmals der selbe Variablenname vorkommen (z.B. wenn alle Worksheets die selben Styles verwenden). Dieser Array muss gleich gross sein wie „Tables". Initialwert: [„StyleResult"] Eine Neudefinition des Arrays muss mit dem Operator := erfolgen. |
| ReportData | JSON | in | Word/Email/Excel/Macro | JSON Obejkt mit Daten, welche zum Ausführen des Reports benötigt werden. Diese Daten werden entweder bei CreateReport (Opus Funktion) mitgegeben oder im SSE_DatasetDocument gespeichert und von dort übernommen. Standardfelder sind: "IDList": Array mit den IDs "Type": Datentyp der IDs "SignatureID": ID der zu verwenden Signatur "SignaturePictureID": ID des Signaturbildes (Typ I_SSE_DatasetPictureID) "SignatureLanguageID": Sprache der Signatur "Date": Briefdatum Die Standardfelder werden ebenfalls in die Eingangsvariablen übernommen und müssen meistens nicht weiter berücksichtigt werden. Weitere Felder können nach Belieben hinzugefügt werden. |
Einzel- und Listenauswertungen¶
Die Listenauswertungen werden so aufgerufen, dass eine Variable IDList mit einem Array aus allen ID's definiert wird und die Auswertung genau einmal aufgerufen wird. Diese muss dann ein Dokument erstellen, welches entsprechend der gewünschten Funktion alle ID's berücksichtigt. Einzelauswertungen werden entsprechend viel mal aufgerufen mit je einer ID (Variable ID). Jedes mal muss die Auswertung für genau eine ID gemacht werden.
Word Auswertungen¶
In Word Auswertungen können als Texte auch beliebige (gültige) RTF Strings zurückgegeben werden. Entsprechende Möglichkeiten sind einer Rich-Text Format Dokumentation zu entnehmen.
Rechnungen¶
Für Rechnungsvorlagen gelten zusätzliche Informationen, Insbesondere der Archivierungsmechanismus ist durch einen Default Mechanismus gesteuert, (nur) wenn keine Archiv-Daten zurückgegeben werden. Siehe dazu die entsprechende Information unter Rechnungen.
Leistungsnachweise¶
Für Leistungsnachweise gelten zusätzliche Informationen. Siehe dazu Leistungsnachweise.
Excel Auswertungen¶
Bei Excel Auswertungen muss immer eine vollständige Excel-Datenstruktur zurückgegeben werden. Diese wird dann nach der Ausführung in ein Excel-Workbook (XML Format) umgewandelt.