Questo esempio mostra come aggiungere il codice HTML per modificare il colore del testo a seconda del valore del campo priorità. Se la priorità ha un valore 1, il testo viene visualizzato in rosso.
#@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>
Questo codice di esempio stampa tutti gli ID record per i record correlati sulla stessa riga, separati da spazi. Se al record non è associato alcun record correlato, non viene stampato nulla.
#@EXPRESSION::if ( scalar( @{#?RelatedRecords?#} ) ) { "Related Records: ".join(" ",@{#?RelatedRecords?#}); } else { ""; }@#
Questo codice di esempio stampa il valore corrente del campo Stato e, se è stato modificato, anche il valore precedente del campo Stato.
State: #?State?# #@EXPRESSION::if (#?State?# ne #%State%#) { "(Old Value: ". #%State%# .")"; }@#
Sebbene le meta tag del campo possano essere utilizzate nelle espressioni EmailPlus, occasionalmente, le espressioni potrebbero non essere valutate correttamente. In particolare, se il valore di un campo contiene un numero dispari di virgolette singole o doppie, l'espressione non viene valutata correttamente. In questo caso, è possibile utilizzare le funzioni negli script globali EmailPlus per risolvere i valori del campo invece di utilizzare le meta tag del campo. Inoltre, utilizzare la funzione Perl quotemeta per eseguire l'escape dei caratteri alfanumerici in un valore del campo. Con questa funzione è possibile confrontare in modo efficace i valori del campo nelle espressioni EmailPlus. L'esempio confronta il valore del campo Descrizione con il valore originale del campo Descrizione . Se sono diversi, la notifica EmailPlus include un messaggio che indica che il campo Descrizione è cambiato.
#@EXPRESSION::if ( quotemeta(Gfv("Description")) ne quotemeta(Gfov("Description") ) { "The Description field has changed: “.Gfv(“Description") ; }@#
Il seguente esempio aggiunge alla notifica i dettagli sugli allegati del record. Consultare i commenti nel codice per le spiegazioni sui dettagli aggiunti:
#@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;
@#