Los parámetros son variables utilizadas en los datasources y eventos para obtener información específica de elementos dentro del formulario.

Estos parámetros se encuentran ubicados en la parte superior durante la creación o edición de un datasource o evento. Se presentan como un conjunto de botones, los cuales al ser presionados, insertan en la línea de código de la pestaña un @nombre_parametro. Al momento de ejecutar el datasource o evento, este valor será reemplazado por el dato requerido, lo que permite una mayor flexibilidad y adaptabilidad en la obtención de información dentro del formulario.



Explicación de parámetros

@cuestionarioId

  • Descripción: Identificador del formulario.
  • Uso: @cuestionarioId

@respuesta(X)

  • Descripción: Respuesta de un campo de la instancia del formulario.
  • Uso: @respuesta(X), donde X es el ID del campo. Ejemplo: @respuesta(12)

@businessKey.

  • Descripción: Valores enviados a la instancia de Pragmatic Runtime desde la página web que utiliza los formularios.
  • Uso: Se accede mediante @businessKey. Ejemplo: @businessKey.id

@parameter.

  • Descripción: Parámetro de entrada recibido si el datasource es ejecutado desde otro datasource o evento utilizando el parámetro @ejecutarDS.
  • Uso: @parameter. Ejemplo: @parameter(12)

@cuestionario.cabezal.

  • Descripción: Acceder a un valor del cabezal del formulario.
  • Ejemplo: @cuestionario.cabezal.fechaInicio

@cuestionario.datosIniciales.

  • Descripción: Acceder a un valor de los datos iniciales agregados al formulario.
  • Ejemplo: @cuestionario.datosIniciales.fechaInicio

@seguridad.

  • Descripción: Acceder a un valor de las variables de seguridad.
  • Ejemplo: @seguridad.token

@variablesAmbiente.

  • Descripción: Acceder a un valor de las variables de ambiente.
  • Ejemplo: @variablesAmbiente.endpoint

@accionCustom

  • Descripción: Acceder a la clave de la acción custom presionada que hizo ejecutar dicho evento.

@instanciaCuestionarioId

  • Descripción: Obtener el ID de la instancia del formulario.

@respuestas

  • Descripción: Acceder al arreglo de objetos con las respuestas de la instancia del formulario.

@preguntas

  • Descripción: Acceder al arreglo de objetos con los campos que tiene definida la instancia del formulario.

@respuestaArray(X, value)

  • Descripción: Valida si el campo X contiene el valor value, retornando un booleano.
  • Uso: @respuestaArray(X, value), donde:
    • X es el ID del campo.
    • value es el valor de la respuesta.

Ejemplo:

Supongamos que tenemos un campo de nombre ‘Edad’ con ID 2 que tiene como respuesta el valor 30.

Si se ejecuta el parametro de la siguiente forma:

const tieneEdad30 = @respuestaArray(2, 30) // El resultado será true
const tieneEdad25 = @respuestaArray(2, 25) // El resultado será false



@respuestaGrilla(X, column, condition, value)

  • Descripción: Devuelve la respuesta de un campo de grilla de la instancia del formulario.
  • Uso: @respuestaGrilla(X, column, condition, value), donde:
    • X: es el ID del campo grilla.
    • column: es el identificador de la columna.
    • condition: es el valor de la condición para obtener la respuesta. Con este se busca la fila de la cual se quiere obtener la respuesta.
    • value: es el identificador de la columna cuyo valor se quiere obtener si se cumple la condición.

Ejemplo:

Supongamos que tenemos una grilla de dos columnas:

NombreEdad
Juan30
María25

En el que se ejecuta lo siguiente:

const edadMaria = @respuestaGrilla(1, 'Nombre', 'María', 'Edad')

El resultado será 25. Esto se debe a que busca la fila donde la columna Nombre es igual a 'María', y se quiere devolver el valor de la columna Edad de esa fila.

@ejecutarOpcion(‘X’)

  • Descripción: Devuelve los valores de opciones de una opción definida en la plataforma.
  • Uso: @ejecutarOpcion('X'), donde ‘X’ es el nombre del conjunto de opciones.

@accion

  • Descripción: Devuelve el nombre de la acción enviada al momento de ejecutar un evento o un datasource.

@respuestaValor

  • Descripción: Se define solo cuando se ejecuta sobre un evento a nivel de campo. Devuelve el valor de respuesta del campo seleccionado.

@respuestaId

  • Descripción: Se define solo cuando se ejecuta sobre un evento a nivel de campo. Devuelve el ID de la respuesta del campo seleccionado.



Ejemplo de uso

Evento de envío de datos a servidor

El siguiente código JavaScript realiza una solicitud PUT a un endpoint utilizando la instancia de Axios proporcionada por la herramienta.

const instanciaCuestionarioId = @instanciaCuestionarioId;
const endpoint = `${@variablesAmbiente.endpoint}/enviarRespuesta/${instanciaCuestionarioId}`;

const queryParams = { username: @seguridad.userId };
const headers = { Authorization: `Bearer ${@seguridad.token}` };

const body = {"preguntas": @preguntas(), "respuestas": @respuestas()}

return axios
  .post(endpoint, body, { params: queryParams, headers: headers })
  .then((response) => {
    console.log("Datos enviados exitosamente");
  })
  .catch((error) => {
    console.log("Error en el envío de datos", error);
  });

El código JavaScript realiza lo siguiente:

  1. Obtención del instanciaCuestionarioId: Se extrae el identificador de la instancia del formulario.

  2. Construcción del endpoint: Se crea la URL del endpoint al que se enviarán los datos.

  3. Preparación de los parámetros de consulta y los encabezados: Se definen los parámetros de consulta (queryParams) y los encabezados (headers) que se adjuntarán a la solicitud. En este caso, el parámetro de consulta consiste en un objeto con una clave username y el valor es el userId obtenido de @seguridad. Los encabezados contienen información de autorización, con un token de autenticación obtenido de @seguridad.

  4. Construcción del cuerpo de la solicitud: Se crea el cuerpo de la solicitud (body), que crea un objeto JSON con las claves "preguntas" y "respuestas". Estos valores se obtienen de los parámetros @preguntas() y @respuestas() respectivamente.

  5. Ejecución de la solicitud con Axios: Se utiliza la instancia de la biblioteca Axios disponible en la funcionalidad para realizar la solicitud. Se envían el endpoint, el cuerpo de la solicitud, los parámetros de consulta y los encabezados como parte de la configuración de la solicitud.

  6. Manejo de éxito y errores: Se manejan tanto el éxito como los errores de la solicitud.

Los parámetros empleados en el ejemplo son:

  • @instanciaCuestionarioId: Identificador de la instancia del formulario.
  • @variablesAmbiente.endpoint: URL base del endpoint.
  • @seguridad.userId: ID de usuario para autenticación.
  • @seguridad.token: Token de autenticación.
  • @preguntas(): Parámetro que devuelve los campos definidos.
  • @respuestas(): Parámetro que devuelve las respuestas de los campos.