Mit eingebetteten Feldausdrücken in Meta-Tags arbeiten

Sie können Tags für den aktuellen und vorherigen Feldwert in den Expression-Tag selbst einbetten. Stellen Sie sicher, dass die Feldwerte keine einfachen oder doppelten Anführungszeichen enthalten. Wenn ein Feldwert eine ungerade Anzahl an einfachen oder doppelten Anführungszeichen enthält, verursacht der Wert möglicherweise einen Ausdrucksfehler, sodass die EmailPlusTemplate-Schablone nicht ordnungsgemäß validiert wird. Dies ist eine bekannte Einschränkung des Pakets "EmailPlus".

Eine bessere Methode besteht darin, die EmailPlus-Funktionen zum Auswerten von Feldwerten zu verwenden. Verwenden Sie zum Vergleichen von Feldwerten die Perl-Funktion quotemeta(), um nicht alphanumerische Zeichen mit einem Escape-Zeichen zu versehen und dadurch sicherzustellen, dass der Ausdruck ordnungsgemäß ausgewertet wird. Der folgende Ausdruck wird beispielsweise ordnungsgemäß ausgewertet, wenn der Feldwert keine einfachen oder doppelten Anführungszeichen enthält:

#@expression::if (#?Description?# ne #%Description%#) { “Description field has changed\n”.#%Description%#; }@#
Wenn Sie jedoch nicht sicher sind, ob der Feldwert einfache oder doppelte Anführungszeichen enthält, verwenden Sie lieber den Ausdruck im folgenden Beispiel:
#@expression::if (quotemeta(Gfv(“Description”)) ne quotemeta(Gfov(“Description”))) {
“Description field has changed\n”.Gfov(“Description”); }@#

Ein anderes Beispiel: Nehmen Sie an, dass Sie das Übergabedatum aus Ihrem Fehlerdatensatz anzeigen möchten, dafür aber nicht das standardmäßige Datumsformat verwenden möchten. Stattdessen möchten Sie das Datum in einer anderen Form anzeigen. Dafür eignet sich der folgende einfache Beispielausdruck mit einem Meta-Tag:

#@expression::use Date::Format;use Date::Parse; ctime( str2time( #?SubmitDate?# ));@#

Dies wird im folgenden Beispiel erweitert. Es handelt sich um einen syntaktisch gültigen Ausdruck. Er gibt ein Datumsobjekt zurück.

#@expression::use Date::Format;use Date::Parse; ctime( str2time( “2010-07-12 10:45:18” ));@#

Durch das Auswerten des Ausdrucks werden die folgenden Informationen zurückgegeben und in der Ausgabenachricht ersetzt:

Mon Jul 12 10:45:18 2010

In der folgenden Tabelle sind die Datentypen aufgelistet, die zurückgegeben werden, wenn ein alter oder aktueller Feldwert innerhalb eines Meta-Tags erweitert wird.

Tabelle 1. EmailPlus-Datentypen, die in Meta-Tags zurückgegeben werden.

Feldtyp Zurückgegebener Ausdruck
INT Eine Ganzzahl, z. B. 54
DATE_TIME Eine Datumszeichenfolge im 24-Stunden Format "JJJJ-MM-TT hh:mm:ss", z. B. "2012-10-20 15:23:04"
SHORT_STRING, MULTILINE_STRING, ID, STATE, RECORDTYPE, DBID, REFERENCE und andere nicht angegebene Typen Ein Zeichenfolgewert in doppelten Anführungszeichen, z. B. "ein Text". Zeichenfolgen in doppelten Anführungszeichen, die im ursprünglichen Feldwert eingebettet sind, werden ordnungsgemäß verarbeitet, um einen syntaktisch korrekten Zeichenfolgewert zu erhalten.
REFERENCE_LIST Ein Verweis auf einen Bereich von Werten in doppelten Anführungszeichen, z. B. ["Wert 1", "Wert 2" ]

Feedback