Este exemplo mostra como incluir código HTML para alterar a cor do texto, dependendo do valor do campo de prioridade. Se a prioridade tiver um valor 1, o texto será exibido em vermelho.
#@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 exemplo imprime todos os IDs dos registros relacionados, na mesma linha, separados por espaço. Se nenhum registro relacionado estiver associado ao registro, nada será impresso.
#@EXPRESSION::if ( scalar( @{#?RelatedRecords?#} ) ) { "Related Records: ".join(" ",@{#?RelatedRecords?#}); } else { ""; }@#
Este código de exemplo imprime o valor atual do campo Estado e, se alterado, também o valor anterior do campo Estado.
State: #?State?# #@EXPRESSION::if (#?State?# ne #%State%#) { "(Old Value: ". #%State%# .")"; }@#
Embora seja possível usar meta tags de campo em expressões do EmailPlus, ocasionalmente, as expressões podem não ser avaliadas corretamente. Especificamente, se um valor de campo contiver um número ímpar de aspas duplas ou simples, a expressão não será avaliada corretamente. Nesse caso, é possível usar as funções nos scripts globais do EmailPlus para resolver valores de campo em vez de usar as meta tags de campo. Além disso, use a função Perl quotemeta para escapar qualquer caractere não alfanumérico em um valor de campo. Com essa função, é possível comparar efetivamente valores de campo nas expressões do EmailPlus. Este exemplo compara o valor do campo Descrição com o valor original do campo Descrição. Se eles forem diferentes, a notificação do EmailPlus incluirá uma mensagem que informa que o campo Descrição foi alterado.
#@EXPRESSION::if ( quotemeta(Gfv("Description")) ne quotemeta(Gfov("Description") ) { "O campo Descrição foi alterado: “.Gfv(“Description") ; }@#
O exemplo a seguir inclui detalhes sobre anexos de registro na notificação. Veja os comentários no código para obter explicações sobre os detalhes incluídos:
#@EXPRESSION::
# Obter uma lista dos campos de anexos neste tipo de registro...
my($AttachmentFields) = $entity->GetAttachmentFields();
# Informar quantos campos de anexos há e mostrar seus
# nomes...
$M = $M . "Esta entidade contém " . $AttachmentFields->Count() .
" campo(s) de anexo\n";
for ($A = 0; $A < $AttachmentFields->Count(); $A++)
{
$M = $M . " " . ($AttachmentFields->Item($A) )->GetFieldName() . "\n";
}
$M .= "\n";
# Iterar os campos de anexos; para cada um, listar os
# anexos contidos no registro atual...
for (my($AF) = 0; $AF <$AttachmentFields->Count(); $AF++) {
my ($AttachmentField) = $AttachmentFields->Item($AF);
$M = $M ."O campo Anexo '"
. $AttachmentField->GetFieldName().
"' contém:\n";
# Iterar os anexos neste campo...
my($Attachments) = $AttachmentField->GetAttachments();
for (my($A) = 0; $A <$Attachments->Count(); $A++) {
my($Attachment) = $Attachments->Item($A);
# Relatar informações sobre este anexo...
$M = $M .
" Filename='" . $Attachment->GetFileName() . "'" .
" FileSize=" . $Attachment->GetFileSize() .
" Description='" . $Attachment->GetDescription() . "'" .
"\n";
}
$M = $M ."Total de anexos: ". $Attachments->Count() ."\n\n";
}
# Exibir os resultados...
$M;
@#