Formatangaben für Platzhalter
Der VariableReplacementService ist eine zentrale Komponente des MesoWorkerService und wird von allen Hauptkomponenten verwendet:
- Mail-Dienst: Für E-Mail-Vorlagen und Betreffzeilen
- Workflow-Erzeugung: Für Kurz- und Langbeschreibungen von generierten Workflows
- Terminsynchronisation: Für Terminbetreff und -beschreibung
- Überwachungsdienst: Für Warnungs-E-Mails
Dieser Abschnitt beschreibt alle verfügbaren Formatierungsmöglichkeiten.
Verfügbare Objekteigenschaften:
Die Platzhalter greifen auf Eigenschaften von WinLine-Objekten zu. Eine vollständige Übersicht aller verfügbaren Eigenschaften finden Sie in der MesoXPO-Klassendokumentation:
- CrmIncidencesUndSchritte (Workflow-Objekt für Mail-Dienst und Terminsynchronisation)
- BestelldateiMitte (Belegzeilen-Objekt für Workflow-Erzeugung)
Platzhalter-Typen
1. Basis-Platzhalter (Doppelte geschweifte Klammern)
Syntax: {{PropertyName}} oder {{Object.Property.NestedProperty}}
- Zugriff auf beliebige Eigenschaften des Workflow-Objekts
- Unterstützt verschachtelte Objektnavigation (z.B.
{{Kunde.Adresse.Strasse1}}) - Kann mit Formatierung, Prefix und Suffix kombiniert werden
Beispiele:
{{OpNummer}} → Workflow-Nummer
{{Kunde.Kontoname1}} → Kundenname
{{AktuellsterBeleg.Endbetrag}} → Rechnungsbetrag
{{Projekt.Bezeichnung1}} → Projektbezeichnung
2. Property-Platzhalter (Eigenschaften)
Syntax: {Property:ID[:Format]|prefix=...|suffix=...}
- Zugriff auf WinLine-Eigenschaften über deren ID
- ID ist die numerische Eigenschafts-ID aus WinLine
- Unterstützt Formatierung, Prefix und Suffix
Beispiele:
{Property:101} → Eigenschaft 101 ohne Formatierung
{Property:102:N2} → Eigenschaft 102 als Zahl mit 2 Dezimalstellen
{Property:103:dd.MM.yyyy} → Eigenschaft 103 als Datum
{Property:104:C} → Eigenschaft 104 als Währung
{Property:105|prefix=Ref: } → Eigenschaft 105 mit Prefix "Ref: "
3. UserColumn-Platzhalter (Benutzerdefinierte Spalten)
Syntax:
-
{UserColumn:ID[:Format]|prefix=...|suffix=...}(mit numerischer ID) -
{UserColumn:ColumnName[:Format]|prefix=...|suffix=...}(mit Spaltenname) -
{UserColumn:Path.Property:ID[:Format]|prefix=...|suffix=...}(verschachtelt mit ID) -
{UserColumn:Path.Property:ColumnName[:Format]|prefix=...|suffix=...}(verschachtelt mit Spaltenname) -
Zugriff auf benutzerdefinierte Spalten über deren ID oder direkten Spaltennamen
-
ID ist die numerische Spalten-ID aus WinLine (z.B. 10, 20)
-
ColumnName ist der direkte Spaltenname aus der Datenbank (z.B. C123, C456)
-
Unterstützt verschachtelte Navigation zu Objekten (z.B.
BestelldateiKopf.UserColumn:10) -
Unterstützt Formatierung, Prefix und Suffix
Beispiele:
{UserColumn:10} → Benutzerspalte 10 ohne Formatierung
{UserColumn:20:dd.MM.yyyy} → Benutzerspalte 20 als Datum
{UserColumn:30:C} → Benutzerspalte 30 als Währung
{UserColumn:40:P2} → Benutzerspalte 40 als Prozent mit 2 Dezimalstellen
{UserColumn:50|suffix= EUR} → Benutzerspalte 50 mit Suffix " EUR"
{UserColumn:C123} → Direkter Zugriff auf Spalte C123
{UserColumn:C456:dd.MM.yyyy} → Direkter Zugriff auf Spalte C456 als Datum
{UserColumn:BestelldateiKopf:10} → UserColumn 10 vom BestelldateiKopf-Objekt
{UserColumn:BestelldateiKopf:C789} → Spalte C789 vom BestelldateiKopf-Objekt
{UserColumn:Kunde.Adresse:C100|prefix=PLZ: } → Spalte C100 vom Adresse-Objekt des Kunden
4. Bild-Platzhalter
Syntax: {Image:src|alt=...|width=...|height=...}
- Fügt HTML-Bilder in E-Mails ein
- Unterstützt optionale Attribute: alt, width, height
- Wird automatisch in
<img>-Tag konvertiert
Beispiele:
{Image:logo.png} → Einfaches Bild
{Image:logo.png|alt=Firmenlogo} → Bild mit Alternativtext
{Image:logo.png|width=200|height=100} → Bild mit Größenangaben
{Image:logo.png|alt=Firmenlogo|width=200|height=100} → Bild mit allen Attributen
Ergebnis:
<img src="logo.png" alt="Firmenlogo" width="200" height="100" />
Formatierungsoptionen
Standard .NET Format-Strings
Alle Platzhalter-Typen unterstützen Standard-.NET-Formatstrings nach dem Schema :Format.
Datumsformatierung:
{{DatumSchrittGeschrieben:dd.MM.yyyy}} → 15.01.2026
{{DatumSchrittGeschrieben:dd.MM.yy}} → 15.01.26
{{DatumSchrittGeschrieben:yyyy-MM-dd}} → 2026-01-15
{{DatumSchrittGeschrieben:dddd, dd. MMMM}} → Mittwoch, 15. Januar
{{DatumSchrittGeschrieben:HH:mm}} → 14:30
{{DatumSchrittGeschrieben:dd.MM.yyyy HH:mm}} → 15.01.2026 14:30
Währungsformatierung:
{{AktuellsterBeleg.Endbetrag:C}} → 1.234,56 €
{{AktuellsterBeleg.Endbetrag:C0}} → 1.235 €
{{AktuellsterBeleg.Endbetrag:C2}} → 1.234,56 €
Zahlenformatierung:
{{Menge:N0}} → 1.234 (keine Dezimalstellen)
{{Menge:N2}} → 1.234,56 (2 Dezimalstellen)
{{Einzelpreis:F2}} → 123,45 (Fixed-Point mit 2 Dezimalstellen)
Prozentformatierung:
{{Rabatt:P}} → 15,00 %
{{Rabatt:P0}} → 15 %
{{Rabatt:P2}} → 15,25 %
RTF-zu-Text-Konvertierung
Für Felder die RTF-Inhalte enthalten (z.B. Langbeschreibung), stehen spezielle Konvertierungsformate zur Verfügung:
ToPlainText - Konvertierung zu reinem Text
{{LangbeschreibungExtern:ToPlainText}}
- Entfernt alle RTF-Formatierungen
- Behält nur den reinen Text bei
- Nützlich für Plaintext-E-Mails oder SMS
ToHtmlText - Konvertierung zu HTML
{{LangbeschreibungExtern:ToHtmlText}}
- Konvertiert RTF zu HTML
- Behält Formatierungen (Fett, Kursiv, Aufzählungen, etc.) bei
- Nützlich für HTML-E-Mails
Prefix und Suffix
Alle Platzhalter-Typen außer Bild-Platzhalter unterstützen optionale Prefix- und Suffix-Angaben:
Syntax: |prefix=Text|suffix=Text
- Prefix wird vor dem Wert eingefügt
- Suffix wird nach dem Wert eingefügt
- Prefix und Suffix werden nur hinzugefügt, wenn der Wert nicht leer ist
- Case-insensitive (prefix, Prefix, PREFIX funktionieren alle)
Beispiele:
{{OpNummer|prefix=Auftrag Nr. }}
→ "Auftrag Nr. 12345" (wenn OpNummer = "12345")
→ "" (wenn OpNummer leer)
{{Kunde.Kontoname1|suffix= GmbH}}
→ "Musterfirma GmbH" (wenn Kontoname1 = "Musterfirma")
→ "" (wenn Kontoname1 leer)
{{AktuellsterBeleg.Endbetrag:C2|prefix=Betrag: |suffix= (inkl. MwSt.)}}
→ "Betrag: 1.234,56 € (inkl. MwSt.)" (wenn Endbetrag = 1234.56)
→ "" (wenn Endbetrag leer)
{Property:101|prefix=Referenz: |suffix= - bitte angeben}
→ "Referenz: REF-2024-001 - bitte angeben" (wenn Property 101 = "REF-2024-001")
→ "" (wenn Property 101 leer)
{UserColumn:20:dd.MM.yyyy|prefix=Lieferdatum: }
→ "Lieferdatum: 15.01.2026" (wenn UserColumn 20 = DateTime)
→ "" (wenn UserColumn 20 leer)
Kombinationsbeispiele
Platzhalter können mit Formatierung, Prefix und Suffix kombiniert werden:
{{DatumSchrittGeschrieben:dd.MM.yyyy|prefix=Erstellt am: }}
→ "Erstellt am: 15.01.2026"
{{AktuellsterBeleg.Endbetrag:C2|prefix=Gesamtbetrag: |suffix= (netto)}}
→ "Gesamtbetrag: 1.234,56 € (netto)"
{Property:150:N0|prefix=Artikel: |suffix= Stück}
→ "Artikel: 100 Stück"
{UserColumn:30:P2|suffix= Rabatt}
→ "15,25 % Rabatt"
{UserColumn:C123}
→ Direkter Wert aus Spalte C123
{UserColumn:BestelldateiKopf:10:dd.MM.yyyy}
→ Datum aus UserColumn 10 des BestelldateiKopf-Objekts
{UserColumn:Kunde:C456|prefix=Kundennummer: }
→ "Kundennummer: 12345" (Wert aus Spalte C456 des Kunden-Objekts)
{{LangbeschreibungExtern:ToHtmlText}}
→ HTML-formatierter Text mit Formatierungen
Vollständiges Beispiel:
Sehr geehrte Damen und Herren,
im Anhang finden Sie Ihre Rechnung {{OpNummer|prefix=Nr. }} vom {{AktuellsterBeleg.DatumFaktura:dd.MM.yyyy}}.
Der Gesamtbetrag beträgt {{AktuellsterBeleg.Endbetrag:C2}}.
Projekt: {{Projekt.Bezeichnung1|prefix=[|suffix=]}}
Kunde: {{Kunde.Kontoname1}}
{{LangbeschreibungExtern:ToHtmlText}}
Referenz: {Property:101|prefix=REF-}
Liefertermin: {UserColumn:20:dd.MM.yyyy|prefix=Geplant für: }
Bestelldaten: {UserColumn:BestelldateiKopf:C789}
Mit freundlichen Grüßen
Ergebnis:
Sehr geehrte Damen und Herren,
im Anhang finden Sie Ihre Rechnung Nr. AUF-2024-001 vom 15.01.2026.
Der Gesamtbetrag beträgt 1.234,56 €.
Projekt: [Premium Widgets]
Kunde: Musterfirma GmbH
<p><strong>Beschreibung:</strong></p>
<ul>
<li>Position 1: Widget Premium</li>
<li>Position 2: Service Paket</li>
</ul>
Referenz: REF-2024-001
Liefertermin: Geplant für: 20.01.2026
Mit freundlichen Grüßen