49 MÓDULO COMPRAS del Sistema de Ventas con (PHP y MySql) FullStack

Duración: 16 min
Módulo: 💰 Implementación y Registro del Módulo de Compras Lección 1 de 17

Descripción

Lección 49: Creación del Módulo Compras (Fase 1: Lectura y Estructura) 🛒📄

Este video inicia el desarrollo del Módulo de Compras, que registra la entrada de inventario al sistema, conectándolo con los módulos de Productos, Proveedores y Usuarios. La primera fase se centra en la estructura de la interfaz de usuario (vista) y el controlador de listado para mostrar los datos brutos de la tabla tb_compras.

1. 📂 Estructura del Módulo

Se crean los directorios y archivos base para el nuevo módulo [01:11]:

  • Vistas: vistas/compras/index.php
  • Controladores: controladores/compras/

2. 🗃️ Campos de la Tabla tb_compras

Antes de programar, se revisa la estructura de la tabla tb_compras en la base de datos para identificar los campos clave que se deben manejar [02:37]:

  • id_compras (Autoincremental)
  • id_producto (Clave foránea)
  • numero_compra
  • fecha_compra
  • id_proveedor (Clave foránea)
  • comprobante (Ej: Factura)
  • id_usuario (Clave foránea)
  • precio_compra (Costo en dinero)
  • cantidad (Unidades que ingresan al almacén)
  • fecha_hora_creacion

3. 📝 Configuración del Menú de Navegación

Se añade el Módulo Compras al menú lateral (layout/parte1.php) [04:52]:

  • Título: Compras
  • Ícono: fa fa-cart-plus [06:03]
  • Opciones:
    • Listado de Compras (Redirige a vistas/compras/index.php)
    • Creación de Compra (Redirige a vistas/compras/create.php, este archivo se crea inicialmente)

4. 📊 Listado de Compras (Vista y Controlador)

A. Controlador de Listado (listado_compras.php)

Se crea el controlador utilizando una plantilla del listado de productos, pero se modifica para una simple consulta SELECT inicial a la tabla tb_compras [08:10]:

PHP

SELECT * FROM tb_compras

  • Esta consulta inicial solo devuelve los IDs de las claves foráneas (id_producto, id_proveedor, id_usuario), no los nombres legibles.

B. Vista index.php (Tabla)

Se utiliza el boilerplate (código base) de la vista del módulo Almacén (almacen/index.php) y se adapta para mostrar la información de las compras en una tabla DataTable [07:08]:

ColumnaCampo de la BD (Bruto)
Contador
Nº de Compranumero_compra
Productoid_producto
Fecha de Comprafecha_compra
Proveedorid_proveedor
Comprobantecomprobante
Usuarioid_usuario
Precio Compraprecio_compra
Cantidadcantidad
Acciones(Editar/Eliminar)

Estado Actual: En este punto, el listado muestra los IDs de las relaciones (1, 10, 4, etc.) en lugar de los nombres reales de los productos, proveedores y usuarios.

5. Próxima Lección

La siguiente lección se centrará en mejorar el listado utilizando consultas con JOIN en el controlador (listado_compras.php) para reemplazar los IDs numéricos con los nombres legibles de los Productos, Proveedores y Usuarios asociados a cada compra [15:08].