================================================================================ MANUAL DE AYUDA — EDITOR DE ART ================================================================================ 1. DESCRIPCIÓN Y PROPÓSITO GENERAL -------------------------------------------------------------------------------- Este módulo implementa el formulario modal de edición y alta de artículos de la pastelería. Hereda visualmente de. proporcionando un entorno premium y consistente para introducir datos de referencia, descripciones, tarifas de precios (PVP 1 a 4), IVA aplicable y clasificaciones de inventario. 2. GUÍA DE USO Y PROCEDIMIENTO PASO A PASO -------------------------------------------------------------------------------- ▶ Paso 1: Introducción de Datos: Rellene los campos obligatorios del formulario (identificados con etiqueta destacada) y navegue entre las distintas pestañas de información si están disponibles. ▶ Paso 2: Validación de Información: Verifique que los importes, fechas o clasificaciones introducidas sean correctas antes de confirmar. ▶ Paso 3: Guardar Cambios: Pulse el botón "Guardar" ([💾]) para validar y almacenar la información en el sistema. ▶ Paso 4: Descartar Modificaciones: Si desea anular los cambios antes de guardar, pulse "Cancelar" ([✖]) para restaurar los valores originales. ▶ Paso 5: Navegación entre Registros: Utilice los botones de navegación ("Primero", "Anterior", "Siguiente", "Último") para revisar otras fichas del listado sin cerrar el editor. ▶ Paso 6: Cerrar Ventana: Pulse "Salir" ([🚪]) o la tecla [Escape] para volver a la pantalla principal. 3. GUÍA DE CAMPOS Y CONTROLES PRINCIPALES -------------------------------------------------------------------------------- • Campos Principales: Identificadores de cabecera (Código, Nombre / Razón Social, Fechas, Estado). • Casilla "Activo": Permite habilitar o deshabilitar el registro en el sistema. • Pestañas de Detalle: Secciones temáticas para clasificar la información comercial, operativa y técnica. 4. ACCIONES Y BOTONES DE LA BARRA DE HERRAMIENTAS -------------------------------------------------------------------------------- * [💾] Guardar : Valida y almacena los datos introducidos en la base de datos. * [✖] Cancelar : Descarta los cambios no guardados y restaura el estado original. * [➕] Añadir : Limpia los campos del formulario para iniciar una nueva alta. * [🗑] Eliminar : Elimina el registro actual previa confirmación. * [⏮] Primero : Se desplaza al primer registro del catálogo. * [◀] Anterior : Retrocede al registro anterior. * [▶] Siguiente : Avanza al siguiente registro. * [⏭] Último : Se desplaza al último registro del catálogo. * [🚪] Salir : Cierra la ventana de edición. * [❓] Ayuda : Muestra la guía de uso de esta ficha. 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 -------------------------------------------------------------------------------- ⚠ Campo Ingredientes (TEXT): Los ingredientes se introducen directamente en el control memIngredientes (etiqueta Ingredientes:) ubicado en la pestaña principal de la cabecera del artículo. Se almacena como un texto multilínea de tipo TEXT en la columna.ingredientes. ⚠ Cálculo Cruzado e Interactivo de PVPs con/sin IVA: ⚠ Se implementó un algoritmo recíproco que recalcula de forma interactiva el precio con IVA al modificar el precio sin IVA (edtPvp1.4 -> edtPvp1Iva.4Iva) y viceversa (edtPvp1Iva.4Iva -> edtPvp1.4). ⚠ Utiliza el porcentaje de IVA del registro seleccionado en cbTipoIva, cargado dinámicamente desde FIvaPorcentajes. ⚠ Evitar Bucles de Eventos Recursivos: Se utiliza la bandera booleana privada FUpdatingPrices. Al actualizar programáticamente el valor del control relacionado en OnChange, se activa la bandera para que los eventos recursivos salgan de forma inmediata sin procesarse, previniendo cuelgues o desbordamiento de pila por llamadas cíclicas infinitas. ⚠ Conversión de Decimales Segura: Se implementó la remoción de los separadores de miles de forma segura para garantizar la conversión precisa de strings a floats sin fallos, respetando la configuración regional del sistema. ⚠ Imagen del Producto integrada en : En lugar de alterar la tabla (seguridad de base de datos), la imagen del producto se guarda como un BLOB en la tabla de documentos compartida con la descripción unificada IMAGEN_PRODUCTO. ⚠ Campo Descripción Etiqueta e Ingredientes (TEXT / HTML): Permite definir el texto enriquecido que se imprimirá específicamente en las etiquetas (EtiquetaCaja.fr3 y EtiquetaProducto.fr3). Cuentan con mini-barras de herramientas con botones de Negrita [N], Subrayado [S], desplegable de tamaño y el botón de Código/Ocultos []. El botón [] conmuta entre la vista visual enriquecida (WYSIWYG) y la vista de código fuente con tipografía monoespaciada (Consolas), permitiendo ver, inspeccionar y corregir las etiquetas HTML subyacentes (, , ,
) y caracteres ocultos. FastReport interpreta de manera nativa estas etiquetas mediante AllowHTMLTags="True". ⚠ Apertura de Documentación: La visualización de PDFs o imágenes adjuntas se realiza exportando el contenido LONGBLOB desde la base de datos a un archivo temporal (TPath.GetTempPath + nombre_archivo) y llamando a ShellExecute para abrirlo con la aplicación nativa del sistema.