Construcción de mensajes de aplicación
Se puede construir un mensaje para que los valores de varios parámetros se puedan recoger y utilizar dinámicamente cuando se invoque el mensaje. Esto se hace usando los parámetros de sustitución que se evalúan cuando se invoca el mensaje y los valores del tiempo de ejecución se sustituyen por los parámetros.
Estos parámetros de sustitución se indican en un mensaje mediante el uso de un signo et (&) seguido de un número o letra, por ejemplo &5 y & C.
Estos son posibles orígenes de los valores para los parámetros de sustitución:
- Títulos de fila
- Títulos de columna o propiedad
- Títulos de columna o propiedad (literal o variable)
- Títulos de valor de columna o propiedad (esto es, el titulo traducible que aparece en la lista desplegable de uno o más componentes de un cuadro combinado en un formulario)
Cuando cree un mensaje con parámetros de sustitución, asegúrese de que el código que invoca al mensaje contiene el número de valores correcto para las sustituciones.
Para invocar el mensaje en tiempo de ejecución, inserte una expresión en el código en el punto en el que desee llamar al mensaje. Esta expresión debe utilizar la función de parámetro MESSAGE.
Por ejemplo, el mensaje E=NoExistForIs5 tiene el valor en inglés: "No Existe &1 donde &2 es &3 para &4 que tenga [&5: &6] y [&7: &8] y [&9: & A] y [& B: & C] y [& D: & E]."
Este mensaje requiere estos parámetros:
- &1 Título de fila
- &2 Título de columna o propiedad
- &3 Valor de columna o propiedad (literal o variable)
- &4 Título de fila
- &5 Título de columna o propiedad
- &6 Valor de columna o propiedad
- &7 Título de columna o propiedad
- &8 Valor de columna o propiedad
- &9 Título de columna o propiedad
- &A Valor de columna o propiedad
- &B Título de columna o propiedad
- &C Valor de columna o propiedad
- &D Título de columna o propiedad
- &E Valor de columna o propiedad
Un ejemplo de una llamada para este mensaje tiene el siguiente aspecto:
MESSAGE("E=NoExistforIs5", "@serial", "@serial.ser_num", V(SerNum)
, "@item"
, "@serial.whse", V(Whse)
, "@serial.item", V(Item)
, "@serial.loc", V(Loc)
, "@serial.lot", V(Lot)
, "@rsvd_inv.import_doc_id", V(ImportDocId)
)
En el momento de ejecución de la acción, este ejemplo puede evaluar esta cadena:
No existe número de serie donde S/N sea S/N1234 para el artículo que tiene [Almacén: PRINCIPAL] y [Artículo: BK-27000-0007] y [Ubicación: STOCK] y [Lote: LOT00012345] e [ID de documento de importación: DocId000123456].