Puede incluir códigos de valores de campo actuales y anteriores en el propio código de expresión. Asegúrese de que los valores de campo no contengan comillas simples ni dobles. Si un valor de campo contiene un número impar de comillas simples o dobles, el valor puede generar un error de expresión y, a continuación, la plantilla EmailPlusTemplate no se validará correctamente. Se trata de una limitación conocida del paquete EmailPlus.
Un enfoque mejor consiste en utilizar las funciones de EmailPlus para evaluar los valores de campo. Si compara valores de campo, utilice el script Perl quotemeta() para saltar los caracteres no alfanuméricos para asegurarse de que la expresión se evalúa correctamente. Por ejemplo, la siguiente expresión se evaluará correctamente si el valor de campo no contiene comillas simples o dobles:
#@expression::if (#?Description?# ne #%Description%#) { “Description field has changed\n”.#%Description%#; }@#
#@expression::if (quotemeta(Gfv(“Description”)) ne quotemeta(Gfov(“Description”))) { “Description field has changed\n”.Gfov(“Description”); }@#
Como otro ejemplo, supongamos que desea visualizar la fecha de envío de un registro de defecto, pero no desea utilizar el formato de fecha predeterminado. En su lugar, desea mostrar la fecha en un formato diferente. Éste es un sencillo ejemplo de expresión que utiliza un meta código:
#@expression::use Date::Format;use Date::Parse; ctime( str2time( #?SubmitDate?# ));@#
Esto se amplía al ejemplo siguiente. Es una expresión sintácticamente válida. Devuelve un objeto de fecha.
#@expression::use Date::Format;use Date::Parse; ctime( str2time( “2010-07-12 10:45:18” ));@#
Cuando la expresión se evalúa, devuelve la información siguiente, que se sustituye en el mensaje de salida:
Mon Jul 12 10:45:18 2010
La tabla siguiente contiene los tipos de datos que se devuelven cuando un valor de campo antiguo o de campo actual se amplía en un meta código.
Tipo de campo | Expresión devuelta |
---|---|
INT | Un entero, por ejemplo 54 |
DATE_TIME | Serie de fecha de 24 horas en este formato “AAAA-MM-DD hh:mm:ss”, por ejemplo “2012-10-20 15:23:04” |
SHORT_STRING, MULTILINE_STRING, ID, STATE, RECORDTYPE, DBID, REFERENCE y cualquier otro tipo no especificado | Un valor de serie entre comillas dobles, por ejemplo: "texto". Las series entre comillas dobles que se incorporan en el valor de campo original se gestionan correctamente para proporcionar un valor de serie sintácticamente correcto. |
REFERENCE_LIST | Una referencia a una matriz de valores entre comillas dobles, por ejemplo ["valor 1", "valor 2"] |