================================================================================ MANUAL DE AYUDA — ELIMINAR ================================================================================ 1. DESCRIPCIÓN Y PROPÓSITO GENERAL -------------------------------------------------------------------------------- Formulario base genérico y reutilizable mediante **Herencia Visual de Formularios (Visual Form Inheritance)** de Delphi. Centraliza la maquetación visual estándar (paneles de acciones, búsquedas y rejilla), la gestión de recursos de datos (TFDQuery, TDataSource), la integración de la estética Premium de uAppTheme y la inicialización automática. Todos los listados comunes de la aplicación heredan de este módulo para garantizar coherencia visual, simplificación masiva de código, y **renderizado automático de campos booleanos/activos como checkbox** en su DBGrid principal. 2. GUÍA DE USO Y PROCEDIMIENTO PASO A PASO -------------------------------------------------------------------------------- ▶ Paso 1: Consulta y Búsqueda: Al acceder a la pantalla se muestra el listado general de registros. Escriba en el cuadro "Buscar..." para filtrar al instante por código, nombre o descripción. ▶ Paso 2: Filtros Avanzados: Utilice el panel lateral izquierdo para acotar el listado por Estado (Todos, Activo, Inactivo), por Rango de Fechas (Hoy, Última semana, Mes actual, Personalizado) o por Inicial Alfabética (A-Z). ▶ Paso 3: Crear Nuevo Registro: Pulse el botón "Añadir" ([+]) en la barra de herramientas superior para abrir la ficha de alta en blanco. ▶ Paso 4: Consultar o Modificar: Seleccione el registro deseado en la cuadrícula y pulse "Editar" ([✎]) o haga doble clic sobre la fila para abrir su ficha completa. ▶ Paso 5: Eliminar Registro: Seleccione la fila que desea dar de baja y pulse "Eliminar" ([🗑]). El sistema solicitará confirmación previa. ▶ Paso 6: Imprimir / Exportar: Pulse "Imprimir" ([🖨]) para generar el informe oficial, listado en PDF o exportación a hoja de cálculo Excel. 3. GUÍA DE CAMPOS Y CONTROLES PRINCIPALES -------------------------------------------------------------------------------- • Cuadro de Búsqueda Rápida: Permite localizar registros escribiendo cualquier coincidencia de texto. • Filtro de Estado: Desplegable para alternar entre registros activos, inactivos o todos. • Filtro de Rango de Fechas: Opciones predefinidas (Todos, Creados hoy, La última semana, El último mes, Personalizado) con selector de fechas. • Selector Alfabético: Botones de acceso directo (0-9 y A-Z) para filtrar al instante por la letra inicial. • Rejilla Principal: Cuadrícula interactiva con ordenación por columnas al hacer clic sobre su encabezado. 4. ACCIONES Y BOTONES DE LA BARRA DE HERRAMIENTAS -------------------------------------------------------------------------------- * [+] Añadir : Abre el formulario de alta para crear un nuevo registro. * [✎] Editar : Abre la ficha del registro seleccionado para consultar o modificar sus datos. * [🗑] Eliminar : Da de baja el registro seleccionado previa confirmación. * [🖨] Imprimir : Genera el informe oficial en PDF o exportación de datos. * [❓] Ayuda : Muestra este manual de usuario. 5. ATAJOS DE TECLADO Y NAVEGACIÓN RÁPIDA -------------------------------------------------------------------------------- • [Enter] : Confirma la selección, abre la ficha o avanza al siguiente campo. • [Escape] : Cierra la ventana actual o cancela la edición en curso. • [Espacio] : Marca o desmarca casillas de verificación (Checkboxes) en rejilla. • [F5] : Refresca inmediatamente los datos desde el servidor. • [Flechas Arriba/Abajo] : Desplaza el cursor entre registros de la lista. 6. REGLAS DE NEGOCIO Y NOTAS IMPORTANTES -------------------------------------------------------------------------------- ⚠ Renderizado Dinámico de Checkboxes: Se enlaza dinámicamente un manejador de dibujo a dbGridMain.OnDrawColumnCell si no hay otro asignado. Si una columna está asociada a un campo booleano o a un campo entero/texto cuyo nombre contenga 'activo' o 'active', el manejador limpia la celda, calcula y centra un control visual de checkbox y lo dibuja en estado marcado o desmarcado según el valor del campo (0/1, True/False, S/N, T/F). Para las demás columnas, se delega al dibujo estándar mediante DefaultDrawColumnCell. ⚠ Filtro Seguro de Estados y Campos Booleanos: En. la construcción de expresiones de filtro para campos como activo, active, facturado, pagada, pagado, comprobado y consolidado verifica dinámicamente mediante IsBoolFilterField si el campo es de tipo TBooleanField (o si la consulta está cerrada en la inicialización), utilizando la sintaxis de filtro nativa de FireDAC (campo = True) / (campo = False OR campo IS NULL) para evitar excepciones Cannot access field as type Integer. ⚠ Filtro de Rango de Fechas (Personalizado): Permite seleccionar un período dinámico entre dos fechas con componentes TDateTimePicker (dtpStart y dtpEnd). Al modificar las fechas, se marca automáticamente la opción "Personalizado" y se filtra el dataset considerando el día completo hasta el final de la fecha límite (< FechaFin + 1 usando Trunc). ⚠ Forzado Automático a Mayúsculas: En el evento. invoca a TAppTheme.ApplyUpperCaseToEdits(Self) para configurar todos los controles de edición (como el cuadro de búsqueda edtSearch) para escribir en mayúsculas por defecto de manera estándar.