Das folgende Beispiel zeigt, wie Sie HTML-Code hinzufügen, durch den die Textfarbe abhängig vom Wert des Prioritätsfelds geändert wird. Wenn die Priorität den Wert 1 aufweist, wird der Text rot angezeigt.
#@EXPRESSION::if ( #?Priority?# eq "1 - High" ) {"<FONT COLOR=\"red\">";} elsif ( #?Priority?# eq "2 - Medium" ) { "<FONT COLOR=\"orange\">";} elsif ( #?Priority?# eq "3 - Low" ) { "<FONT COLOR=\"yellow\">";}@#Priority: #?Priority?# </FONT>
Durch diesen Mustercode werden alle Datensatz-IDs der zugehörigen Datensätze in derselben Zeile ausgedruckt, getrennt durch Leerzeichen. Wenn dem Datensatz keine Datensätze zugeordnet sind, wird nichts ausgedruckt.
#@EXPRESSION::if ( scalar( @{#?RelatedRecords?#} ) ) { "Related Records: ".join(" ",@{#?RelatedRecords?#}); } else { ""; }@#
Durch diesen Mustercode wird der aktuelle Wert des Felds State ausgedruckt. Falls dieser geändert wurde, wird auch der vorherige Wert des Felds State ausgedruckt.
State: #?State?# #@EXPRESSION::if (#?State?# ne #%State%#) { "(Old Value: ". #%State%# .")"; }@#
Obwohl Sie Feld-Meta-Tags in EmailPlus-Ausdrücken verwenden können, werden diese Ausdrücke möglicherweise nicht immer ordnungsgemäß ausgewertet. Insbesondere wenn ein Feldwert eine ungerade Anzahl an doppelten oder einfachen Anführungszeichen enthält, wird der Ausdruck nicht ordnungsgemäß ausgewertet. In diesem Fall können Sie im globalen EmailPlus-Script bestimmte Funktionen verwenden, durch die Feldwerte aufgelöst werden, anstatt die Feld-Meta-Tags zu nutzen. Verwenden Sie darüber hinaus die Perl-Funktion quotemeta, um nicht alphanumerische Zeichen in einem Feldwert mit einem Escape-Zeichen zu versehen. Mithilfe dieser Funktion können Sie Feldwerte in EmailPlus-Ausdrücken wirksam vergleichen. Im folgenden Beispiel wird der Wert des Felds Description mit dem ursprünglichen Wert des Felds Description verglichen. Falls die Werte abweichen, enthält die EmailPlus-Benachrichtigung eine Nachricht über die Änderung am Feld Description.
#@EXPRESSION::if ( quotemeta(Gfv("Description")) ne quotemeta(Gfov("Description") ) { "The Description field has changed: “.Gfv(“Description") ; }@#
Im folgenden Beispiel werden Details von Datensatzanhängen zur Benachrichtigung hinzugefügt. Die hinzugefügten Details werden durch die Kommentare im Code erklärt:
#@EXPRESSION::
# Get a list of the attachment fields in this record type...
my($AttachmentFields) = $entity->GetAttachmentFields();
# Tell how many attachment fields there are and show their
# names...
$M = $M . "This entity contains " . $AttachmentFields->Count() .
" attachment field(s)\n";
for ($A = 0; $A < $AttachmentFields->Count(); $A++)
{
$M = $M . " " . ($AttachmentFields->Item($A) )->GetFieldName() . "\n";
}
$M .= "\n";
# Iterate over the attachment fields; for each one, list the
# attachments it contains in the current record...
for (my($AF) = 0; $AF <$AttachmentFields->Count(); $AF++) {
my ($AttachmentField) = $AttachmentFields->Item($AF);
$M = $M ."Attachment field '"
. $AttachmentField->GetFieldName().
"' contains:\n";
# Iterate over the attachments in this field...
my($Attachments) = $AttachmentField->GetAttachments();
for (my($A) = 0; $A <$Attachments->Count(); $A++) {
my($Attachment) = $Attachments->Item($A);
# Report info about this attachment...
$M = $M .
" Filename='" . $Attachment->GetFileName() . "'" .
" FileSize=" . $Attachment->GetFileSize() .
" Description='" . $Attachment->GetDescription() . "'" .
"\n";
}
$M = $M ."Total attachments: ". $Attachments->Count() ."\n\n";
}
# Display the results...
$M;
@#