🖥️ Dato: Variable UDT — Configuración
Objetivo Principal: Permite al usuario construir una estructura de datos tipada (UDT) mapeando variables globales de proceso a cada campo, definiendo el asset, tipo UDT y alias local antes de guardar. Este mismo formulario de mapeo es el que aparece en el modo «UDT» de Escribir variable, donde en vez de leer la estructura se reparte la escritura entre las variables reales del activo.
📸 Mapeo de Interfaz

🧩 Despiece de Elementos Funcionales
| # | Nombre del Elemento | Tipo | Destino / Acción | Descripción Funcional |
|---|---|---|---|---|
| 1 | Bloque "Mapeo global → UDT" | Bloque informativo | — | Describe el propósito del nodo: configurar el asset, el tipo UDT y cómo cada campo se alimenta desde variables globales. |
| 2 | Sección "A. Contexto del binding" | Formulario (3 campos) | Define el contexto base del mapeo | Agrupa tres campos en línea: Asset ID (selector del activo concreto del que se obtendrán los datos), Tipo UDT (selector del tipo que define la estructura esperada) y Alias local (nombre local para acceder al UDT en runtime, ej: aula). |
| 3 | Sección "B. Campos detectados" | Bloque de referencia (read-only) | Muestra los campos de la estructura UDT seleccionada | Referencia rápida de los campos de la estructura objetivo. Se activa al seleccionar un Tipo UDT. Muestra el texto «Selecciona un tipo UDT para ver sus campos.» mientras no hay tipo seleccionado. |
| 4 | Sección "C. Mapeo global → UDT" | Área de mapeo + 2 botones | Vincula cada campo UDT a su variable global de origen | Permite asignar manualmente cada campo del UDT a una variable global. Auto-map intenta resolver la asignación automáticamente y, cuando no puede, escribe bajo el campo el motivo: que el activo no tiene una variable equivalente, que hay varias candidatas igual de buenas, o que ninguna se parece lo suficiente. Limpiar mapeo vacía las asignaciones de todos los campos sin tocar el Asset ID, el Tipo UDT ni el Alias local. Cada campo muestra su estado (Correcto, Incompleto, Inválido o Ignorado) y un botón Ignorar / Dejar de ignorar para excluirlo de este nodo. Al pie aparece el contador 0 correctos · 0 pendientes · 0 inválidos, al que se suma · N ignorados cuando hay campos excluidos. |
| 5 | Sección "D. Resumen final" | Bloque de validación (read-only) | Muestra el estado del nodo antes de guardar | Vista previa del resultado del mapeo. Indica campos pendientes o inválidos. Muestra aviso en naranja: "Completa los campos pendientes para habilitar un guardado confiable." cuando la configuración está incompleta. |
| 6 | Botón "Cancelar" | Botón secundario | Cierra el panel sin guardar cambios | Descarta cualquier modificación realizada y devuelve al estado anterior. |
| 7 | Botón "Guardar" | CTA Principal | Persiste la configuración del nodo | Guarda el mapeo configurado y cierra el panel. Se habilita completamente cuando todos los campos requeridos están correctamente definidos. Editar y guardar automatizaciones exige rol de administrador de empresa. Con el perfil Mantenimiento el editor se abre en modo solo lectura —lo advierte la franja «Modo solo lectura — los cambios requieren rol de administrador de empresa»—, así que este panel no llega a poder modificarse; el perfil Usuario no accede al módulo. El servidor repite la comprobación y rechaza con «Acceso denegado» cualquier guardado que llegue por otra vía. |
💡 Guía de Uso
- Añade el nodo Variable UDT desde la biblioteca de nodos, grupo Globals (disponible solo en workflows de tipo orquestador), y abre su configuración haciendo doble clic sobre él en el lienzo, o con el botón derecho y la opción Configurar.
- En la sección A. Contexto del binding, selecciona el Asset ID del activo, el Tipo UDT que define la estructura esperada y define el Alias local con el que accederás al UDT en runtime.
- En la sección B. Campos detectados, revisa los campos que componen la estructura UDT seleccionada.
- En la sección C. Mapeo global → UDT, vincula cada campo del UDT a su variable global de origen. Usa Auto-map para intentar el mapeo automático y Limpiar mapeo si quieres empezar de cero. Los campos que no apliquen a este nodo puedes marcarlos con Ignorar en lugar de dejarlos pendientes.
- Verifica en la sección D. Resumen final que todos los campos están correctos antes de guardar. El aviso naranja indica campos pendientes que deben resolverse.
- Pulsa Guardar para confirmar, o Cancelar para descartar.
- Conecta la salida de datos del lado derecho del nodo al nodo que vaya a consumir la estructura.