Skip to main content

Veritran Docs

Datos en Studio

El uso y manipulación de datos en Studio se puede ampliar dependiendo del editor en el que estés construyendo. Cada editor implementa sus propios mecanismos para definir, acceder y transformar la información, ya sea a través de tokens, variables u otras formas de persistencia temporal.

Esta sección tiene como objetivo presentar las definiciones básicas para la gestión de datos en Studio, la segmentación de tokens y las principales características de la gestión de datos en los editores de Studio, identificando sus especificidades, limitaciones y métodos de interoperación. Esto ayuda a comprender el panorama actual y sentar las bases para establecer las mejores prácticas.

Importante

Esta sección se centra exclusivamente en el manejo de datos dentro de Studio y DevTools. No cubre otras consolas de la plataforma, como HCMS, BRMS, etc.

Fundamentos de datos

Un token es la unidad fundamental para gestionar e intercambiar datos. Su función principal es contener e intercambiar información entre las diferentes entidades de la app: procesos, pantallas, módulos, o integraciones externas. Aunque el sistema no define tipos de datos estrictos, los tokens permiten administrar una amplia variedad de contenido, como números, texto, estados booleanos, listas y más.

En Studio, los datos se administran utilizando dos tipos principales de tokens:

  • Registros: Estructura simple y sin tipo que almacena un solo valor.

  • Arrays: Estructura bidimensional (tabla). No se pueden identificar los nombres de columna.

Cada token se identifica por un número único dentro de un rango de 1 a 999,999. Este ID numérico está sujeto a una segmentación predefinida, que no solo organiza los tokens por rangos, sino que también determina comportamientos específicos (por ejemplo, persistencia). Lee Segmentación para obtener más información.

Importante

El mismo número puede representar dos tokens diferentes si corresponden a diferentes tipos (por ejemplo, el Registro 1 y el Array 1 son independientes entre sí).

Para facilitar el uso, hay una funcionalidad de alias, que te permite asignar un nombre alfanumérico a un token numérico. Esta asociación debe configurarse manualmente, y permite referenciar tokens por nombre en lugar de número en editores como el editor de procesos lambda o el editor de pantallas.

Se puede establecer una clasificación pseudofuncional en cuanto al uso que se le da a los tokens en la construcción, lo cual es clave a la hora de diseñar soluciones claras, reutilizables y acopladas de forma suelta:

  • Tokens informativos: Estos se utilizan para capturar, transportar y mostrar datos, como la entrada del usuario, los resultados del proceso o la información de servicios externos.

  • Tokens de comportamiento: Estos se utilizan para modificar el comportamiento de los componentes, por ejemplo, mostrar u ocultar una sección, desactivar un botón o cambiar el flujo de navegación en función de una condición. Algunos también controlan el flujo general de la aplicación.

Si bien Studio no impone un sistema de escritura, es posible aplicar formato a los valores cuando se muestran en una pantalla. Esto permite, por ejemplo, representar fechas o monedas con una apariencia específica.

Importante

Ten en cuenta que la aplicación del formato no implica la validación previa del contenido, por lo que su uso correcto es responsabilidad del desarrollador.

En cuanto a la representación interna, los valores numéricos en Studio siguen una convención de tipo N+XXX. Por ejemplo, el número 4,65 se representa como 2+465. En las siguientes secciones se detallará cómo los diversos editores de Studio amplían las capacidades básicas de manipulación de tokens.

Segmentación en Studio

Studio utiliza una convención numérica para identificar tokens en toda la plataforma. Esta numeración no solo cumple una función de identificación, sino que también determina el comportamiento y el alcance de cada token dentro de la aplicación.

La plataforma establece rangos específicos que definen aspectos clave como: Consulta la tabla a continuación para obtener información sobre los rangos de tokens dentro de la plataforma y su alcance dentro de la aplicación.

Alcance

Segmento

Rango

Descripción

Global

Reservado

1-499

Su uso está especificado por la Plataforma

Global

Uso libre

500-899

Se puede usar libremente

Global

Persistentes

900-999

Permite almacenar los valores asignados en el canal incluso cuando la aplicación está cerrada

Contexto

Uso libre

1000-799999

820000-999999

Los datos varían según la funcionalidad

Contexto

Imagen

800000-819999

Se utilizan para el almacenamiento de imágenes

Datos en Editores en Studio

En el Editor de pantallas, si bien no existe un sistema de tipeo estricto, algunos componentes, como Text Input, permiten configurar atributos que influyen en el tipo de datos que se capturarán y almacenarán en su token correspondiente.

Uno de los más relevantes es el atributo type. Este atributo define el tipo de datos que el usuario ingresará (por ejemplo, texto, número, correo electrónico), lo que afecta tanto el comportamiento del componente como la forma en que se valida y guarda la información. Si bien esta configuración no impone un tipo de datos internamente en Studio, cumple un propósito importante en la experiencia del usuario y la validación básica de entradas.

A continuación se muestra una tabla que muestra los tipos de valores disponibles y su comportamiento esperado.

Tipo

Descripción

calendario

fecha

Es un calendario para seleccionar una fecha. Este calendario te permite elegir una fecha visualmente, sin tener que escribir la fecha. El atributo Date Mask te permite definir el formato en el que se formatea el valor almacenado en el token.

dateRange

url

número

archivo

timePicker

Muestra una ventana que permite al usuario definir una hora. El atributo Format Time Picker te permite definir el formato de tiempo (12h o 24h). La fecha de 24h se guarda como hh:mm mientras que la de 12h se guarda como hh:mmAM o hh:mmPM.

rutChile

Valida que el contenido cumpla con el formato Rut Chileno

texto

Los campos de texto de una sola línea muestran solo una línea de texto. No son adecuados para recoger respuestas largas. Para eso, use un campo de texto de varias líneas o un área de texto en su lugar.

textMultiline

Permite funcionalidad multilínea. Los campos de texto multilínea muestran todas las entradas de usuario a la vez. El texto desbordado hace que el campo de texto se expanda (desplazando los elementos de pantalla hacia abajo) y el texto se envuelva en una nueva línea.

e-mail

máscara

Aunque los tokens en Studio son estructuras no tipadas, Lambda incorpora un modelo que asume ciertos tipos de datos, lo que permite un trabajo más preciso y controlado.

  • String: Representa cadenas de caracteres como nombres, descripciones o direcciones.

  • Número: Representa valores numéricos, tanto enteros como decimales. Cabe señalar que Lambda utiliza la notación decimal en Lambda. El bloque “register number” acepta notación decimal o notación Veritran (VT). En este último caso el valor se convierte automáticamente a notación decimal.

  • Booleano: Representa un valor de verdadero o falso.

  • Listas: Representa una colección ordenada de elementos del mismo tipo. Cabe señalar que array es un caso particular de lista, estructurado como una lista de listas.

  • Objects (JSON): Actualmente el único objeto implementado es JSON. Representa una estructura de datos compuesta por pares clave-valor.

La interfaz de módulos te permite definir la lista de datos que se reciben como entrada y se devuelven como salida cuando se invoca dicho módulo.

En las entradas es posible especificar el tipo de datos esperados. Esta configuración define el tipo de datos y también documenta claramente lo que espera recibir, mejorando la mantenibilidad y comprensión de la solución.

Los tipos permitidos y sus implicaciones se enumeran a continuación.

Tipo

Descripción

texto

número

color

Cuando un componente configurable que utiliza este tipo de datos se configura en una pantalla, el panel derecho del editor permitirá seleccionar un color (selector de color). El valor se almacenará en el token asociado, en formato hexadecimal (por ejemplo, #FF5733).

imagen

Cuando el módulo está configurado en una pantalla, el panel derecho del editor permitirá la exploración y selección de imágenes (explorador de imágenes).

área de texto

boolean

La entrada representa una condición verdadera o falsa. Se puede introducir directamente como verdadero o falso, o mediante el uso de una expresión booleana que da como resultado uno de estos valores. Si el parámetro se deja vacío o se establece con una expresión incorrecta, se interpretará como falso.

array

Para este tipo de entrada, se debe configurar un token de tipo array en la entidad que invoca el módulo.

En el caso de las salidas, la interfaz solo permite definir tokens del tipo de registro, sin posibilidad de especificar un tipo de datos.

La definición técnica de una interfaz, incluyendo cómo se configuran las entradas, salidas y condiciones de invocación, se detalla en la documentación de Docs aquí.