Skip to content

Botones de Automatización (automation_buttons)

Los Botones de Automatización son controles interactivos que los administradores pueden añadir a la barra de herramientas de cualquier vista. Permiten a los usuarios desencadenar automatizaciones activas o abrir formularios modales estructurados para procesar datos masivos.


Cada botón se registra en el sistema especificando cómo debe renderizarse y qué acción o interfaz debe disparar:

PropiedadTipoDescripción
Nombre del Botón (name_button)TextoEtiqueta visible del botón en la barra de herramientas.
Automatización (automation)EnteroID de la automatización asociada que se va a ejecutar.
Vista (view)UUIDIdentificador único de la vista donde debe aparecer el botón.
Formulario del Widget (widget_view)Entero / IDDefine qué tipo de interfaz o diálogo se abre al hacer clic (ej. 0 para entradas/salidas, 1 para creación por lote, 2 para formulario de creación destino).
Ícono (icon)TextoIdentificador del ícono que se mostrará al lado del texto.

Los botones admiten personalización visual mediante íconos procedentes de los catálogos del sistema.

  1. Formato por Catálogo (Recomendado): catalogo:codepoint
    • Ejemplo: material_icons:57744 (Dibuja un check circular)
    • Ejemplo: material_symbols_rounded:61701 (Dibuja un ícono de engranaje)
    • Catálogos Disponibles: material_icons, material_symbols_outlined, material_symbols_rounded, material_symbols_sharp.
  2. Formato Numérico Legado: El código decimal o hexadecimal directamente (se asume el catálogo material_icons).
    • Ejemplo: 57744 o 0xE191.
  3. Vacío o Nulo: Si no se define, se muestra el ícono por defecto asignado a ese tipo de botón en el sistema.
  • Botones Primarios: El ícono configurado solo se renderizará si el botón está definido como botón primario (primary_button) en la configuración dinámica de la vista:
    {
    "automation_buttons_config": {
    "primary_button": "automation(ID_DE_TU_BOTON)"
    }
    }
  • Menú Desplegable (Secundarios): Si la vista tiene múltiples botones, aquellos que queden en el menú desplegable secundario no mostrarán íconos para mantener una visual limpia.

Tipos de Formularios Modales (widget_view)

Section titled “Tipos de Formularios Modales (widget_view)”

Al pulsar un botón, la aplicación interpreta el valor numérico en widget_view para abrir un cuadro de diálogo específico:

Abre un asistente optimizado para registrar lotes de movimientos en los que el usuario selecciona si todos los registros ingresados corresponden a entradas o a salidas físicas. Diseñado para trabajar con inventory_sync.

2. Relación Batch Create (widget_view = 1)

Section titled “2. Relación Batch Create (widget_view = 1)”

Este widget se utiliza para asociar masivamente registros a través de relaciones ObjectList.

  • Flujo Lógico:
    1. El usuario hace clic en el botón.
    2. Se abre un diálogo mostrando los registros elegibles de una tabla de selección. Un registro es elegible si no tiene un vínculo activo en la tabla destino.
    3. El usuario marca una o varias filas y presiona “Crear”.
    4. Por cada fila marcada, el sistema consulta las relaciones secundarias del ObjectList y genera de manera masiva los registros correspondientes en la tabla destino, enlazando las referencias de forma automática.
    5. Política de Duplicados: Si se configura "duplicate_policy": "abort_all", el sistema valida la existencia de duplicados antes de guardar y aborta toda la operación si encuentra algún conflicto.

3. Crear en Tabla Destino (widget_view = 2)

Section titled “3. Crear en Tabla Destino (widget_view = 2)”

Permite abrir de forma directa el formulario de creación estándar de otra tabla destino (target_table), lo cual simplifica la navegación en flujos de captura continuos.

  • Flujo:
    1. El usuario pulsa el botón en la vista origen.
    2. Se abre el formulario de creación de la tabla destino con todas sus validaciones de campos y visibilidades normales.
    3. Al guardar el registro destino con éxito, la vista origen se refresca automáticamente para reflejar los cambios relacionados.