Este ejemplo muestra cómo añadir código HTML para cambiar el color del texto, en función del valor del campo de prioridad. Si la prioridad tiene el valor 1, el texto se muestra en rojo.
#@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>
Este código de ejemplo muestra todos ID de registro para los registros relacionados en la misma línea, separados por espacios. Si no hay ningún registro relacionado con el registro, no se muestra nada.
#@EXPRESSION::if ( scalar( @{#?RelatedRecords?#} ) ) { "Related Records: ".join(" ",@{#?RelatedRecords?#}); } else { ""; }@#
Este código de ejemplo muestra el valor actual del campo State y si ha cambiado, además del valor anterior del campo State.
State: #?State?# #@EXPRESSION::if (#?State?# ne #%State%#) { "(Old Value: ". #%State%# .")"; }@#
Aunque pueden utilizarse meta códigos de campo en expresiones de EmailPlus, de forma ocasional, es posible que las expresiones no se evalúen correctamente. En concreto, si un valor de campo contiene un número impar de comillas simples o dobles, la expresión no se evalúa correctamente. En este caso, puede utilizar las funciones de los scripts globales de EmailPlus para resolver valores de campo en vez de utilizar los meta códigos de campo. Además, puede utilizar la función de Perl quotemeta para omitir los caracteres no alfanuméricos de un valor de campo. Con esta función, puede comparar de forma eficiente valores de campo en expresiones de EmailPlus. Este ejemplo compara el valor del campo Description con el valor original del campo Description. Si difieren, la notificación de EmailPlus incluye un mensaje que indica que el campo Description se ha modificado.
#@EXPRESSION::if ( quotemeta(Gfv("Description")) ne quotemeta(Gfov("Description") ) { "The Description field has changed: “.Gfv(“Description") ; }@#
El siguiente ejemplo añade detalles sobre archivos adjuntos de registro a la notificación. Consulte los comentarios del código para ver explicaciones sobre los detalles:
#@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;
@#