Platzhalter in Nachrichten an Mitglieder


In den MGVO Nachrichten (E-Mails, E-Briefe und SMS) können Platzhalter verwendet werden, die durch Daten aus den Stammdaten der Mitglieder ersetzt werden.

Es können Sonderbeiträge über die Tarife definiert werden, die ebenfalls als Platzhalter verfügbar sind.

Neben den technischen Feldnamen, die Sie bei den Feldbeschreibungen finden, kommen noch folgende Platzhalter dazu:
  • Formelle Anrede: <anrede>, z.B. Sehr geehrter Herr Müller
  • Vertraute Anrede <anrede_vtr>, z.B. Lieber Herr Müller
  • Legere Anrede: <anrede_leg>, z.B. Hallo Herr Müller
  • Informelle Anrede: <anrede_inf>, z.B. Lieber Hans
  • Informelle, legere Anrede: <anrede_infleg>, z.B. Hallo Hans
  • Etikettanrede: <anrede_eti>
  • Abteilungs-ID Liste: <abtids>
  • Abteilungsliste: <abtliste>
  • Alter: <alter>
  • Langtext Geschlecht: <geschlecht_lt>
  • Liste der aktuellen Funktionen: <funktionen>
  • Austrittsjahr: <austrittsjahr>
  • Beitragsgruppen: <beigru01> - <beigru05>
  • Beitragsgruppenbezeichnungen: <bgbez01> - <bgbez05>
  • Eintrittsjahr: <eintrittsjahr>
  • Geburtstag (nur Tag): <gebtag>
  • Geburtsmonat: <gebmon>
  • Geburtsjahr: <gebjahr>
  • Mitgliedsstatustext: <mstatbez>
  • GruppenID: <gru01> - <gru05>
  • Gruppenbezeichnung: <grubez01> - <grubez05>
  • GruppenID Liste: <gruppen>
  • Gruppenliste: <gruppenliste>
  • Gruppenkategorieliste: <grukats>
  • Gruppenkategorien, Liste der Bezeichnungen: <grukatliste>
  • Sollarbeitsstunden lfd. Jahr: <sollarbstunden>
  • Geleistete Arbeitsstunden im laufenden Jahr: <stdleist_jahr>
  • Geleistete Arbeitsstunden im letzten Jahr: <stdleist_ljahr>
  • Stundensaldo laufendes Jahr: <stdsum_jahr>
  • Stundensaldo letztes Jahr: <stdsum_ljahr>
  • Stundensalden letztes/laufendes Jahr: <stdsum_salden>
  • Name der Bank: <bankname>
  • SEPA Gläubiger-Identifikationsnummer: <sepa_cdid>
  • SEPA Mandatsreferenz: <sepa_mndid>
  • Nächster Abbuchungstermin (Lastschrift): <nextlsdat>
  • Zahler (ggf. aus Mitgliedsname): <kontoname>
  • Anonymisierte Kontonummer: <kontox>
  • Anonymisierte IBAN: <ibanx>
  • Lesefreundliche IBAN: <ibanpr>
  • Kennzeichen, ob Kontodaten des Familienzahlers verwendet werden (=1): <famkonto>
  • Mitgliedsadresse ohne Namen: <adresse>
  • Saldo Mitgliedskonto: <saldo>
  • Saldo Mitgliedskonto (negativ): <saldoneg>
  • Beitrag Monat: <bs_m>
  • Beitrag Quartal: <bs_v>
  • Beitrag Halbjahr: <bs_h>
  • Beitrag Jahr: <bs_j>
  • Beitrag des Mitglieds in Relation zur Zahlweise: <bs_rel>
  • Beitrag Monat (ab Eintritt oder aktuell): <bse_m>
  • Beitrag Quartal (ab Eintritt oder aktuell): <bse_v>
  • Beitrag Halbjahr (ab Eintritt oder aktuell): <bse_h>
  • Beitrag Jahr (ab Eintritt oder aktuell): <bse_j>
  • Beitrag des Mitglieds in Relation zur Zahlweise (ab Eintritt oder aktuell): <bse_rel>
  • Beitrag Monat (Sonderbeiträge): <bss_m>
  • Beitrag Quartal (Sonderbeiträge): <bss_v>
  • Beitrag Halbjahr (Sonderbeiträge): <bss_h>
  • Beitrag Jahr (Sonderbeiträge): <bss_j>
  • Beitrag des Mitglieds in Relation zur Zahlweise (Sonderbeiträge): <bss_rel>
  • Langtext Zahlweise: <zahlweise_lt>
  • Langtext Zahlungsart: <zahlungsart_lt>
  • Anzahl offene Ehrungen: <ehrung_offen_anz>
  • Offene Ehrungen: <ehrung_offen>
  • Anzahl Ehrungen letztes Jahr: <ehrung_lj_anz>
  • Ehrungen letztes Jahr: <ehrung_lj>
  • Anzahl Ehrungen aktuelles Jahr: <ehrung_aj_anz>
  • Ehrungen aktuelles Jahr: <ehrung_aj>
  • Anzahl Ehrungen nächstes Jahr: <ehrung_nj_anz>
  • Ehrungen nächstes Jahr: <ehrung_nj>
  • Vorname des Senders: <sendervorname>
  • Nachname des Senders: <sendernachname>


Bedingte Texte


Neben dem Einsetzen von Platzhalter lassen sich optionale Textabschnitte in Abhängigkeit von Platzhaltern einfügen.
Die Bedingung müssen in runden Klammern eingeschlossen werden, wenn Leerzeichen im Ausdruck enthalten sind, es ist zu empfehlen, dies grundsätzlich zu machen.
Die vollständige Schreibweise der Bedingungen lautet: "#if (Bedingung) ...Text... #else Alternativtext #end".
Hierbei sind folgende Operatoren zugelassen:

  1. Das Gleichheitszeichen ("=")
    Es wird hierbei die Gleichheit zweier Werte geprüft.
    Beispiel: "#if (<vorname>=klaus) Dieser Text erscheint nur bei Klaus #end"
    Der Text wird nur angezeigt, wenn der Vorname des Mitglieds Klaus lautet.


  2. der Inhaltsoperator ("@")
    Der Operator prüft, ob der Suchwert vor dem "@" Zeichen in der Aufzählung nach dem "@-Zeichen vorkommt.
    Wenn der Suchwert ein Wildcardzeichen ("*") enthält, wird das Vorkommen des Suchwertes im der Zeichenkette nach dem Operator geprüft.
    Beispiel 1: "Die Gruppenliste enthält #if (hhg1@<gruppen>) unter anderem Gruppe "hhg1" und #end viele andere Gruppen."
    Diese Bedingung wird wahr, wenn in der Gruppenliste die Gruppe "hhg1" enthalten ist. Der Term muss geklammert werden, da in der Gruppenliste Leerzeichen verwendet werden.
    Beispiel 2: "#if (hhg*@<gruppen>) Die Hiphopgruppen sind betroffen. #end"
    Dieser Ausdruck wird wahr, wenn in der Gruppenliste eine der Hiphop-Gruppen "hhg1", "hhg23", "hhg36" enthalten ist.
    Beispiel 3: "#if (tanzen@<abtliste>) Willkommen in unserer Tanz-Abteilung! #else Kommen Sie auch in unsere Tanzabteilung! #end"
    Dieser Text wird verwendet, wenn in der Abteilungsliste die Sparte Tanzen vorkommt.


  3. der Nicht-Enthalten Operator ("^")
    Die Bedingung wird wahr, wenn der Suchwert nicht enthalten ist. Der Operator ist also die Umkehrung vom "@"-Operator.
    Beispiel: "#if (hiphop^<gruppen>) Kennen Sie schon unser Hip-Hop Tanzangebot? Lernen Sie es unverbindlich kennen. #end
    Wenn das Mitglied nicht in der Gruppe "hiphop" ist, erhält er den Zusatztext.

  4. bei numerischen Werten der Kleiner-Operator ("<")
    Der Ausdruck wird wahr, wenn der erste Wert kleiner als der zweite ist.
    Beispiel: "#if (<alter><19) Jugendlicher #else Erwachsener #end "

  5. der Größer-Operator (">")
    Der Ausdruck wird wahr, wenn der erste Wert grüßer als der zweite ist.
    Beispiel: "#if (<alter>>17) Dies ist ein Text für Erwachsene #end"


Mathematischer Formelinterpreter


In die Texte können algebraische Formeln integriert werden. Beim Versenden der Nachrichten bzw. Erstellen der PDF-Dateien werden die Formeln aus dem Text extrahiert, abgearbeitet und das Ergebnis an Stelle der Formel eingesetzt.
Um Formeln in einem Text zu kennzeichnen, werden doppelte, eckige Klammern verwendet, Beispiel: [[<saldo> / 1,19]]

Wichtig hierbei:
  • Bei den nummerischen Werten werden Nachkommastellen mit Komma abgetrennt (deutsche Schreibweise), also z.B. 23,5
  • Bei Funktionsaufrufen mit mehreren Parametern erfolgt die Abtrennung zwischen den Parametern mit Semikolon ";", z.B. pow(2;5)
  • Leerzeichen dürfen in der Formel vorkommen, müssen aber nicht.


Dabei sind folgende Funktionen und Operationen möglich:

  • Grundrechenarten
    Beispiel: 320 + 24 / 13
    Es wird hierbei die Grundregel "Punkt vor Strich" berücksichtigt.
  • Klammern
    Es sind beliebig viele Klammerebenen zugelassen. Beispiel: 23 / (12*3,5)
  • Mathematische Funktionen
    • Absolutwert: abs(x) oder int(x). Beispiel: abs(-24), Ergebnis: 14
    • Potenz xy: pow(x,y). Beispiel: pow(2;3)
    • Exponent ex: exp(x). Beispiel: exp(2), Ergebnis: 7,39
    • Fakultät n!: fact(n). Beispiel: fact(3), Ergebnis: 6
    • Binominalkoeffizient: binomkoeff($n;$k), Beispiel: binomkoeff(10;3), Ergebnis: 120
    • Rundung: round(x). Beispiel: round(24,534), Ergebnis: 25
    • Rundung mit Anzahl Stellen: round(x,p). Beispiel: round(4,234563245;1), Ergebnis: 4,2
    • Abrunden: floor(x). Beispiel: floor(4,24), Ergebnis: 4
    • Aufrunden: ceil(x). Beispiel: ceil(5,234), Ergebnis: 6
    • Logarithmus von x zur Basis y: log(x;y). Beispiel: log(1000;10), Ergebnis: 3 (ohne Basisangabe ist die Basis e)
    • Quadratwurzel: sqrt(x). Beispiel: sqrt(16), Ergebnis: 4
    • Umrechnung von Grad in Bogenmaß: deg2rad(x). Beispiel: deg2rad(180), Ergebnis: 3,141592
    • Sinus: sin(x)
    • Cosinus: cos(x)
    • Tangens: tan(x)
    • Arkussinus: asin(x)
    • Arkuscosinus: acos(x)
    • Arkustangens: atan(x)