PROYECTO DELPHI · ESCRITORIO
PC Shop
Gestión comercial con Delphi VCL, FireDAC y SQLite. Un proyecto práctico orientado a datos, inventario y trazabilidad.
Ficha técnica
- Tecnologías: Delphi, Object Pascal, VCL, FireDAC, SQLite, Git y GitHub.
- Plataforma: Windows.
- Estado: desarrollo evolutivo con funcionalidades funcionales y comprobadas durante las sesiones.
- Repositorio de referencia: 101aero/PcshopPV (repositorio público).
Qué se desarrolla
- Alta, consulta, modificación y eliminación de productos.
- Gestión de clientes y ventas, incluidas operaciones asociadas al inventario.
- Control de existencias y registro de movimientos de stock.
- Persistencia de datos relacionales mediante SQLite y FireDAC.
- Validaciones, búsquedas y registro de incidencias para facilitar el mantenimiento.
Arquitectura y decisiones técnicas
- Los formularios VCL proporcionan la interfaz de usuario.
- Un módulo de datos centraliza el acceso a la base de datos mediante FireDAC.
- El código utiliza sentencias SQL parametrizadas para las operaciones de datos.
- Las transacciones COMMIT/ROLLBACK ayudan a mantener la coherencia de ventas y movimientos.
- Las colecciones de objetos, incluido
TObjectList<T>, permiten trabajar con modelos en memoria.
Problemas resueltos y aprendizajes
- Diagnóstico del error de SQLite
database is locked. - Copias de seguridad y restauración de datos.
- Trazabilidad de las ventas, líneas de venta y cambios de stock.
- Versionado con Git para conservar avances comprobados.
El código fuente del proyecto se consulta públicamente en GitHub y permite revisar las soluciones implementadas.
Documentación y capturas
Las capturas reales de la interfaz y las guías específicas se incorporan conforme se seleccionan y verifican en el proyecto. No se utilizan imágenes ilustrativas como si fueran capturas auténticas.
Arquitectura del programa
PC Shop separa la interfaz del modelo de dominio y del acceso a datos. Su flujo principal se presenta como VCL → objetos de dominio → Data Module → FireDAC → SQLite.
- Interfaz: formularios VCL y controles diseñados desde Delphi.
- Modelo: clases como
TProducto,TCliente,TVentayTMovimientoStock. - Persistencia: consultas SQL parametrizadas y operaciones centralizadas.
- Diagnóstico: registro de incidencias en
logs/pcshop.log.
Ventas y trazabilidad del inventario
La aplicación comprueba las existencias, registra ventas y actualiza el stock. Los movimientos utilizan los tipos ENTRADA, SALIDA y AJUSTE; las cantidades reflejan el cambio real del inventario.
- Se admiten ventas con cliente y ventas anónimas.
- Se conserva el historial de operaciones.
- Se asocian los movimientos con sus ventas cuando corresponde.
- Una auditoría revisa ventas sin movimiento y diferencias de cantidades.
La evolución hacia ventas con varios productos requiere comprobar las relaciones entre ventas, líneas y movimientos antes de aplicar índices únicos.
Mantenimiento de datos y compatibilidad histórica
El proyecto incorpora migraciones explícitas para añadir columnas sin destruir bases existentes. La marca Trazable permite distinguir inicialmente operaciones históricas de operaciones sujetas a nuevas reglas.
La copia mediante TFDSQLiteBackup y la restauración controlada permiten preparar pruebas de recuperación, así como validar la integridad de los datos antes y después de una migración.
Ticket, documentación y evolución
El README documenta una primera versión funcional del ticket de venta, junto con búsquedas, resúmenes de ventas y control de inventario. La generación de PDF, impresión y evolución del ticket continúan como líneas de mejora.
El repositorio se publica con licencia MIT. El desarrollo mantiene como prioridad la funcionalidad, las pruebas y la capacidad de conservar datos existentes.
Guías relacionadas
Referencia (APA 7): 101aero. (s. f.). PC Shop [Código fuente]. GitHub. https://github.com/101aero/PcshopPV.
Consultar código en GitHub ↗ Todos los proyectos
Referencia: 101aero. (s. f.). Repositorio del proyecto. GitHub. https://github.com/101aero/PcshopPV.
