Trabalhando com expressões de campo integradas em meta tags

É possível integrar tags de valor de campo atuais e anteriores na própria tag de expressão. Certifique-se de que os valores de campo não contenham aspas simples nem duplas. Se um valor de campo contiver um número ímpar de aspas simples ou duplas, o valor poderá causar um erro de expressão; assim, o modelo EmailPlusTemplate não será validado corretamente. Essa é uma limitação conhecida no pacote EmailPlus.

Uma abordagem melhor é usar as funções do EmailPlus para avaliar valores de campo. Se você comparar valores de campo, use a função Perl quotemeta() para escapar qualquer caractere não alfanumérico para assegurar que a expressão seja avaliada corretamente. Por exemplo, a expressão a seguir seria avaliada corretamente se o valor do campo não contivesse aspas simples ou duplas:

#@expression::if (#?Description?# ne #%Description%#) { “Description field has changed\n”.#%Description%#; }@#
Entretanto, se você não tiver certeza se o valor do campo conterá aspas simples ou duplas, o exemplo a seguir será uma expressão melhor de ser usada:
#@expression::if (quotemeta(Gfv(“Description”)) ne quotemeta(Gfov(“Description”))) { “Description field has changed\n”.Gfov(“Description”); }@#

Como outro exemplo, suponha que você planeja exibir a data de envio do registro de defeito, mas não deseja usar o formato de data padrão. Em vez disso, você deseja exibir a data em um formato diferente. Aqui está um exemplo simples de expressão usando uma meta tag:

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

Isso é expandido para o exemplo a seguir. Trata-se de uma expressão sintaticamente válida. Ela retorna um objeto de data.

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

Quando a expressão é avaliada, ela retorna as informações a seguir que são substituídas na mensagem de saída:

Mon Jul 12 10:45:18 2010

A tabela a seguir lista os tipos de dados que são retornados quando um valor de campo antigo ou atual é expandido em uma meta tag.

Tabela 1. Os tipos de dados do EmailPlus são retornados em meta tags
Tipo de Campo Expressão retornada
INT Um inteiro, por exemplo, 54
DATE_TIME Uma sequência de data de 24 horas neste formato “AAAA-MM-DD hh:mm:ss”; por exemplo, “2012-10-20 15:23:04
SHORT_STRING, MULTILINE_STRING, ID, STATE, RECORDTYPE, DBID, REFERENCE e qualquer outro tipo não especificado Um valor de sequência entre aspas duplas; por exemplo: "um texto". As sequências entre aspas duplas que estão integradas no valor do campo original são tratadas corretamente para produzir um valor de sequência sintaticamente correto.
REFERENCE_LIST Uma referência para uma matriz de valores colocados entre aspas duplas; por exemplo, ["value 1", "value 2" ]

Feedback