Saltar al contenido

Sustitución Dinámica

La sustitución dinámica es un tipo de sintaxis que se puede utilizar en {{nm.ab}} sustituir dinámicamente el resultado de una expresión en la capa de lógica empresarial o en la capa de interfaz de usuario de la aplicación. En la capa de lógica empresarial, se utiliza para sustituir datos dinámicamente y, en la capa de interfaz de usuario de la aplicación, se utiliza para sustituir dinámicamente el valor resultante que se muestra. La sustitución dinámica también se puede utilizar en notificaciones, donde se desea sustituir la información que se muestra, por ejemplo {{NombreCliente}}.

Al utilizar la sustitución dinámica en la capa de interfaz de usuario de la aplicación, debe asignar la página a un objeto comercial para utilizar la sustitución dinámica. Esta información se configura en el nivel de página, por lo que todos los campos necesarios para la sustitución deberán estar disponibles en el objeto comercial de página.

Los beneficios de utilizar la sustitución dinámica en la lógica empresarial son que le permite simplificar la cantidad de información contenida en una expresión y hace que las expresiones sean más legibles para los humanos.

Sintaxis de Sustitución Dinámica

La sintaxis que se debe utilizar para la sustitución dinámica es la siguiente:

`{{AliasName}}`

Aquí, las llaves {{ }} (o llaves en los EE. UU.) rodean el valor de alias que se va a utilizar para la sustitución dinámica. Se recomienda que el valor real contenido entre llaves sea un valor de alias en lugar de un valor de nombre de columna o expresión, ya que con el tiempo un valor de alias generalmente se considera más estático que un valor de nombre de columna o expresión.

Ejemplo de Lógica Empresarial

La sustitución dinámica es muy útil en las cláusulas Where y también para simplificar los cálculos en la capa de lógica empresarial. Aquí veremos ejemplos específicos en los que podemos aprovechar la sustitución dinámica.

Para este ejemplo, utilizaremos la base de datos Northwinds como fuente y supongamos que estamos viendo una página de pedidos que contiene información sobre pedidos realizados a través de una aplicación de cumplimiento de pedidos. Primero, veremos cómo podemos usar la sustitución dinámica en una regla de lógica empresarial para restringir la información de pedidos que se muestra solo a los pedidos realizados en los últimos 3 años:

  • Vaya a la página de pedidos de la aplicación, vaya a Action Drawer > Live Designer
  • Profundice en el ícono del engranaje SQL para el Panel de pedidos
  • Copia el objeto comercial Orden (origen) y cámbiale el nombre. Por ejemplo: Órdenes (últimos años)
  • Para la nueva regla, en la pestaña Columnas, cree una nueva Expresión que calcule la cantidad de años desde que se realizó un pedido utilizando DATEDIFF y proporcione un valor de alias para esta expresión. Este alias es el que se utilizará para la sustitución dinámica. Por ejemplo: DateDiff
  • Establezca la opción de conversión adecuada para el tipo de datos lógicos de la expresión. Aquí la configuramos en Número.
  • Validar para comprobar que los resultados son los esperados

A continuación, utilizaremos la sustitución dinámica en la cláusula Where de nuestro objeto de negocio, para restringir los resultados que queremos que se devuelvan.

  • Vaya a la pantalla de lógica empresarial donde está configurando la regla anterior
  • Haga clic para seleccionar la pestaña Dónde
  • Haga clic en + Cláusula Where y agregue la sintaxis de sustitución dinámica, utilizando nuestro valor de alias de la expresión que acaba de crear y proporcione información sobre cómo desea restringir los resultados. Por ejemplo:
    • Izquierda = {{DateDiff}}
    • Operador = <=
    • Derecha = 3
  • Validar y verificar que los registros devueltos sean solo los pedidos realizados en los últimos 3 años

Por último, con este ejemplo, veremos cómo podemos simplificar un cálculo utilizando la sustitución dinámica. Continuando con el trabajo con el objeto comercial creado para el ejemplo que tenemos, lo modificaremos para incluir una expresión adicional que utiliza la sustitución dinámica para unir la cantidad de años desde que se realizó un pedido con la palabra "años".

  • Haga clic en el botón {{nm.ab}} Botón Atrás para volver a la pantalla de Lógica de Negocios donde está configurando la Regla
  • Haga clic para seleccionar la pestaña Columnas
  • Haga clic en + Columna y agregue una expresión que convierta el valor de sustitución dinámica y lo una con la palabra "años":
    • Por ejemplo: CAST({{DifFecha}} as string) || 'years'
  • Proporcione un valor de alias para esta expresión. Por ejemplo: Años
  • Validar resultados

Ejemplo de URL

Si desea sustituir dinámicamente una URL en un objeto de datos, puede utilizar una sintaxis como la del siguiente ejemplo:

'www.webpage.com/path/path/' || {{Sustitución dinámica}}

Ejemplo de Expresión Compleja

Si está trabajando con sustitución dinámica en una expresión más compleja, tenga cuidado con la sintaxis. Puede haber casos en los que necesite agregar un conjunto adicional de paréntesis para que la sintaxis funcione correctamente (o como espera).

Por ejemplo, si usara la siguiente expresión {{nm.ab}} devolverá un error de división por cero:

IIF({{Suma}} = 0, 0,({{ConteoCompletado}}/{{Suma}})*100)

Esto se debe a que el proceso y el orden en que se evalúa la expresión requieren un conjunto adicional de paréntesis para generar los resultados deseados. Aquí se muestra la versión de sintaxis corregida:

IIF(({{Suma}}) = 0, 0,((CAST({{ConteoCompletado}} AS DECIMAL(15,5)))/(CAST({{Suma}} AS DECIMAL(15,5))))*100)

Ejemplo de Nombre de Página o Panel

Las sustituciones dinámicas también se pueden utilizar para los nombres de páginas o paneles. En este ejemplo, utilizaremos la sustitución dinámica para un nombre de panel para el panel Formulario de página de empleados. Aquí, sustituiremos dinámicamente el nombre completo del empleado como el nombre del panel para el formulario de empleados.

  1. Navegue hasta la página de su aplicación donde desea sustituir el nombre del panel. Por ejemplo: Empleado
  2. Haga clic en el menú Action Drawer y seleccione Live Designer
  3. Seleccione el Objeto comercial que contiene el valor de la columna que utilizará para Fuente en Opciones de página
  4. Haga clic en la pestaña Opciones de etiqueta del panel cuyo nombre desea modificar. Por ejemplo: Empleado
  5. Modifique el campo Etiqueta para que contenga el valor de la columna que está utilizando, utilizando la sintaxis adecuada para la sustitución dinámica.

    • Por ejemplo: {{NombreCompleto}}
  6. Haga clic en Guardar

  7. Vuelva a la página en la aplicación, actualice su navegador web y pruebe

{{nm.ab}} validaciones

Si desea utilizar sustituciones dinámicas con {{nm.ab}} mensajes de validación: deberá colocar el valor de sustitución dinámica en el mensaje de validación y también en el objeto comercial del panel.

Ejemplo de mensaje de validación: no se puede exceder {{Descuento Máximo}}

Limitaciones

Las siguientes son limitaciones conocidas al trabajar con sustituciones dinámicas:

  • Actualmente no se admiten nombres de columnas en un gráfico
  • El formato de moneda extranjera actualmente no permite la sustitución dinámica. La solución alternativa es formatear el objeto de datos y convertirlo en cadena, lo que hace que la función total funcione.