PC Shop — Aplicación de gestión comercial en Delphi

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, TVenta y TMovimientoStock.
  • 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.