Cómo trabajar con expresiones de campos incorporados en meta códigos

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%#; }@#
Sin embargo, si no está seguro de si el valor de campo contendrá comillas simples o dobles, el ejemplo siguiente contiene expresión más adecuada:
#@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.

Tabla 1. Tipos de datos de EmailPlus que se devuelven en meta códigos
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"]

Comentarios