Parámetros
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 puede ser el ID del campo o el nombre único del campo, esto si dicha propiedad está definida a nivel del campo que se desea utilizar.Ejemplo con ID:
@respuesta(12)
Ejemplo con nombre único:
@respuesta("banco-nombreCompleto")
@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:
Nombre | Edad |
---|---|
Juan | 30 |
María | 25 |
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.
@limit
- Descripción: Parámetro utilizado para especificar el número máximo de registros a devolver en un datasource con paginación. Este parámetro es especialmente útil en campos de tipo Prompt y Listado que soportan paginación.
@offset
- Descripción: Parámetro utilizado para especificar el número de registros a omitir antes de comenzar a devolver resultados en un datasource con paginación. Este parámetro es especialmente útil en campos de tipo Prompt y Listado que soportan paginación.
Para ver ejemplos detallados de cómo implementar la paginación en diferentes tipos de datasources, consulta la documentación de paginación.
Ejemplos 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:
Obtención del
instanciaCuestionarioId
: Se extrae el identificador de la instancia del formulario.Construcción del endpoint: Se crea la URL del endpoint al que se enviarán los datos.
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 claveusername
y el valor es eluserId
obtenido de@seguridad
. Los encabezados contienen información de autorización, con un token de autenticación obtenido de@seguridad
.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.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.
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.