# 🥐 MAPA INTEGRAL DE LA APLICACIÓN — AGRIGEST / RAÚL ASENCIO PASTELERÍAS

> **Documento Maestro Canónico de Arquitectura, Navegación y Procesos**  
> **Sistema**: ERP Industrial y Comercial para Obradores de Pastelería, Confitería y Panettones  
> **Versión**: 2026.1 | **Última Actualización**: 2026-09-26  
> **Stack Base**: Delphi 11 Alexandria VCL &bull; MariaDB 10.x+ / MySQL 8.x (InnoDB utf8mb4) &bull; FireDAC &bull; Indy SSL &bull; FastReport &bull; Google Gemini IA  
> **Módulos Totales**: 198 unidades (`src/`) &bull; **Formularios UI**: 168 &bull; **Servicios Logic**: 16 &bull; **DataModules**: 3 &bull; **Common**: 11 &bull; **Tablas BD**: 113 (en código) / 126 (en DDL)

---

## 📑 Tabla de Contenidos
1. [Visión General y Propósito del Sistema](#1-visión-general-y-propósito-del-sistema)
2. [Mapa de Navegación Visual (Menú Ribbon & Pestañas de frm_Main)](#2-mapa-de-navegación-visual-menú-ribbon--pestañas-de-frm_main)
3. [Ciclos de Vida de Negocio y Diagramas de Proceso (Mermaid)](#3-ciclos-de-vida-de-negocio-y-diagramas-de-proceso)
   - 3.1. Ciclo Comercial de Ventas y Facturación Oficial
   - 3.2. Ciclo de Aprovisionamiento, Compras y Proveedores
   - 3.3. Ciclo de Fabricación Industrial en Obradores (Panettones Fases 1-6)
   - 3.4. Ciclo de Logística, Expediciones y Envíos Multi-Transportista
   - 3.5. Ciclo de Calidad e Inocuidad Alimentaria (IFS Food v8)
4. [Arquitectura Técnica de Capas de Software](#4-arquitectura-técnica-de-capas-de-software)
   - 4.1. Capa UI (`src/UI` — 168 unidades) y Directivas de Interfaz
   - 4.2. Capa Logic (`src/Logic` — 16 unidades) y Motores de Negocio
   - 4.3. Capa Common (`src/Common` — 11 unidades) y Utilidades Transversales
   - 4.4. Capa Data (`src/Data` — 3 unidades) y Acceso FireDAC
5. [Mapa del Modelo de Datos (113 Tablas en MariaDB / 126 en DDL)](#5-mapa-del-modelo-de-datos-113-tablas-en-mariadb--126-en-ddl)
6. [Catálogo Maestro de Módulos y Formularios (198 Unidades)](#6-catálogo-maestro-de-módulos-y-formularios)
7. [Puntos de Integración Externa y Comunicaciones Telemáticas](#7-puntos-de-integración-externa-y-comunicaciones-telemáticas)

---

## 1. Visión General y Propósito del Sistema

El ERP **AGRIGEST / Raúl Asencio** es una plataforma integral desarrollada para gestionar de forma unificada la producción artesanal e industrial de confitería y panettones de alta gama, con control de sedes en Aspe y Novelda, y distribución tanto nacional como para grandes superficies (El Corte Inglés) y comercio electrónico.

### Pilares Funcionales y de Negocio:
1. **Multiempresa y Multisede**: Gestión simultánea de empresas fiscales vinculadas (ej. *Raúl Asencio Coop.*, *Alharrua*) y centros productivos independientes (Obrador de Panettones, Obrador de Confitería, Almacén Central de Expediciones). Los traspasos de mercaderías entre sedes se auditan formalmente.
2. **Trazabilidad Lote a Lote Obligatoria**: Generación automática de identificadores de lote con el estándar `[ID_Producto] + [AAAAMMDD]`, registro del tiempo de elaboración por lote, mermas de masa y etiquetado físico mediante códigos **GS1-128 / QR**.
3. **Calidad e Inocuidad IFS Food v8**: Digitalización de auditorías internas, registros diarios (RG) de temperaturas de cámaras, PCCs (Puntos Críticos de Control), gestión de no conformidades (CAPA) y matriz de trazabilidad bidireccional inmediata.
4. **Logística Integrada y Envíos Multi-Transportista**: Comunicación API telemática directa con agencias de transporte (TIPSA, NACEX), pesaje y cubicaje automático por bulto, generación de etiquetas térmicas ZPL/PDF y captura de firma digital del conductor en pantalla táctil/tablet.
5. **Cumplimiento Legal VERI*FACTU y Facturación Electrónica**: Adaptación plena a la Ley 11/2021 de medidas de prevención y lucha contra el fraude fiscal: encadenamiento criptográfico con huella SHA-256 de facturas ordinarias y rectificativas, registro inmutable de eventos de auditoría (`ge_sif_event_log`) y conectividad telemática EDIFACT (`INVOIC` y avisos de expedición `DESADV`) para grandes superficies a través de EDICOM.
6. **Inteligencia Artificial Integrada**: Asistente virtual especializado (`frmChatIA` / `uIAService`) conectado con Google Gemini para consulta de fichas técnicas, cálculo de mermas, soporte de recetas y predicción de demanda de campaña.

---

## 2. Mapa de Navegación Visual (Menú Ribbon & Pestañas de frm_Main)

La ventana principal de la aplicación (`TfrmMain` en [src/UI/frm_Main.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/UI/frm_Main.pas)) adopta un diseño de cinta Ribbon superior (`pnlTop` / `PageControl1`) con un espacio de trabajo central multi-pestaña (`pcWorkspace`). Al hacer clic en una opción, el formulario se instancia y se incrusta en una pestaña con botón de cierre dinámico (`OpenFormInTab`).

```
┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ frm_Main — Cinta Ribbon Superior (pnlTop / PageControl1)                                                               │
├──────────────┬───────────────┬───────────────────────────────┬────────────────┬────────────────┬───────────┬───────────┤
│ ✨ Inicio    │ 🏢 Empresa    │ 🛒 Comercial                  │ 🥐 Producción  │ 🛡️ Calidad IFS │ 🚚 Logíst.│ 🔧 Utilid.│
│ (AsistenteIA)│ (Usuarios,Emp)│ (Ventas: Verde / Compra: Azul)│ (Recetas,Lotes)│ (RG, PCC, NoC) │ (Envíos)  │ (Factusol)│
├──────────────┴───────────────┴───────────────────────────────┴────────────────┴────────────────┴───────────┴───────────┤
│ Área de Trabajo MDI / Tabbed Workspace (pcWorkspace)                                                                   │
│ [ Pestaña 1: Clientes ✖ ]  [ Pestaña 2: Pedidos de Venta ✖ ]  [ Pestaña 3: Trazabilidad de Lotes ✖ ]                   │
│                                                                                                                        │
│ ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │
│ │ Rejilla DBGrid principal con checkboxes automáticos (uDBGridHelper), búsqueda en tiempo real y ordenación por título│ │
│ └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ │
├────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ StatusBar1: [ Base de Datos: Conectada | Usuario: Admin | Empresa Activa: Raúl Asencio Pastelerías ]                   │
└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
```

### Detalle de Pestañas y Opciones de la Cinta Ribbon:

| Pestaña Ribbon | Botón / Control | Formulario Invocado | Archivo `.pas` | Modo Apertura | Finalidad Funcional |
| :--- | :--- | :--- | :--- | :---: | :--- |
| **✨ Inicio** | `btnChatIA` | `TfrmChatIA` | [frm_ChatIA.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/UI/frm_ChatIA.pas) | Tab | Asistente conversacional con IA para resolución de dudas operativas y escandallos. |
| **🏢 Empresa** | `btnUsuarios` | `TfrmUsuarios` | [frm_Usuarios.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/UI/frm_Usuarios.pas) | Tab | Fichas de usuarios, claves de acceso y asignación de permisos por empresa. |
| | `btnEmpresasRibbon` | `TfrmEmpresas` | [frm_Empresas.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/UI/frm_Empresas.pas) | Tab | Mantenimiento de empresas del grupo, datos fiscales, certificados y certificados EDI. |
| | `btnCambiarEmpresa` | `TfrmSelectCompany` | [frm_SelectCompany.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/UI/frm_SelectCompany.pas) | Modal | Selector de empresa activa de trabajo (resetea el workspace al conmutar). |
| | `btnSeries` | `TfrmSeries` | [frm_Series.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/UI/frm_Series.pas) | Tab | Series anuales de facturación, albaranes y rectificativas. |
| | `btnTiposIva` | `TfrmTiposIva` | [frm_TiposIva.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/UI/frm_TiposIva.pas) | Tab | Porcentajes de IVA vigentes (4%, 10%, 21%) y recargos de equivalencia. |
| | `btnConfigConexion` | `TfrmDbConfig` | [frm_DbConfig.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/UI/frm_DbConfig.pas) | Modal | Configuración de conexión MySQL/MariaDB (servidor, base de datos, usuario, puerto). |
| | `btnFormasPago` | `TfrmFormasPago` | [frm_FormasPago.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/UI/frm_FormasPago.pas) | Tab | Condiciones de pago y cobro (contado, transferencias, remesas bancarias). |
| | `btnCodigosBarrasCompleto` | `TfrmCodigosBarrasCompleto` | [frm_CodigosBarrasCompleto.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/UI/frm_CodigosBarrasCompleto.pas) | Tab | Mantenimiento de identificadores de aplicación GS1-128 (GTIN, lote, caducidad). |
| | `btnObradores` | `TfrmObradores` | [frm_Obradores.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/UI/frm_Obradores.pas) | Tab | Sedes de fabricación y obradores vinculados a las empresas del grupo. |
| | `btnAlmacenes` | `TfrmAlmacenes` | [frm_Almacenes.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/UI/frm_Almacenes.pas) | Tab | Ubicaciones físicas de almacenamiento de materias primas y producto acabado. |
| | `btnTiendas` | `TfrmTiendas` | [frm_Tiendas.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/UI/frm_Tiendas.pas) | Tab | Red de tiendas y puntos de venta del grupo con almacén asociado. |
| | `btnCentrosZonas` | `TfrmCentrosZonas` | [frm_CentrosZonas.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/UI/frm_CentrosZonas.pas) | Tab | Estructura de centros, zonas de trabajo y maquinaria industrial vinculada. |
| **🛒 Comercial (Ventas)** | `btnClientes` | `TfrmClientes` | [frm_Clientes.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/UI/frm_Clientes.pas) | Tab | Cartera de clientes, domiciliaciones, límites de riesgo y puntos de entrega. |
| *(Panel Verde)* | `btnClientesGrupos` | `TfrmClientesGrupos` | [frm_ClientesGrupos.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/UI/frm_ClientesGrupos.pas) | Tab | Agrupaciones comerciales de clientes para asignación de tarifas especiales. |
| | `btnPresupuestos` | `TfrmPresupuestos` | [frm_Presupuestos.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/UI/frm_Presupuestos.pas) | Tab | Presupuestos y cotizaciones de venta, con conversión a pedidos y albaranes. |
| | `btnPedidos` | `TfrmPedidos` | [frm_Pedidos.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/UI/frm_Pedidos.pas) | Tab | Pedidos de clientes recibidos por teléfono, tienda, web o EDIFACT. |
| | `btnAlbaranes` | `TfrmAlbaranes` | [frm_Albaranes.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/UI/frm_Albaranes.pas) | Tab | Albaranes de entrega con detalle de bultos, asignación de lotes y transportista. |
| | `btnFacturas` | `TfrmFacturas` | [frm_Facturas.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/UI/frm_Facturas.pas) | Tab | Facturación ordinaria y rectificativa con hash encadenado VERI*FACTU. |
| | `btnEventosMaterialesCat`| `TfrmEventosMaterialesCat` | [frm_EventosMaterialesCat.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/UI/frm_EventosMaterialesCat.pas) | Tab | Catálogo de conceptos de menaje y materiales de eventos/catering. |
| | `btnEventos` | `TfrmEventos` | [frm_Eventos.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/UI/frm_Eventos.pas) | Tab | Coordinación integral de bodas, banquetes y eventos especiales. |
| | `btnArticulos` | `TfrmArticulos` | [frm_Articulos.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/UI/frm_Articulos.pas) | Tab | Maestro de productos terminados, códigos EAN, precios de venta y alérgenos. |
| **🛒 Comercial (Compras)** | `btnProveedor` | `TfrmProveedoresList` | [frm_Proveedores.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/UI/frm_Proveedores.pas) | Tab | Fichas de proveedores de harinas, materias primas, envases y consumibles. |
| *(Panel Celeste)* | `btnPresupuestosProv` | `TfrmProvPresupuestosList` | [frm_ProvPresupuestos.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/UI/frm_ProvPresupuestos.pas) | Tab | Presupuestos y cotizaciones de compra solicitadas a proveedores. |
| | `btnAlbaranProv` | `TfrmProvAlbaranesList` | [frm_ProvAlbaranes.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/UI/frm_ProvAlbaranes.pas) | Tab | Recepción de mercancía de proveedores y cotejo de albaranes de entrada. |
| | `btnFacturasProv` | `TfrmProvFacturasList` | [frm_ProvFacturas.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/UI/frm_ProvFacturas.pas) | Tab | Facturas de compra recibidas, conciliación con albaranes y vencimientos. |
| | `btnArticulosProv` | `TfrmArticulosProveedor` | [frm_ArticulosProveedor.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/UI/frm_ArticulosProveedor.pas) | Tab | Catálogo de artículos por proveedor con sus referencias y precios de tarifa. |
| | `btnEntradasMateriasPrimas`| `TfrmEntradasMateriasPrimas` | [frm_EntradasMateriasPrimas.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/UI/frm_EntradasMateriasPrimas.pas) | Tab | Registro específico de entrada de materias primas con lote y caducidad. |
| | `btnProvPreciosVariaciones`| `TfrmProvPreciosVariaciones` | [frm_ProvPreciosVariaciones.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/UI/frm_ProvPreciosVariaciones.pas) | Tab | Monitor de desviaciones y subidas de precio en compras de materias primas. |
| **🥐 Producción** | `btnFamilias` | `TfrmFamilias` | [frm_Familias.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/UI/frm_Familias.pas) | Tab | Categorización jerárquica de productos terminados e ingredientes. |
| | `btnMateriasPrimas` | `TfrmMateriasPrimas` | [frm_MateriasPrimas.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/UI/frm_MateriasPrimas.pas) | Tab | Maestro de materias primas, mermas teóricas y alérgenos de origen. |
| | `btnRecetas` | `TfrmRecetas` | [frm_Recetas.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/UI/frm_Recetas.pas) | Tab | Fórmulas maestras de fabricación y escandallos por fases industriales. |
| | `btnLotesRibbon` | `TfrmLotes` | [frm_Lotes.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/UI/frm_Lotes.pas) | Tab | Fichas de lote de producción, tiempos de amasado y balance de masas. |
| | `btnAlergenos` | `TfrmAlergenos` | [frm_Alergenos.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/UI/frm_Alergenos.pas) | Tab | Catálogo de los 14 alérgenos de declaración obligatoria según normativa UE. |
| | `btnAsignarMateriasPrimas` | `TfrmAsignarMateriasPrimas` | [frm_AsignarMateriasPrimas.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/UI/frm_AsignarMateriasPrimas.pas) | Modal | Asignación de lotes de materias primas a órdenes de elaboración. |
| | `btnInventariosRibbon` | `TfrmInventarios` | [frm_Inventarios.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/UI/frm_Inventarios.pas) | Tab | Recuentos de existencias y regularizaciones de stock en obrador y almacén. |
| | `btnIncidencias` | `TfrmIncidencias` | [frm_Incidencias.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/UI/frm_Incidencias.pas) | Tab | Registro de fallos de maquinaria, roturas de producto o mermas anómalas. |
| | `btnFormatosPresentacion` | `TfrmFormatosPresentacion` | [frm_FormatosPresentacion.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/UI/frm_FormatosPresentacion.pas) | Tab | Presentaciones comerciales (cajas de panettone de 1kg, 500g, bombones). |
| | `btnFormatosEnvio` | `TfrmFormatosEnvio` | [frm_FormatosEnvio.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/UI/frm_FormatosEnvio.pas) | Tab | Embalajes logísticos (cajas máster de 6 unidades, palets europeos). |
| | `btnStockEnvasado` | `TfrmStockEnvasado` | [frm_StockEnvasado.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/UI/frm_StockEnvasado.pas) | Tab | Control de existencias de producto envasado terminado disponible. |
| **🛡️ Calidad e IFS** | `btnCalidadGruposControl` | `TfrmCalidadGrupos` | [frm_CalidadGrupos.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/UI/frm_CalidadGrupos.pas) | Tab | Agrupaciones de requisitos higiénico-sanitarios y puntos críticos. |
| | `btnCalidadDocumentos` | `TfrmCalidadDocumentosList` | [frm_CalidadDocumentosList.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/UI/frm_CalidadDocumentosList.pas) | Tab | Catálogo documental de procedimientos, instrucciones y registros IFS. |
| | `btnCalidadRegistros` | `TfrmCalidadRegistrosList` | [frm_CalidadRegistrosList.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/UI/frm_CalidadRegistrosList.pas) | Tab | Cumplimentación de registros diarios RG de temperaturas y PCCs. |
| | `btnCalidadIncidencias` | `TfrmCalidadIncidenciasList` | [frm_CalidadIncidenciasList.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/UI/frm_CalidadIncidenciasList.pas) | Tab | No conformidades de auditoría y planes de acción correctiva (CAPA). |
| | `btnCalidadHitos` | `TfrmCalidadHitos` | [frm_CalidadHitos.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/UI/frm_CalidadHitos.pas) | Tab | Agenda y calendario de hitos de calidad, inspecciones y homologaciones. |
| | `btnCalidadVerificacion` | `TfrmCalidadVerificacionDiaria` | [frm_CalidadVerificacionDiaria.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/UI/frm_CalidadVerificacionDiaria.pas) | Tab | Check-list diario de apertura y supervisión higiénica del obrador. |
| | `btnCalidadTrazabilidad` | `TfrmCalidadTrazabilidadMaestra`| [frm_CalidadTrazabilidadMaestra.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/UI/frm_CalidadTrazabilidadMaestra.pas) | Tab | Reconstrucción visual de trazabilidad hacia adelante y hacia atrás. |
| | `btnCalidadPrerrequisitos` | `TfrmCalidadPrerrequisitosEditor`| [frm_CalidadPrerrequisitosEditor.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/UI/frm_CalidadPrerrequisitosEditor.pas) | Tab | Planes generales de higiene (agua potable, control de plagas, quebradizos). |
| **🚚 Logística** | `btnTransportistas` | `TfrmTransportistas` | [frm_Transportistas.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/UI/frm_Transportistas.pas) | Tab | Fichas de agencias de transporte, tarifas y credenciales de API. |
| | `btnEnvios` | `TfrmEnviosList` | [frm_EnviosList.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/UI/frm_EnviosList.pas) | Tab | Expediciones, solicitud telemática de recogida y generación de etiquetas. |
| | `btnPrepararPedidos` | `TfrmPrepararPedidos` | [frm_PrepararPedidos.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/UI/frm_PrepararPedidos.pas) | Tab | Terminal de preparación de pedidos (picking) con pistola lectora de códigos. |
| | `btnMovimientosStock` | `TfrmMovimientosInternos` | [frm_MovimientosInternos.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/UI/frm_MovimientosInternos.pas) | Tab | Traspasos internos de existencias (Almacenes, Obradores, Tiendas) con albaranes interempresa automáticos a coste. |
| **🔧 Utilidades** | `btnImportarfactusol` | `TfrmImportarFactusol` | [frm_ImportarFactusol.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/UI/frm_ImportarFactusol.pas) | Tab | Asistente de migración de datos históricos de Factusol (2025 y anteriores). |
| | `btnReportTemplates` | `TfrmReportTemplates` | [frm_ReportTemplates.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/UI/frm_ReportTemplates.pas) | Tab | Diseñador visual de plantillas de impresión FastReport (.fr3). |
| | `btnConfigEnvio` | `TfrmConfigEnvio` | [frm_ConfigEnvio.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/UI/frm_ConfigEnvio.pas) | Tab | Configuración de pasarela de correo SMTP Indy SSL y envíos WhatsApp. |

---

## 3. Ciclos de Vida de Negocio y Diagramas de Proceso

### 3.1. Ciclo Comercial de Ventas y Facturación Oficial
El ciclo de venta cubre desde la cotización comercial inicial hasta la emisión de la factura y su transmisión telemática:

```mermaid
flowchart TD
    A["Presupuesto Formal (ge_presupuestos)"] -->|Aceptado por Cliente| B["Pedido de Venta (ge_pedidos)"]
    W["WooCommerce E-Commerce"] -->|uEnviosWebImporter| B
    E["EDIFACT El Corte Inglés"] -->|uEdicomProcessor| B
    
    B --> C["Preparación de Pedido / Picking (frm_PrepararPedidos)"]
    C -->|Asignación Lote & Bultos| D["Albarán de Entrega (ge_albaranes)"]
    
    D -->|Logística| L["Expedición con Agencia TIPSA/NACEX"]
    D -->|Exportación EDI| ED["DESADV Aviso Expedición (uEdicomDesadvExporter)"]
    
    D -->|Facturación Agrupada / Directa| F["Factura Oficial (ge_facturas)"]
    F -->|Huella Criptográfica SHA-256| SIF["VERI*FACTU / SIF (uVeriFactuService)"]
    F -->|Exportación EDI| EI["INVOIC Factura Electrónica (uEdicomInvoiceExporter)"]
    F -->|Impresión & Envío| P["PDF con QR Oficial + Envío Mail/WhatsApp"]
```

### 3.2. Ciclo de Aprovisionamiento, Compras y Proveedores
Garantiza el abastecimiento de los obradores y detecta cualquier variación de costes:

```mermaid
flowchart TD
    P1["Presupuesto Proveedor (ge_prov_presupuestos)"] -->|Aprobación| P2["Pedido de Compra"]
    P2 --> R1["Albarán Proveedor (ge_prov_albaranes)"]
    R1 --> R2["Entrada Materias Primas con Lote Proveedor (ge_entradas_materias_primas)"]
    
    R1 --> CMP["Cotejo de Precios (uProvPreciosService)"]
    CMP -->|¿Diferencia de Precio?| VAR["ge_prov_precios_variaciones (Alerta de Desvío)"]
    CMP -->|Precio Conforme| FAC["Factura Proveedor (ge_prov_facturas)"]
    VAR --> FAC
    FAC --> TES["Tesorería y Vencimientos de Pago"]
```

### 3.3. Ciclo de Fabricación Industrial en Obradores (Panettones Fases 1-6)
Estructurado según las fórmulas del cuaderno de producción artesanal de Raúl Asencio:

```mermaid
flowchart LR
    F1["Fase 1: Incubadora
(Refrescos Masa Madre
pH 3.90 a 4.20)"] --> F2["Fase 2: 1er Empaste
(Harina, Agua, Azúcar,
Yemas, Mantequilla)"]
    
    F2 --> F3["Fase 3: 2º Empaste
(Arrastre Masa 1 +
Naranja, Chocolate, Aromas)"]
    
    F3 --> F4["Fase 4: Porcionado
(Boleado & Puesta
en Cápsulas)"]
    
    F4 --> F5["Fase 5: Horneado
(Cocción y Enfriado
Boca Abajo)"]
    
    F5 --> F6["Fase 6: Envasado
(Asignación Lote &
Etiqueta GS1-128)"]
    
    F6 --> STK["ge_stock_envasado
(Stock Disponible)"]
```

### 3.4. Ciclo de Logística, Expediciones y Envíos Multi-Transportista
Automatización total de expediciones sin tecleo manual en plataformas de agencias:

```mermaid
flowchart TD
    ALB["Albarán de Entrega Cerrado"] --> CALC["Cálculo Peso Teórico y Número de Bultos"]
    CALC --> SEL["Selección de Transportista (TIPSA / NACEX)"]
    SEL --> API["Llamada WebService API Transporte (uEnviosClient)"]
    API --> ETQ["Impresión de Etiqueta Térmica de Envío (ZPL / PDF)"]
    API --> REC["Generación Solicitud de Recogida (ge_envios_recogidas)"]
    REC --> FIRMA["Firma Digital del Conductor en Pantalla (frm_FirmaRecogida)"]
    FIRMA --> EXP["Expedición Cerrada & Tracking Activo"]
```

### 3.5. Ciclo de Calidad e Inocuidad Alimentaria (IFS Food v8)
Cumplimiento integral de los requisitos de la norma internacional IFS Food v8:

```mermaid
flowchart TD
    CAT["Catálogo Documental & Puntos de Control (ge_calidad_documentos)"] --> HIT["Planificación de Hitos y Auditorías (ge_calidad_hitos)"]
    HIT --> REG["Cumplimentación Diaria RG (Temperaturas, Limpieza, Cloro)"]
    REG --> VER["Verificación Diaria por Responsable de Calidad"]
    
    VER -->|Conforme| OK["Archivo Documental Auditado"]
    VER -->|Desvío Detectado| INC["Apertura de No Conformidad (ge_calidad_incidencias)"]
    INC --> CAPA["Plan de Acción Correctiva y Preventiva"]
    CAPA --> SEG["Seguimiento y Cierre de Auditoría"]
    
    OK --> TRAZ["Trazabilidad Maestra Bidireccional (ge_calidad_trazabilidad)"]
```

---

## 4. Arquitectura Técnica de Capas de Software

La aplicación sigue una arquitectura desacoplada organizada en cuatro carpetas dentro de `src/`:

```
┌─────────────────────────────────────────────────────────────────────────────────┐
│  src/UI (168 unidades)     — Presentación VCL (Formularios, Listados y Diálogos)│
├─────────────────────────────────────────────────────────────────────────────────┤
│  src/Logic (16 unidades)   — Reglas de Negocio, Criptografía, IA y Clientes Web │
├─────────────────────────────────────────────────────────────────────────────────┤
│  src/Common (11 unidades)   — Errores Globales, Validaciones, GS1 y Temas VCL    │
├─────────────────────────────────────────────────────────────────────────────────┤
│  src/Data (3 unidades)     — Módulos de Datos FireDAC (dmgMain, dmgCalidad...)  │
└─────────────────────────────────────────────────────────────────────────────────┘
```

### 4.1. Capa UI (`src/UI`) — Directivas de Interfaz Obligatorias
- **Herencia Visual Estandarizada**:
  - `TfrmBase` ([src/UI/uBaseForm.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/UI/uBaseForm.pas)): Formulario base para todas las pantallas del sistema. Incorpora gestión del ciclo de vida, captura inicial de estado de controles (`CaptureInitialStates`) y detección de cambios pendientes (`HasUnsavedChanges`).
  - `TfrmBaseList` ([src/UI/frm_BaseList.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/UI/frm_BaseList.pas)): Formulario base para todas las rejillas de datos (`dbGridMain`). Proporciona barra de botones estándar (Nuevo, Editar, Eliminar, Buscar, Exportar), paginación y filtros rápidos.
- **Directiva de Exclusión de Change Tracking (`Tag = 999`)**:
  - Todo control de interfaz que no represente un dato editable de la tabla principal (filtros de rejilla, desplegables de ejercicio, cuadros de búsqueda, combos de empresa) **DEBE tener asignado `Tag = 999`**. Esto evita que al interactuar con un filtro se marque erróneamente el formulario como modificado.
- **Directiva de DBGrid y Checkboxes (`uDBGridHelper`)**:
  - En todas las rejillas del sistema, las columnas asociadas a campos de tipo booleano o cuyo nombre contenga `activo` o `active` se dibujan automáticamente como casillas de verificación (checkboxes interactivos) mediante `uDBGridHelper.pas`. Asimismo, se habilita la ordenación por cabecera de columna al hacer clic (`OnTitleClick`).
- **Escalado por DPI (`uUIAutoScaler`)**:
  - Adaptación matemática de fuentes, márgenes y anchos de columna para monitores 4K y pantallas táctiles de obrador.

### 4.2. Capa Logic (`src/Logic`) — Motores de Negocio
- **Criptografía VERI*FACTU**: [uSifCrypto.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/Logic/uSifCrypto.pas) y [uVeriFactuService.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/Logic/uVeriFactuService.pas) realizan el cálculo de la huella SHA-256 encadenada con la factura previa, firma XMLDSig y registro inmutable en `ge_sif_event_log`.
- **Integración de Envíos**: [uEnviosTipsaClient.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/Logic/uEnviosTipsaClient.pas) y [uEnviosNacexClient.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/Logic/uEnviosNacexClient.pas) implementan la interfaz común de [uEnviosClient.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/Logic/uEnviosClient.pas) para comunicación SOAP/REST.
- **Trazabilidad Industrial**: [uLotesLogic.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/Logic/uLotesLogic.pas) orquesta la composición de lote `[ID_Producto]+[AAAAMMDD]`, control de caducidades y deducción de materias primas.
- **Inteligencia Artificial**: [uIAService.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/Logic/uIAService.pas) conecta mediante `TNetHTTPClient` con la API de Google Gemini enviando prompts con contexto técnico del obrador.

### 4.3. Capa Common (`src/Common`) — Utilidades Transversales
- **Gestión Global de Errores DB**: [uDbErrorHandler.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/Common/uDbErrorHandler.pas) intercepta excepciones FireDAC (`EFDDBEngineException`), traduciendo códigos de error MySQL (claves foráneas 1451, duplicados 1062) a mensajes legibles para el usuario de pastelería mediante [frm_DbErrorDialog.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/UI/frm_DbErrorDialog.pas).
- **Validación Fiscal**: [uValidacionFiscal.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/Common/uValidacionFiscal.pas) valida la letra de control de NIFs, CIFs y NIEs conforme al algoritmo de la AEAT.
- **Códigos GS1-128**: [uGS1BarcodeParser.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/Common/uGS1BarcodeParser.pas) analiza cadenas con Application Identifiers (AI) para extraer automáticamente GTIN, número de lote, fecha de consumo preferente y peso neto en balanzas de obrador.

### 4.4. Capa Data (`src/Data`) — Acceso a Datos FireDAC
- [dmg_Main.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/Data/dmg_Main.pas): Contiene `conMain` (`TFDConnection`), `FDPhysMySQLDriverLink1`, lista de imágenes ribbon `imgListRibbon`, variables globales de sesión (`CurrentUserId`, `CurrentEmpresaId`, `CurrentEmpresaNombre`), gestión de transacciones e inicialización del INI de configuración.
- [dmg_Calidad.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/Data/dmg_Calidad.pas): DataModule especializado para el módulo IFS Food v8.
- [uCalidadHitosService.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/Data/uCalidadHitosService.pas): Servicio de datos para la programación y cumplimiento de hitos de auditoría.

---

## 5. Mapa del Modelo de Datos (113 Tablas en MariaDB / 126 en DDL)

Todas las tablas están normalizadas en motor **InnoDB** con colación `utf8mb4_general_ci` según el esquema de referencia canónico en [sql/PASTELERIAS-struct.sql](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/sql/PASTELERIAS-struct.sql).

### 5.1. Ciclo Comercial y Ventas (19 tablas)
- `ge_clientes`: Datos fiscales, comerciales y de pago del cliente (`nif`, `domicilio`, `codigo_postal`).
- `ge_clientes_destinos`: Direcciones y plataformas de entrega asociadas a un cliente.
- `ge_clientes_grupos`: Grupos comerciales para asignación masiva de tarifas.
- `ge_clientes_grupos_precios`: Precios pactados por grupo de clientes y artículo.
- `ge_clientes_precios`: Tarifas personalizadas por cliente individual.
- `ge_presupuestos`: Cabecera de ofertas comerciales valoradas.
- `ge_presupuestos_lineas`: Líneas y partidas de presupuestos de venta.
- `ge_pedidos`: Cabecera de pedidos (`numero_pedido`, `fecha_pedido`, cliente, destino).
- `ge_pedidos_lineas`: Detalle de artículos solicitados en el pedido.
- `ge_pedidos_descuentos_cargos`: Descuentos financieros o cargos globales por pedido.
- `ge_pedidos_lineas_descuentos`: Descuentos por línea de artículo.
- `ge_albaranes`: Cabecera de albaranes de entrega (`id_pedido`, `id_factura`, cliente).
- `ge_albaranes_lineas`: Artículos entregados, precios y lote asignado.
- `ge_albaranes_bultos`: Paquetes y bultos físicos del albarán con peso y medidas.
- `ge_albaranes_lineas_bultos`: Relación n:m entre artículos servidos y bultos de transporte.
- `ge_facturas`: Facturas de venta ordinarias y rectificativas (`id_forma_pago`, serie, número).
- `ge_facturas_lineas`: Bases imponibles, tipos de IVA y recargo de equivalencia.
- `ge_facturas_rectificadas`: Vínculo entre factura rectificativa y facturas rectificadas de origen.
- `ge_series`: Series de facturación anuales y contadores correlativos.

### 5.2. Ciclo de Compras y Proveedores (13 tablas)
- `ge_proveedores`: Maestro de proveedores de ingredientes y suministros.
- `ge_proveedores_materias_primas`: Relación de materias primas que suministra cada proveedor con su precio.
- `ge_prov_presupuestos`: Presupuestos de compra emitidos por proveedores.
- `ge_prov_presupuestos_detalle`: Desglose de partidas cotizadas.
- `ge_prov_albaranes`: Albaranes de recepción de mercancía en almacén.
- `ge_prov_albaranes_detalle`: Líneas de recepción y cotejo de albaranes de compra.
- `ge_prov_facturas`: Facturas de compra recibidas para liquidación.
- `ge_prov_facturas_detalle`: Líneas de facturación de compra recibidas.
- `ge_prov_facturas_albaranes`: Vínculo entre facturas de compra y los albaranes cotejados.
- `ge_prov_precios_variaciones`: Histórico de fluctuaciones de precios detectadas en compras.
- `ge_entradas`: Registro general de entradas a almacén.
- `ge_entradas_detalle`: Partidas de entrada a almacén.
- `ge_entradas_materias_primas`: Recepción de materias primas con lote de origen y fecha de caducidad.

### 5.3. Producción, Obradores y Recetas (26 tablas)
- `ge_articulos`: Catálogo de productos terminados, escandallos asociados y características.
- `ge_articulos_ean`: Códigos de barras EAN-13, EAN-14 y GS1-128 del artículo.
- `ge_articulos_alergenos`: Alérgenos presentes o trazas por artículo terminado.
- `ge_articulos_fichas_tecnicas`: Especificaciones nutricionales, conservación y vida útil.
- `ge_articulos_codigos_web`: Mapeo de referencias para sincronización con WooCommerce.
- `ge_materias_primas`: Catálogo de ingredientes base (harinas, mantequilla, masa madre...).
- `ge_materias_primas_alergenos`: Alérgenos de origen en cada materia prima.
- `ge_lotes`: Fichas de lote de fabricación (`[ID_Producto]+[AAAAMMDD]`) con tiempos y stock.
- `ge_obradores`: Centros de elaboración artesanal (Panettones, Confitería).
- `ge_almacenes`: Ubicaciones de stock (Materias Primas, Producto Envasado, Mermas).
- `ge_familias`: Agrupación de familias y subfamilias de artículos e ingredientes.
- `ge_alergenos`: Maestro normativo de los 14 alérgenos de declaración obligatoria UE.
- `ge_formatos_presentacion`: Formatos comerciales de presentación (cajas individuales, estuches).
- `ge_formatos_presentacion_materiales`: Materiales de empaquetado del formato de presentación.
- `ge_formatos_envio`: Formatos logísticos (caja máster, palet).
- `ge_formatos_envio_materiales`: Materiales requeridos para el formato de envío.
- `ge_stock_envasado`: Existencias de producto final envasado listo para expedición.
- `ge_inventarios`: Cabecera de recuentos físicos periódicos de inventario.
- `ge_inventarios_lineas`: Detalle de stock teórico versus stock real contado.
- `ge_incidencias`: Registro de incidencias de producción y operativas.
- `ge_incidencias_obrador`: Registro específico de anomalías de maquinaria o masas.
- `ge_codigos_barras_completo`: Configuración integral de lectura y generación de códigos GS1.
- `ob_recetas`: Fórmulas maestras de recetas de panettone y pastelería.
- `ob_recetas_procesos`: Fases del proceso productivo (Incubadora, Amasados, Fermentación).
- `ob_procesos_ingredientes`: Ingredientes y proporciones teóricas por fase y escala (X1 a X4).
- `ob_elaboraciones`: Órdenes de fabricación ejecutadas en obrador.
- `ob_elaboraciones_procesos`: Registro de tiempos y temperaturas reales de la elaboración.
- `ob_elaboraciones_reparto`: Distribución de masas elaboradas a centros y hornos.
- `ob_lotes_consumidos`: Registro de materias primas y lotes consumidos en cada elaboración.

### 5.4. Calidad e IFS Food v8 (9 tablas)
- `ge_calidad_grupos`: Áreas y grupos de control de higiene y buenas prácticas.
- `ge_calidad_documentos`: Catálogo documental de procedimientos y registros IFS.
- `ge_calidad_documento_puntos`: Puntos críticos y criterios de inspección por documento.
- `ge_calidad_agenda`: Calendario de revisiones y registros periódicos programados.
- `ge_calidad_registros_cab`: Cabeceras de registros diarios de autocontrol cumplimentados.
- `ge_calidad_registros_det`: Valores medidos (temperaturas, cloro, pH) frente a límites críticos.
- `ge_calidad_incidencias`: Registro de no conformidades, desvíos y planes de acción (CAPA).
- `ge_calidad_hitos`: Calendario anual de hitos de auditoría y homologación.
- `ge_calidad_hitos_documentos`: Evidencias y documentos adjuntos a cada hito de calidad.
- `ob_ifs_requisitos_estado`: Estado de cumplimiento de requisitos específicos de obrador.

### 5.5. Logística y Envíos Multi-Agencia (7 tablas)
- `ge_envios`: Expediciones y envíos generados a partir de albaranes.
- `ge_envios_transportistas`: Agencias de transporte dadas de alta (`tipo_api`, nombre, activo).
- `ge_envios_servicios`: Servicios de transporte contratados (14h, 24h, Frío).
- `ge_envios_config`: Credenciales API de la agencia (`nom_remitente`, `cod_agencia`, clave).
- `ge_envios_recogidas`: Solicitudes de recogida telemática cursadas a la agencia.
- `ge_destinos_envios_clientes`: Direcciones logísticas preferidas para expedición.
- `ge_log_envios`: Registro de auditoría de comunicaciones XML/JSON con las APIs de transporte.
- `ge_movimientos_internos`: Traspasos de existencias entre centros (Almacenes, Obradores, Tiendas) con control de lotes y emisión automática de albaranes de venta/compra a precio de coste en operaciones interempresa.

### 5.6. Sistema, Seguridad, Tiendas y VERI*FACTU (15 tablas)
- `ge_empresas`: Empresas del grupo (`cif_nif`, razón social, dirección, configuración).
- `ge_tiendas`: Red de tiendas y puntos de venta asociados a las empresas, vinculados a un almacén de stock propio (`id_almacen`).
- `ge_usuarios`: Usuarios autorizados y claves de acceso cifradas.
- `ge_usuario_empresa_permisos`: Matriz de permisos de acceso por usuario y empresa.
- `ge_modulos`: Catálogo de módulos funcionales para control de privilegios.
- `ge_formas_pago`: Formas de pago (`descripcion`, vencimientos).
- `ge_tipos_iva`: Tipos de gravamen impositivo.
- `ge_contadores`: Contadores de numeración correlativa.
- `ge_config_envio`: Configuración del servidor SMTP y WhatsApp.
- `ge_documentos`: Archivos y plantillas FastReport asociadas.
- `ge_edicom_config`: Credenciales de buzón EDI para comunicaciones telemáticas.
- `ge_sif_config`: Configuración del Sistema Informático de Facturación (modo VERI*FACTU).
- `ge_sif_event_log`: Registro criptográfico inmutable de eventos de facturación antifraude.
- `ge_sif_anulaciones`: Registro de facturas anuladas con huella previa.
- `ge_auditoria_cambios`: Trazabilidad de modificaciones de registros críticos.

### 5.7. Estructura EDIFACT / Edicom (5 tablas)
- `edi_cabalbaran`: Cabecera de aviso de expedición DESADV para El Corte Inglés.
- `edi_detalbaran`: Detalle de líneas y cajas contenidas en el DESADV.
- `edi_embalbaran`: Información de paletizado y etiquetas SSCC.
- `edi_lugaresentrega`: Puntos operacionales de descarga y almacenes de destino EDI.
- `edi_marcasembalaje`: Matriz de marcas y etiquetas de embalaje homologadas.

---

## 6. Catálogo Maestro de Módulos y Formularios (198 Unidades)

Inventario consolidado de los 198 módulos Pascal (`.pas`) del proyecto, agrupados por su rol técnico y dominio:

| Archivo Pascal | Capa | Clase / Formulario | Dominio | Formulario Editor / Asociado | Tablas Principales |
| :--- | :---: | :--- | :---: | :--- | :--- |
| `dmg_Main.pas` | **Data** | `TdmgMain` | 06 | — | `ge_empresas`, `ge_usuarios`, `ge_modulos` |
| `dmg_Calidad.pas` | **Data** | `TdmgCalidad` | 04 | — | `ge_calidad_documentos`, `ge_calidad_registros_cab` |
| `uCalidadHitosService.pas` | **Data** | `TuCalidadHitosService` | 04 | — | `ge_calidad_hitos`, `ge_calidad_hitos_documentos` |
| `uBaseForm.pas` | **UI** | `TfrmBase` | 06 | — | Base de todos los formularios |
| `frm_BaseList.pas` | **UI** | `TfrmBaseList` | 06 | — | Base de todos los listados con rejilla |
| `frm_BaseSelect.pas` | **UI** | `TfrmBaseSelect` | 06 | — | Base de selectores y diálogos modales |
| `frm_Main.pas` | **UI** | `TfrmMain` | 06 | Ribbon Principal | `ge_modulos`, `ge_usuario_empresa_permisos` |
| `frm_Login.pas` | **UI** | `TfrmLogin` | 06 | Modal | `ge_usuarios` |
| `frm_SelectCompany.pas` | **UI** | `TfrmSelectCompany` | 06 | Modal | `ge_empresas` |
| `frm_DbConfig.pas` | **UI** | `TfrmDbConfig` | 06 | Modal | Configuración INI de conexión |
| `frm_DbErrorDialog.pas` | **UI** | `TfrmDbErrorDialog` | 06 | Modal | Diálogo amigable de errores MySQL |
| `frm_Usuarios.pas` | **UI** | `TfrmUsuarios` | 06 | `TfrmUsuariosEditor` | `ge_usuarios`, `ge_usuario_empresa_permisos` |
| `frm_UsuariosEditor.pas` | **UI** | `TfrmUsuariosEditor` | 06 | Editor | `ge_usuarios` |
| `frm_Empresas.pas` | **UI** | `TfrmEmpresas` | 06 | `TfrmEmpresasEditor` | `ge_empresas` |
| `frm_EmpresasEditor.pas` | **UI** | `TfrmEmpresasEditor` | 06 | Editor | `ge_empresas`, `ge_edicom_config`, `ge_sif_config` |
| `frm_Series.pas` | **UI** | `TfrmSeries` | 06 | `TfrmSeriesEditor` | `ge_series`, `ge_contadores` |
| `frm_SeriesEditor.pas` | **UI** | `TfrmSeriesEditor` | 06 | Editor | `ge_series` |
| `frm_TiposIva.pas` | **UI** | `TfrmTiposIva` | 06 | `TfrmTiposIvaEditor` | `ge_tipos_iva` |
| `frm_TiposIvaEditor.pas` | **UI** | `TfrmTiposIvaEditor` | 06 | Editor | `ge_tipos_iva` |
| `frm_FormasPago.pas` | **UI** | `TfrmFormasPago` | 06 | `TfrmFormasPagoEditor` | `ge_formas_pago` |
| `frm_FormasPagoEditor.pas` | **UI** | `TfrmFormasPagoEditor` | 06 | Editor | `ge_formas_pago` |
| `frm_ChatIA.pas` | **UI** | `TfrmChatIA` | 06 | Tab | Consulta interactiva con Google Gemini |
| `frm_ConfigEnvio.pas` | **UI** | `TfrmConfigEnvio` | 06 | `TfrmConfigEnvioEditor` | `ge_config_envio` |
| `frm_ConfigEnvioEditor.pas` | **UI** | `TfrmConfigEnvioEditor`| 06 | Editor | `ge_config_envio` |
| `frm_ReportTemplates.pas` | **UI** | `TfrmReportTemplates` | 06 | Tab / FastReport | `ge_documentos` |
| `frm_Clientes.pas` | **UI** | `TfrmClientes` | 01/07 | `TfrmClientesEditor` | `ge_clientes`, `ge_clientes_destinos` |
| `frm_ClientesEditor.pas` | **UI** | `TfrmClientesEditor` | 01/07 | Editor | `ge_clientes`, `ge_formas_pago`, `ge_series` |
| `frm_ClientesDestinosEditor.pas`| **UI**| `TfrmClientesDestinosEditor`| 01/07| Editor Destinos | `ge_clientes_destinos` |
| `frm_ClientesGrupos.pas` | **UI** | `TfrmClientesGrupos` | 07 | `TfrmClientesGruposEditor`| `ge_clientes_grupos` |
| `frm_ClientesGruposEditor.pas` | **UI**| `TfrmClientesGruposEditor`| 07 | Editor | `ge_clientes_grupos` |
| `frm_ClientesGruposPrecios.pas`| **UI**| `TfrmClientesGruposPrecios`| 07| Editor Tarifas | `ge_clientes_grupos_precios`, `ge_articulos` |
| `frm_ClientesPrecios.pas` | **UI** | `TfrmClientesPrecios` | 07 | Editor Tarifas | `ge_clientes_precios`, `ge_articulos` |
| `frm_Presupuestos.pas` | **UI** | `TfrmPresupuestos` | 01 | `TfrmPresupuestosEditor`| `ge_presupuestos`, `ge_clientes` |
| `frm_PresupuestosEditor.pas` | **UI** | `TfrmPresupuestosEditor` | 01 | Editor | `ge_presupuestos`, `ge_presupuestos_lineas` |
| `frm_Pedidos.pas` | **UI** | `TfrmPedidos` | 01 | `TfrmPedidosEditor` | `ge_pedidos`, `ge_clientes` |
| `frm_PedidosEditor.pas` | **UI** | `TfrmPedidosEditor` | 01 | Editor | `ge_pedidos`, `ge_pedidos_lineas` |
| `frm_PrepararPedidos.pas` | **UI** | `TfrmPrepararPedidos` | 01 | `TfrmPreparacionPedidoEditor`| `ge_pedidos`, `ge_albaranes` |
| `frm_PreparacionPedidoEditor.pas`|**UI**| `TfrmPreparacionPedidoEditor`|01| Picking / Bultos | `ge_albaranes`, `ge_albaranes_bultos` |
| `frm_Albaranes.pas` | **UI** | `TfrmAlbaranes` | 01 | `TfrmAlbaranesEditor` | `ge_albaranes`, `ge_clientes` |
| `frm_AlbaranesEditor.pas` | **UI** | `TfrmAlbaranesEditor` | 01 | Editor | `ge_albaranes`, `ge_albaranes_lineas`, `ge_lotes` |
| `frm_AlbaranEnvioEditor.pas` | **UI** | `TfrmAlbaranEnvioEditor`| 05 | Editor Expedición | `ge_envios`, `ge_albaranes_bultos` |
| `frm_Facturas.pas` | **UI** | `TfrmFacturas` | 01 | `TfrmFacturasEditor` | `ge_facturas`, `ge_clientes` |
| `frm_FacturasEditor.pas` | **UI** | `TfrmFacturasEditor` | 01 | Editor | `ge_facturas`, `ge_facturas_lineas` |
| `frm_DocumentosRelacionados.pas`| **UI**| `TfrmDocumentosRelacionados`| 01| Visor Trazabilidad | Muestra Presupuesto➔Pedido➔Albarán➔Factura |
| `frm_Proveedores.pas` | **UI** | `TfrmProveedoresList` | 02 | `TfrmProveedoresEditor`| `ge_proveedores` |
| `frm_ProveedoresEditor.pas` | **UI** | `TfrmProveedoresEditor` | 02 | Editor | `ge_proveedores`, `ge_proveedores_materias_primas` |
| `frm_ProvPresupuestos.pas` | **UI** | `TfrmProvPresupuestosList`| 02| `TfrmProvPresupuestosEditor`| `ge_prov_presupuestos` |
| `frm_ProvPresupuestosEditor.pas`|**UI** | `TfrmProvPresupuestosEditor`|02| Editor | `ge_prov_presupuestos`, `ge_prov_presupuestos_detalle`|
| `frm_ProvAlbaranes.pas` | **UI** | `TfrmProvAlbaranesList` | 02 | `TfrmProvAlbaranesEditor`| `ge_prov_albaranes` |
| `frm_ProvAlbaranesEditor.pas` | **UI** | `TfrmProvAlbaranesEditor` | 02 | Editor | `ge_prov_albaranes`, `ge_prov_albaranes_detalle` |
| `frm_ProvFacturas.pas` | **UI** | `TfrmProvFacturasList` | 02 | `TfrmProvFacturasEditor`| `ge_prov_facturas` |
| `frm_ProvFacturasEditor.pas` | **UI** | `TfrmProvFacturasEditor` | 02 | Editor | `ge_prov_facturas`, `ge_prov_facturas_detalle` |
| `frm_ProvPreciosVariaciones.pas`| **UI**| `TfrmProvPreciosVariaciones`| 02| Modal / Listado | `ge_prov_precios_variaciones` |
| `frm_ArticulosProveedor.pas` | **UI** | `TfrmArticulosProveedor` | 02 | Tab | `ge_proveedores_materias_primas` |
| `frm_EntradasMateriasPrimas.pas`| **UI**| `TfrmEntradasMateriasPrimas`| 02| Tab | `ge_entradas_materias_primas` |
| `frm_AsignarMateriasPrimas.pas` | **UI**| `TfrmAsignarMateriasPrimas` | 03| Modal | Asignación lote materia prima |
| `frm_Articulos.pas` | **UI** | `TfrmArticulos` | 07 | `TfrmArticulosEditor` | `ge_articulos`, `ge_familias` |
| `frm_ArticulosEditor.pas` | **UI** | `TfrmArticulosEditor` | 07 | Editor | `ge_articulos`, `ge_articulos_ean`, `ge_alergenos`|
| `frm_ArticulosEans.pas` | **UI** | `TfrmArticulosEans` | 07 | Editor EANs | `ge_articulos_ean` |
| `frm_ArticulosClientesEan.pas` | **UI** | `TfrmArticulosClientesEan` | 07 | Ficha EANs, Descripciones e Ingredientes por Cliente | `ge_clientes_articulos`, `ge_clientes` |
| `frm_FichaTecnicaEditor.pas` | **UI** | `TfrmFichaTecnicaEditor` | 03 | Editor Nutricional | `ge_articulos_fichas_tecnicas` |
| `frm_PrintEtiquetasStock.pas` | **UI** | `TfrmPrintEtiquetasStock` | 03 | Impresión ZPL | `ge_stock_envasado`, `ge_lotes` |
| `frm_CodigosBarrasCompleto.pas`| **UI** | `TfrmCodigosBarrasCompleto`| 07| Tab | `ge_codigos_barras_completo` |
| `frm_MateriasPrimas.pas` | **UI** | `TfrmMateriasPrimas` | 03 | `TfrmMateriasPrimasEditor`| `ge_materias_primas` |
| `frm_MateriasPrimasEditor.pas` | **UI** | `TfrmMateriasPrimasEditor`| 03 | Editor | `ge_materias_primas`, `ge_materias_primas_alergenos`|
| `frm_Recetas.pas` | **UI** | `TfrmRecetas` | 03 | `TfrmRecetasEditor` | `ob_recetas` |
| `frm_RecetasEditor.pas` | **UI** | `TfrmRecetasEditor` | 03 | Editor Escandallos | `ob_recetas`, `ob_recetas_procesos`, `ob_procesos_ingredientes` |
| `frm_Lotes.pas` | **UI** | `TfrmLotes` | 03 | `TfrmLotesCreator` | `ge_lotes`, `ge_articulos` |
| `frm_LotesCreator.pas` | **UI** | `TfrmLotesCreator` | 03 | Asistente de Creación | `ge_lotes`, `ge_almacenes` |
| `frm_Obradores.pas` | **UI** | `TfrmObradores` | 03 | `TfrmObradoresEditor` | `ge_obradores` |
| `frm_ObradoresEditor.pas` | **UI** | `TfrmObradoresEditor` | 03 | Editor | `ge_obradores` |
| `frm_Almacenes.pas` | **UI** | `TfrmAlmacenes` | 07 | `TfrmAlmacenesEditor` | `ge_almacenes` |
| `frm_AlmacenesEditor.pas` | **UI** | `TfrmAlmacenesEditor` | 07 | Editor | `ge_almacenes` |
| `frm_Tiendas.pas` | **UI** | `TfrmTiendas` | 06 | `TfrmTiendasEditor` | `ge_tiendas`, `ge_empresas`, `ge_almacenes` |
| `frm_TiendasEditor.pas` | **UI** | `TfrmTiendasEditor` | 06 | Editor | `ge_tiendas`, `ge_almacenes` |
| `frm_Familias.pas` | **UI** | `TfrmFamilias` | 07 | `TfrmFamiliasEditor` | `ge_familias` |
| `frm_FamiliasEditor.pas` | **UI** | `TfrmFamiliasEditor` | 07 | Editor | `ge_familias` |
| `frm_Alergenos.pas` | **UI** | `TfrmAlergenos` | 03 | `TfrmAlergenosEditor` | `ge_alergenos` |
| `frm_AlergenosEditor.pas` | **UI** | `TfrmAlergenosEditor` | 03 | Editor | `ge_alergenos` |
| `frm_Inventarios.pas` | **UI** | `TfrmInventarios` | 03 | `TfrmInventariosEditor` | `ge_inventarios` |
| `frm_InventariosEditor.pas` | **UI** | `TfrmInventariosEditor` | 03 | Editor Recuento | `ge_inventarios`, `ge_inventarios_lineas` |
| `frm_StockEnvasado.pas` | **UI** | `TfrmStockEnvasado` | 03 | `TfrmStockEnvasadoEditor`| `ge_stock_envasado` |
| `frm_StockEnvasadoEditor.pas` | **UI** | `TfrmStockEnvasadoEditor`| 03 | Editor | `ge_stock_envasado` |
| `frm_MovimientosInternos.pas` | **UI** | `TfrmMovimientosInternos` | 05 | `TfrmMovimientoInternoEditor` | `ge_movimientos_internos`, `ge_albaranes`, `ge_prov_albaranes` |
| `frm_MovimientoInternoEditor.pas`| **UI** | `TfrmMovimientoInternoEditor` | 05 | Asistente Traspaso | `ge_movimientos_internos`, `ge_stock_envasado`, `ge_albaranes` |
| `frm_FormatosPresentacion.pas` | **UI** | `TfrmFormatosPresentacion` | 03 | `TfrmFormatosPresentacionEditor` | `ge_formatos_presentacion` |
| `frm_FormatosPresentacionEditor.pas`|**UI**|`TfrmFormatosPresentacionEditor`|03| Editor | `ge_formatos_presentacion`, `ge_formatos_presentacion_materiales` |
| `frm_FormatosEnvio.pas` | **UI** | `TfrmFormatosEnvio` | 05 | `TfrmFormatosEnvioEditor` | `ge_formatos_envio` |
| `frm_FormatosEnvioEditor.pas` | **UI** | `TfrmFormatosEnvioEditor` | 05 | Editor | `ge_formatos_envio`, `ge_formatos_envio_materiales` |
| `frm_Eventos.pas` | **UI** | `TfrmEventos` | 03 | `TfrmEventosEditor` | `ge_eventos` |
| `frm_EventosEditor.pas` | **UI** | `TfrmEventosEditor` | 03 | Editor Catering | `ge_eventos`, `ge_eventos_materiales` |
| `frm_EventosMaterialesCat.pas` | **UI** | `TfrmEventosMaterialesCat` | 03 | `TfrmEventosMaterialesCatEditor` | `ge_eventos_materiales_cat` |
| `frm_EventosMaterialesCatEditor.pas`|**UI**|`TfrmEventosMaterialesCatEditor`|03| Editor | `ge_eventos_materiales_cat` |
| `frm_CalidadGrupos.pas` | **UI** | `TfrmCalidadGrupos` | 04 | `TfrmCalidadGruposEditor` | `ge_calidad_grupos` |
| `frm_CalidadGruposEditor.pas` | **UI** | `TfrmCalidadGruposEditor` | 04 | Editor | `ge_calidad_grupos` |
| `frm_CalidadDocumentosList.pas`| **UI** | `TfrmCalidadDocumentosList`| 04 | `TfrmCalidadDocumentoEditor` | `ge_calidad_documentos` |
| `frm_CalidadDocumentoEditor.pas`|**UI** | `TfrmCalidadDocumentoEditor`| 04 | Editor Puntos Control | `ge_calidad_documentos`, `ge_calidad_documento_puntos` |
| `frm_CalidadRegistrosList.pas` | **UI** | `TfrmCalidadRegistrosList` | 04 | `TfrmCalidadRegistroEditor` | `ge_calidad_registros_cab` |
| `frm_CalidadRegistroEditor.pas`| **UI** | `TfrmCalidadRegistroEditor`| 04 | Editor Mediciones | `ge_calidad_registros_cab`, `ge_calidad_registros_det` |
| `frm_CalidadIncidenciasList.pas`| **UI** | `TfrmCalidadIncidenciasList`| 04| `TfrmCalidadIncidenciasEditor` | `ge_calidad_incidencias` |
| `frm_CalidadIncidenciasEditor.pas`|**UI**| `TfrmCalidadIncidenciasEditor`|04| Editor No Conformidad | `ge_calidad_incidencias` |
| `frm_CalidadHitos.pas` | **UI** | `TfrmCalidadHitos` | 04 | `TfrmCalidadHitosEditor` | `ge_calidad_hitos` |
| `frm_CalidadHitosEditor.pas` | **UI** | `TfrmCalidadHitosEditor` | 04 | Editor Auditoría | `ge_calidad_hitos`, `ge_calidad_hitos_documentos` |
| `frm_CalidadVerificacionDiaria.pas`|**UI**| `TfrmCalidadVerificacionDiaria`|04| Check-list Diario | `ge_calidad_registros_cab` |
| `frm_CalidadTrazabilidadMaestra.pas`|**UI**|`TfrmCalidadTrazabilidadMaestra`|04| Árbol Trazabilidad | `ge_lotes`, `ge_albaranes`, `ge_entradas_materias_primas` |
| `frm_CalidadPrerrequisitosEditor.pas`|**UI**|`TfrmCalidadPrerrequisitosEditor`|04| Editor Higiene | Requisitos higiénicos |
| `frm_CalidadPlannerList.pas` | **UI** | `TfrmCalidadPlannerList` | 04 | Agenda Visual | `ge_calidad_agenda` |
| `frm_Transportistas.pas` | **UI** | `TfrmTransportistas` | 05 | `TfrmTransportistasEditor` | `ge_envios_transportistas` |
| `frm_TransportistasEditor.pas`| **UI** | `TfrmTransportistasEditor` | 05 | Editor Credenciales | `ge_envios_transportistas`, `ge_envios_servicios` |
| `frm_EnviosList.pas` | **UI** | `TfrmEnviosList` | 05 | `TfrmAlbaranEnvioEditor` | `ge_envios`, `ge_albaranes` |
| `frm_EnviosConfig.pas` | **UI** | `TfrmEnviosConfig` | 05 | `TfrmEnviosConfigEditor` | `ge_envios_config` |
| `frm_EnviosRecogida.pas` | **UI** | `TfrmEnviosRecogida` | 05 | Modal Solicitud | `ge_envios_recogidas` |
| `frm_FirmaRecogida.pas` | **UI** | `TfrmFirmaRecogida` | 05 | Captura Táctil Firma | `ge_envios_recogidas` |
| `frm_ImportarFactusol.pas` | **UI** | `TfrmImportarFactusol` | 02 | Asistente Migración | Migración tablas Factusol |
| `frm_ImportarPedidosWeb.pas` | **UI** | `TfrmImportarPedidosWeb` | 01 | Importador WooCommerce | `ge_pedidos` |
| `frm_AsignarArticulosWeb.pas`| **UI** | `TfrmAsignarArticulosWeb` | 07 | Mapeo Artículos Web | `ge_articulos_codigos_web` |
| `frm_SelectProduct.pas` | **UI** | `TfrmSelectProduct` | 07 | Diálogo Modal | Búsqueda rápida de artículos |
| `frm_SelectLote.pas` | **UI** | `TfrmSelectLote` | 03 | Diálogo Modal | Búsqueda y asignación de lotes |
| `frm_SelectMateriaPrima.pas` | **UI** | `TfrmSelectMateriaPrima` | 03 | Diálogo Modal | Búsqueda de materias primas |
| `frm_SelectAlergeno.pas` | **UI** | `TfrmSelectAlergeno` | 03 | Diálogo Modal | Selector múltiple de alérgenos |
| `frm_SelectPedidoPreparado.pas`| **UI** | `TfrmSelectPedidoPreparado` | 01 | Diálogo Modal | Selector de pedidos con picking |
| `frm_SelectCalidadDocumento.pas`|**UI** | `TfrmSelectCalidadDocumento`| 04 | Diálogo Modal | Selector documental IFS |
| `frm_SelectEventMaterial.pas` | **UI** | `TfrmSelectEventMaterial` | 03 | Diálogo Modal | Selector de material para eventos |
| `frm_PrintOptions.pas` | **UI** | `TfrmPrintOptions` | 07 | Diálogo Impresión | Selección de copias e impresora |
| `uFacturaPrintService.pas` | **UI** | `TFacturaPrintService` | 01 | Servicio Impresión | Generación PDF Facturas y QR SIF |
| `uAlbaranPrintService.pas` | **UI** | `TAlbaranPrintService` | 01 | Servicio Impresión | Generación PDF Albaranes |
| `uPedidoPrintService.pas` | **UI** | `TPedidoPrintService` | 01 | Servicio Impresión | Generación PDF Pedidos |
| `uPresupuestoPrintService.pas` | **UI** | `TPresupuestoPrintService` | 01 | Servicio Impresión | Generación PDF Presupuestos |
| `uEnviarDocumento.pas` | **UI** | `TfEnviarDocumento` | 01/06 | Diálogo Envío | Envío por Correo / WhatsApp |
| `uEdicomInvoiceExporter.pas`| **UI** | `uEdicomInvoiceExporter` | 01 | Generador EDI | Exportación `INVOIC` EDIFACT |
| `uEdicomDesadvExporter.pas` | **UI** | `uEdicomDesadvExporter` | 01 | Generador EDI | Exportación `DESADV` EDIFACT |
| `uEdicomWsClient.pas` | **Logic** | `TuEdicomWsClient` | 01 | Cliente SOAP | Comunicación WebService EDICOM |
| `uEdicomProcessor.pas` | **Common** | `TEdicomProcessor` | 01 | Parseo EDI | Lectura de pedidos EDIFACT |
| `uVeriFactuService.pas` | **Logic** | `TVeriFactuService` | 01 | Orquestador SIF | Envío telemático AEAT |
| `uSifCrypto.pas` | **Logic** | `TSifCrypto` | 01 | Criptografía | Hash SHA-256 encadenado y firma |
| `uSifXmlBuilder.pas` | **Logic** | `TSifXmlBuilder` | 01 | Constructor XML | Formato reglamentario de alta AEAT |
| `uSifWsClient.pas` | **Logic** | `TSifWsClient` | 01 | Cliente WebService | Envío seguro HTTPS a sede AEAT |
| `uSifEventLogger.pas` | **Logic** | `TSifEventLogger` | 01 | Auditoría Inmutable | Escritura en `ge_sif_event_log` |
| `uVeriFactuTypes.pas` | **Common** | `uVeriFactuTypes` | 01 | Tipos de Datos | Enumerados y tipos fiscales |
| `uEnviosClient.pas` | **Logic** | `TEnviosClient` | 05 | Clase Base Abstracta | Interfaz común de transporte |
| `uEnviosTipsaClient.pas` | **Logic** | `TEnviosTipsaClient` | 05 | Conector TIPSA | API SOAP de envíos y tracking |
| `uEnviosNacexClient.pas` | **Logic** | `TEnviosNacexClient` | 05 | Conector NACEX | API REST de envíos y tracking |
| `uEnviosWebImporter.pas` | **Logic** | `TEnviosWebImporter` | 01/05 | Conector Web | Sincronizador WooCommerce |
| `uEnviosTypes.pas` | **Logic** | `uEnviosTypes` | 05 | Tipos de Datos | Estructuras de bultos y envíos |
| `uProvPreciosService.pas` | **Logic** | `TProvPreciosService` | 02 | Servicio Precios | Detección de variaciones de costes |
| `uLotesLogic.pas` | **Logic** | `TLotesLogic` | 03 | Motor Trazabilidad | Generación y control de lotes |
| `uIAService.pas` | **Logic** | `TIAService` | 06 | Motor Inteligencia | Conexión con Google Gemini Pro |
| `uDbErrorHandler.pas` | **Common** | `TDbErrorHandler` | 06 | Manejador Errores | Captura global de excepciones DB |
| `uDBGridHelper.pas` | **Common** | `uDBGridHelper` | 06 | Helper VCL | Dibujado checkboxes y ordenación |
| `uUIAutoScaler.pas` | **Common** | `uUIAutoScaler` | 06 | Helper VCL | Escalado dinámico por DPI |
| `uAppTheme.pas` | **Common** | `uAppTheme` | 06 | Estilos Visuales | Paleta cromática corporativa |
| `uGS1BarcodeParser.pas` | **Common** | `TGS1BarcodeParser` | 07 | Parser Códigos | Análisis de Application Identifiers |
| `uValidacionFiscal.pas` | **Common** | `TValidacionFiscal` | 07 | Validador NIF | Algoritmo de control AEAT |
| `uEmailWhatsApp.pas` | **Common** | `uEmailWhatsApp` | 06 | Mensajería | Conexión SMTP TLS y WhatsApp |
| `frm_Incidencias.pas` | **UI** | `TfrmIncidencias` | 04 | Gestión / Tab | `ge_almacenes`, `ge_incidencias`, `ge_obradores` |
| `frm_IncidenciasEditor.pas` | **UI** | `TfrmIncidenciasEditor` | 04 | Editor | `ge_almacenes`, `ge_incidencias`, `ge_obradores` |
| `frm_MonitorFabricacion.pas` | **UI** | `TfrmMonitorFabricacion` | 07 | Gestión / Tab | `ge_obradores`, `ob_elaboraciones`, `ob_lotes_consumidos` (+1) |
| `frm_OrdenesFabricacion.pas` | **UI** | `TfrmOrdenesFabricacion` | 07 | Gestión / Tab | `ge_obradores`, `ob_elaboraciones`, `ob_recetas` |
| `frm_OrdenesFabricacionEditor.pas` | **UI** | `TfrmOrdenesFabricacionEditor` | 07 | Editor | `ge_entradas_materias_primas`, `ge_materias_primas`, `ge_obradores` (+3) |
| `frm_TipsaConfig.pas` | **UI** | `TfrmTipsaConfig` | 05 | Gestión / Tab | `ge_tipsa_config` |
| `frm_TipsaRecogida.pas` | **UI** | `TfrmTipsaRecogida` | 05 | Gestión / Tab | `ge_albaranes`, `ge_albaranes_lineas`, `ge_articulos` (+10) |
| `frm_Trabajadores.pas` | **UI** | `TfrmTrabajadores` | 07 | Gestión / Tab | `ge_trabajadores`, `ge_trabajadores_horario` |
| `frm_TrabajadoresEditor.pas` | **UI** | `TfrmTrabajadoresEditor` | 07 | Editor | `ge_documentos`, `ge_empresas`, `ge_trabajadores` (+3) |
| `frm_TrabajadoresFichajes.pas` | **UI** | `TfrmTrabajadoresFichajes` | 07 | Gestión / Tab | `ge_trabajadores`, `ge_trabajadores_fichajes` |
| `frm_CalendarioLaboral.pas` | **UI** | `TfrmCalendarioLaboral` | 07 | Gestión / Tab | `ge_festivos`, `ge_empresas` |
| `frm_CalendarioLaboralEditor.pas` | **UI** | `TfrmCalendarioLaboralEditor` | 07 | Editor | `ge_festivos`, `ge_empresas` |
| `frm_VentasPreciosHistorico.pas` | **UI** | `TfrmVentasPreciosHistorico` | 07 | Gestión / Tab | `ge_articulos`, `ge_clientes`, `ge_clientes_grupos` (+2) |
| `uConfigEmail.pas` | **UI** | `TEmailProfileItem` | 06 | Gestión / Tab | `ge_config_envio` |
| `uProvAlbaranes.pas` | **UI** | `TfrmProvAlbaranes` | 02 | Gestión / Tab | `ge_prov_albaranes`, `ge_prov_albaranes_detalle`, `ge_proveedores` |
| `uProvFacturas.pas` | **UI** | `TfrmProvFacturas` | 02 | Gestión / Tab | `ge_prov_facturas`, `ge_prov_facturas_detalle`, `ge_proveedores` |
| `uTipsaClient.pas` | **Logic** | `TTipsaClient` | 05 | Cliente API | — |
| `uTipsaTypes.pas` | **Logic** | `uTipsaTypes` | 05 | Tipos / Enums | — |
| `frm_CalendarioProduccion.pas` | **UI** | `TfrmCalendarioProduccion` | 07 | Gestión / Tab | `ge_articulos`, `ge_obradores`, `ge_ordenes_produccion` (+2) |
| `frm_OrdenProduccionEditor.pas` | **UI** | `TfrmOrdenProduccionEditor` | 07 | Editor | `ge_articulos`, `ge_clientes`, `ge_obradores` (+4) |
| `DelphiZXingQRCode.pas` | **Common** | `TDelphiZXingQRCode` | 07 | Gestión / Tab | — |
| `dlg_ClonarTarifa.pas` | **UI** | `TdlgClonarTarifa` | 07 | Gestión / Tab | `ge_clientes_grupos_precios` |
| `dlg_PegarListaCodigos.pas` | **UI** | `TdlgPegarListaCodigos` | 07 | Listado Rejilla | — |
| `dlg_SelectClientesEmail.pas` | **UI** | `TClienteEmailInfo` | 06 | Cliente API | `ge_clientes`, `ge_config_envio` |
| `frm_CentrosZonas.pas` | **UI** | `TfrmCentrosZonas` | 07 | Gestión / Tab | `ge_almacenes`, `ge_articulos`, `ge_centros_zonas` (+7) |
| `frm_CentrosZonasEditor.pas` | **UI** | `TfrmCentrosZonasEditor` | 07 | Editor | `ge_almacenes`, `ge_centros_zonas`, `ge_obradores` |
| `frm_DiaDetalleProduccion.pas` | **UI** | `TfrmDiaDetalleProduccion` | 07 | Gestión / Tab | `ge_articulos`, `ge_obradores`, `ge_ordenes_produccion` (+2) |
| `frm_EquiposSensoresEditor.pas` | **UI** | `TfrmEquiposSensoresEditor` | 07 | Editor | `ge_centros_zonas`, `ge_equipos_sensores`, `ge_zonas_equipos` |
| `frm_InventarioStockEnvasado.pas` | **UI** | `TfrmInventarioStockEnvasado` | 03 | Gestión / Tab | `ge_almacenes`, `ge_articulos`, `ge_formatos_presentacion` (+2) |
| `frm_LotesProcesosEditor.pas` | **UI** | `TfrmLotesProcesosEditor` | 03 | Editor | `ge_articulos`, `ge_centros_zonas`, `ge_lotes` (+3) |
| `frm_RegistrarOperarioZona.pas` | **UI** | `TfrmRegistrarOperarioZona` | 07 | Gestión / Tab | `ge_centros_zonas`, `ge_control_tiempos_zonas`, `ge_trabajadores` |
| `frm_SelectCliente.pas` | **UI** | `TfrmSelectCliente` | 07 | Cliente API | `ge_clientes` |
| `frm_SelectDestino.pas` | **UI** | `TfrmSelectDestino` | 07 | Gestión / Tab | `ge_clientes_destinos` |
| `frm_SelectImpresoraEnvio.pas` | **UI** | `TfrmSelectImpresoraEnvio` | 05 | Gestión / Tab | — |
| `frm_TermometroMonitor.pas` | **UI** | `TfrmTermometroMonitor` | 07 | Gestión / Tab | `ge_temperaturas_log` |
| `frm_ZonasEquiposEditor.pas` | **UI** | `TfrmZonasEquiposEditor` | 07 | Editor | `ge_centros_zonas`, `ge_zonas_equipos` |
| `uFormatosImpresionService.pas` | **Common** | `TFormatoItemObject` | 07 | Servicio Lógica | `ge_formatosimpresion` |
| `uMeatMeetBLE.pas` | **Common** | `TMeatMeetParser` | 07 | Gestión / Tab | — |
| `frm_DiaFichajesDetalleModal.pas` | **UI** | `TfrmDiaFichajesDetalleModal` | 07 | Gestión / Tab | `ge_trabajadores_fichajes` |
| `frm_TrabajadorContratoModal.pas` | **UI** | `TfrmTrabajadorContratoModal` | 07 | Gestión / Tab | `ge_empresas`, `ge_trabajadores`, `ge_trabajadores_contratos` (+1) |
| `frm_TrabajadorFichajeEditorModal.pas` | **UI** | `TfrmTrabajadorFichajeEditorModal` | 07 | Editor | `ge_obradores`, `ge_trabajadores_fichajes` |
| `frm_TrabajadoresGrupos.pas` | **UI** | `TfrmTrabajadoresGrupos` | 07 | Gestión / Tab | `ge_trabajadores_empresas`, `ge_trabajadores_grupos` |
| `frm_TrabajadoresGruposEditor.pas` | **UI** | `TfrmTrabajadoresGruposEditor` | 07 | Editor | `ge_trabajadores_empresas`, `ge_trabajadores_grupos` |
| `uRichEditHtmlHelper.pas` | **Common** | `uRichEditHtmlHelper` | 07 | Gestión / Tab | — |

---

## 7. Puntos de Integración Externa y Comunicaciones Telemáticas

```
┌─────────────────────────────────────────────────────────────────────────────────┐
│                    APLICACIÓN AGRIGEST / RAÚL ASENCIO                           │
│                                                                                 │
│   ┌──────────────┐   ┌──────────────┐   ┌──────────────┐   ┌────────────────┐   │
│   │  EDICOM EDI  │   │ AEAT SIF/    │   │ TRANSPORTES  │   │ WOOCOMMERCE    │   │
│   │  WebService  │   │ VERI*FACTU   │   │ TIPSA/NACEX  │   │ REST API       │   │
│   └──────┬───────┘   └──────┬───────┘   └──────┬───────┘   └───────┬────────┘   │
└──────────┼──────────────────┼──────────────────┼───────────────────┼────────────┘
           │                  │                  │                   │
           ▼                  ▼                  ▼                   ▼
    ┌──────────────┐   ┌──────────────┐   ┌──────────────┐   ┌────────────────┐
    │ El Corte     │   │ Agencia      │   │ Servidores   │   │ Tienda Online  │
    │ Inglés / EDI │   │ Tributaria   │   │ Centrales de │   │ raulasencio.es │
    │ Plataforma   │   │ Sede Oficial │   │ Paquetería   │   │ Pedidos Web    │
    └──────────────┘   └──────────────┘   └──────────────┘   └────────────────┘
```

1. **EDICOM (Intercambio Electrónico de Datos — EDIFACT)**:
   - **Protocolo**: Web Services SOAP seguro sobre HTTPS con autenticación por token.
   - **Mensajes**:
     - `ORDERS`: Recepción de pedidos de compra de grandes superficies (El Corte Inglés).
     - `DESADV` (Despatch Advice): Aviso previo de expedición con estructura física de bultos, pesos y etiquetas GS1-128 / SSCC.
     - `INVOIC`: Factura electrónica con formato legal estructurado.
2. **VERI*FACTU / SIF (Agencia Estatal de Administración Tributaria)**:
   - **Marco Legal**: Ley 11/2021 y Real Decreto 1007/2023.
   - **Mecanismo**: Generación de registros de facturación con encadenamiento criptográfico (hash SHA-256 de la factura actual incorporando la huella de la anterior), firma digital X.509 y transmisión en tiempo real o almacenamiento inmutable en `ge_sif_event_log`.
3. **Transportistas de Paquetería (TIPSA y NACEX)**:
   - **TIPSA**: WebService SOAP para tramitación de expedición, solicitud de recogida en obrador, tracking de envíos e impresión directa de etiquetas en impresoras térmicas Zebra (lenguaje ZPL) o PDF.
   - **NACEX**: API REST JSON para gestión de envíos nacionales y tracking.
   - **Prueba de Entrega (POD)**: Módulo de firma táctil [frm_FirmaRecogida.pas](file:///c:/fuentes/proyectos%20delphi/RAUL_ASENCIO/GESTION/src/UI/frm_FirmaRecogida.pas) para registro legal de entrega al transportista.
4. **Comercio Electrónico Web (WooCommerce)**:
   - **Protocolo**: REST API v3 con credenciales OAuth 1.0a sobre SSL.
   - **Flujo**: Sincronización bidireccional de pedidos de clientes y actualización de existencias de producto envasado desde `ge_stock_envasado`.
5. **Inteligencia Artificial (Google Gemini API)**:
   - **Endpoint**: API REST de Google Gemini mediante `TNetHTTPClient`.
   - **Propósito**: Asesoramiento operativo en el obrador, resolución de consultas sobre tiempos de fermentación, escandallos, fichas de alérgenos y auditoría IFS.

---
*Este documento constituye la referencia de arquitectura y navegación del proyecto AGRIGEST / Raúl Asencio.*
