101 PREPARANDO DATOS para guardar VENTAS en el SISTEMA DE VENTAS (PHP y MySql) FullStack

Duraci贸n: 9 min
M贸dulo: 馃洅 L贸gica del Carrito y Clientes Din谩micos Lecci贸n 14 de 16

Descripci贸n

Lecci贸n 101: Preparaci贸n de Datos y C谩lculo del Cambio (FullStack) 馃捑

Este video se enfoca en implementar la l贸gica de c谩lculo del cambio en tiempo real mediante JavaScript (jQuery) y en comenzar la preparaci贸n de los datos que se enviar谩n al controlador para el guardado final de la venta.

1. L贸gica de C谩lculo de Cambio (jQuery) 馃捀

Se implement贸 el script de jQuery para calcular autom谩ticamente el cambio que debe entregarse al cliente:

  1. Identificadores de Campo: Se asignaron IDs a los tres campos clave [00:08]:
    • Monto Total a Cancelar: ID_total_a_cancelar (Valor total de la venta)
    • Total Pagado: ID_total_pagado (Monto que entrega el cliente)
    • Cambio: ID_cambio (Resultado de la operaci贸n)
  2. Activaci贸n del Evento: El c谩lculo se activa mediante el evento keyup en el campo ID_total_pagado [01:29]. Este evento garantiza que el c谩lculo se ejecute inmediatamente despu茅s de que el vendedor ingresa o modifica el monto pagado.
  3. C谩lculo: Se recuperan los valores, se convierten a n煤meros flotantes (parseFloat) para manejar decimales, y se realiza la resta [02:42]:

    JavaScript

    let cambio = parseFloat(total_pagado) - parseFloat(total_a_cancelar);

  4. Despliegue del Resultado: El resultado de la variable cambio se asigna al campo ID_cambio deshabilitado [03:34].

El resultado es un c谩lculo instant谩neo: si el total es 555 y el cliente paga 600, el campo "Cambio" muestra 45 autom谩ticamente [03:55].

2. Preparaci贸n de Datos para "Guardar Venta" 馃摝

Se dise帽贸 y se inici贸 la l贸gica para el bot贸n "Guardar Venta" [04:41], que ser谩 el punto de entrada al controlador que procesar谩 la transacci贸n completa:

a. Interfaz

  • Se a帽adi贸 un bot贸n "Guardar Venta" con el estilo btn-primary y el ID btn_guardar_venta [04:58].
  • Se confirm贸 que el bot贸n funciona correctamente mediante un evento click de jQuery [07:49].

b. Datos Necesarios

El sistema debe guardar solo la informaci贸n esencial en la tabla tb_ventas, ya que la mayor铆a de los detalles provienen de otras tablas relacionadas:

Campo a GuardarOrigen del DatoUso
N煤mero de VentaSe imprime al inicio de la vista (create.php) [08:18].Clave para relacionar con todos los productos del carrito (tb_carrito).
ID del ClienteSe jala del formulario despu茅s de la selecci贸n.Clave para obtener todos los datos del cliente (tb_clientes).
Total PagadoSe obtiene del campo ID_total_pagado [06:44].Monto final de la transacci贸n para fines de respaldo y contabilidad.

c. Recolecci贸n de Datos

Se inici贸 la recolecci贸n de variables dentro de la funci贸n click de jQuery para enviarlas posteriormente al controlador:

  • Se recolect贸 la variable $numero_de_venta impresa con PHP [08:33].

Pr贸ximo Paso: El siguiente video se enfocar谩 en recolectar el ID del cliente y el Total Pagado e implementar el controlador (guardar_venta.php) para ejecutar la transacci贸n completa (guardar venta, detalles de venta y actualizar stock).