15 Sistema de Punto Venta - Iniciando el modulo de ventas Pt 1

Поділитися
Вставка
  • Опубліковано 28 жов 2024

КОМЕНТАРІ • 41

  • @TutorialesPHPeru
    @TutorialesPHPeru  9 місяців тому +2

    URL: tutorialesphperu.com/pos/​
    Usuario: administrador
    Password: 123456
    El sistema está a la venta y si lo requieren se le puede hacer ajustes.
    Si estas interesado en comprar el código fuente del proyecto contáctame por correo electrónico a: tutorialesphperu@gmail.com

  • @TutorialesPHPeru
    @TutorialesPHPeru  2 роки тому +10

    Hola amigos, en estos días estaré subiendo el vídeo para concluir con el módulo de ventas e iniciaremos un nuevo apartado para abordar facturación electrónica, el cual es un tema un poco amplio y complicado pero que lo vamos a detallar.
    Saludos y gracias por su apoyo

    • @Orilezama
      @Orilezama 2 роки тому +1

      excelente curso , se aprende mucho con tus claras explicaiones. saludos sigue asi!

  • @jhonymamanicondori3978
    @jhonymamanicondori3978 4 місяці тому

    Muchas Gracias por las enseñanzas profe, una consulta en caso de que quiera que sea de prestamos en vez de ventas como podría realizarlo

  • @edwinramirez3493
    @edwinramirez3493 10 місяців тому +1

    Hola, haces desarrollo a la medida?

    • @TutorialesPHPeru
      @TutorialesPHPeru  10 місяців тому

      Hola estimado, claro que sí, me puedes escribir a mi correo tutorialesphperu@gmail.com
      Saludos

  • @brauliohurtado508
    @brauliohurtado508 2 роки тому +1

    Muy bien explicado todos los apartados. Excelente toda la información. Sigue Adelante ..y haz el bien sin mirar a quien...

  • @psniahc6185
    @psniahc6185 2 роки тому +1

    Muchas gracias lo sigo en su proyecto justamente ando cursando la materia y me viene al dedo muchas gracias

  • @cesarsantillana2366
    @cesarsantillana2366 2 роки тому +1

    Hermano felicitaciones excelente video ya pude pasar al siguiente.

  • @TutorialesPHPeru
    @TutorialesPHPeru  2 роки тому +4

    Hola amigos, les dejo el enlace para que puedan descargar el código fuente hasta esta ultima clase:
    github.com/Luison84/market-pos_clase_15
    Saludos

    • @gerald5768
      @gerald5768 2 роки тому +1

      Hay un problema que se presenta en el sistema. Siempre que se carga el Excel no se cargan los productos pero si las categorías. Hay una solución para eso? Justo abrí el archivo que dejó y pasa eso.
      Cuando voy a network, me aparece que hay:
      totalCategorias: 19
      totalProductos: 0

    • @TutorialesPHPeru
      @TutorialesPHPeru  2 роки тому

      Hola @@gerald5768 , yo estoy haciendo pruebas con el codigo que les deje en el enlace y funciona correctamente, pero igualmente se tendria que hacer este pequeño ajuste, coloca el siguiente codigo antes de iniciar el ciclo for para el registro de categorias:
      $stmt = Conexion::conectar()->prepare("delete from categorias");
      $stmt -> execute();
      $stmt = Conexion::conectar()->prepare("delete from productos");
      $stmt -> execute();
      Esto es para borrar el contenido de las tablas y evitar registros duplicados.
      Me cuentas como te fue.
      Slds

    • @TutorialesPHPeru
      @TutorialesPHPeru  2 роки тому

      hola @@gerald5768, al parecer cuando recupera la cantidad de filas tambien toma algunas filas vacias, prueba con lo siguiente:
      Coloca esto:
      if(!empty($CodigoBarras) && strlen($CodigoBarras) > 0){
      $stmt = Conexion::conectar()->prepare("INSERT INTO PRODUCTOS(codigo_producto,
      id_categoria_producto,
      descripcion_producto,
      precio_compra_producto,
      precio_venta_producto,
      utilidad,
      stock_producto,
      minimo_stock_producto,
      ventas_producto,
      fecha_actualizacion_producto)
      VALUES (:codigo_producto,
      :id_categoria_producto,
      :descripcion_producto,
      :precio_compra_producto,
      :precio_venta_producto, :utilidad, :stock_producto, :minimo_stock_producto, :ventas_producto, :fecha_actualizacion_producto)");

      $stmt -> bindParam(":codigo_producto", $CodigoBarras, PDO::PARAM_STR);
      $stmt -> bindParam(":id_categoria_producto",$id_categoria[0], PDO::PARAM_STR);
      $stmt -> bindParam(":descripcion_producto", $Producto , PDO::PARAM_STR);
      $stmt -> bindParam(":precio_compra_producto", $Precio_Compra , PDO::PARAM_STR);
      $stmt -> bindParam(":precio_venta_producto", $Precio_Venta , PDO::PARAM_STR);
      $stmt -> bindParam(":utilidad", $Utilidad , PDO::PARAM_STR);
      $stmt -> bindParam(":stock_producto", $Stock , PDO::PARAM_STR);
      $stmt -> bindParam(":minimo_stock_producto", $Minimo_Stock , PDO::PARAM_STR);
      $stmt -> bindParam(":ventas_producto", $Ventas , PDO::PARAM_STR);
      $stmt -> bindParam(":fecha_actualizacion_producto", $Fecha_Actualizacion , PDO::PARAM_STR);


      if($stmt -> execute()){
      $productosRegistrados = $productosRegistrados + 1;
      $resultado = "ok";
      }else{
      $resultado = "error";
      $productosRegistrados = 0;
      }

      }

  • @js.espinozamiranda
    @js.espinozamiranda 2 роки тому +3

    Fantástico serie de videos con demasiado valor pana, cada apartado muy bien explicado, felicidades por la excelente labor detrás de todo ello ✨...

  • @jona120
    @jona120 2 роки тому +1

    Esperando el proximo video muy buen tutorial

  • @javguzlop
    @javguzlop 2 роки тому +2

    Felicitaciones, muy buen video
    gracias por compartir sus enseñanzas ...
    Una Pregunta, realice una prueba donde tengo 1500 registros de productos y al momento de hacer la consulta se demora mucho, especialmente cuando si por error coloco un solo caracter al leer, no sucede lo mismo cuando la busqueda es mas precisa desde luego...
    hay alguna forma de que empiece la busqueda despues de digitar por decir algo en el tercer(3) caracter para que la busqueda sea mas eficiente ?

    • @javguzlop
      @javguzlop 2 роки тому +1

      Ya encontre la configuracion de autocomplete
      hay que adicionar la siguiente linea ..
      $("#iptCodigoVenta").autocomplete({
      source: items,
      minLength : 3,
      select: function (event, ui) {
      CargarProductos(ui.item.value);
      $("#iptCodigoVenta").val("");
      $("#iptCodigoVenta").focus();
      return false;
      }
      })

    • @TutorialesPHPeru
      @TutorialesPHPeru  2 роки тому +3

      Hola Javier, puedes usar el siguiente codigo:
      $("#iptCodigoVenta").autocomplete({minLength: 3},{
      source: items,
      select: function(event, ui) {
      CargarProductos(ui.item.value);

      $("#iptCodigoVenta").val("");
      $("#iptCodigoVenta").focus();
      return false;
      }
      })
      Con eso tu puedes indicarle a partir de cuantos caracteres puede empezar la búsqueda.
      Espero que te ayude.
      Slds

  • @javguzlop
    @javguzlop 2 роки тому

    una pregunta en videos anteriores especificamente en la seccion de inventarios cuando deseo adicionar un producto estoy utilizando el complemento SELECT2 en la categoria, pero no se coloca el focus para hacer la busqueda, depronto alguna sugeriencia al respecto
    Muchas gracias...
    Saludos desde Colombia

  • @orlandoduran6685
    @orlandoduran6685 Рік тому

    Al momento de buscar el producto en el input solo me aparece la descripción, pero si la misma consulta la ejecuto en el administrador de base de datos, si me concatena todas las columnas que se piden

  • @luiseduardocerdamendoza4287

    hola disculpa me marca un error en el jquery.min.js el cual me dice que es una funcion obsoleta la que se usa nose si puedan ayudarme

  • @fjnmorenod
    @fjnmorenod Рік тому

    Hola amigoGracias por compartir tus conocimientos... actualice el archivo a la version 15 y no me actualiza los productos para la lista de ventas que podria estar haciendo mal...

  • @gabriel_soto2342
    @gabriel_soto2342 2 роки тому +1

    muy buenos videos y muchísimas gracias. una pregunta veo que aun no tiene un modulo de Loguin si se desarrollara?

  • @alexxisquepuy7644
    @alexxisquepuy7644 Рік тому

    Tengo un proble a la hora de borra el jquery no me nuestra los producto y inventario

  • @darwincheje1093
    @darwincheje1093 2 роки тому

    Excelente profe!, subirá mas videos.

  • @sergiofloriano8068
    @sergiofloriano8068 2 роки тому

    buen día amigo sigo tus videos tengo un problema me sale error en el replace al momento de definir el formato de MILES: le borro del replace y me muestra los datos
    que puede ser ????? descargue tu archivo pero igual el error también sale

  • @raulpdiaz
    @raulpdiaz Рік тому

    Hola alguno le pasa que coloca el codigo de lproducto y dice el producto no existe o no tiene stock que podra ser

    • @ivangonzalezopazo6275
      @ivangonzalezopazo6275 Рік тому

      Hola Raul!, he estado buscando solucion a algo "parecido" comparando el codigo que comparte el profe, a mi no carga el producto en la tabla, de casualidad lograste encontrar solucion a tu problema? ... Saludos

  • @vvci3
    @vvci3 2 роки тому +1

    Profesor qué pasó con la siguiente parte vi que la subió y la eliminó

    • @TutorialesPHPeru
      @TutorialesPHPeru  2 роки тому +1

      Hola estimado, lo que pasa es que el vídeo se subió sin audio, mañana lo estaré subiendo, un abrazo

  • @miguelmarcosgil8125
    @miguelmarcosgil8125 2 роки тому +1

    Buens tardes.
    Me encuentro anclado en el víneo nro. 7 por el siguiente motivo:
    Las Categorías las realiza, pero
    después manda el mensaje de error y no registra los Productos, lo he intentado de todas las formas siguiendo el vídeo, copiando el código… y nada sigue igual, como veo que casi todos lo han conseguido,por favor ¿ pueden ayudarme?
    Muchisimas gracias.
    Miguel.

    • @TutorialesPHPeru
      @TutorialesPHPeru  2 роки тому

      Hola Miguel, intenta reemplazando la function con este codigo:
      static public function mdlCargaMasivaProductos($fileProductos){
      $nombreArchivo = $fileProductos['tmp_name'];
      $documento = IOFactory::load($nombreArchivo);
      $hojaCategorias = $documento->getSheet(1);
      $numeroFilasCategorias = $hojaCategorias->getHighestDataRow();

      $hojaProductos = $documento->getSheetByName("Productos");
      $numeroFilasProductos = $hojaProductos->getHighestDataRow();
      $categoriasRegistradas = 0;
      $productosRegistrados = 0;
      $stmt = Conexion::conectar()->prepare("delete from categorias");
      $stmt -> execute();
      $stmt = Conexion::conectar()->prepare("delete from productos");
      $stmt -> execute();
      //CICLO FOR PARA REGISTROS DE CATEGORIAS
      for ($i=2; $i getCellByColumnAndRow(1,$i);
      $aplica_peso = $hojaCategorias->getCellByColumnAndRow(2,$i);
      $fecha_actualizacion = date("Y-m-d");
      if(!empty($categoria)){
      $stmt = Conexion::conectar()->prepare("INSERT INTO categorias(nombre_categoria,
      aplica_peso,
      fecha_actualizacion_categoria)
      values(:nombre_categoria,
      :aplica_peso,
      :fecha_actualizacion_categoria);");
      $stmt -> bindParam(":nombre_categoria",$categoria,PDO::PARAM_STR);
      $stmt -> bindParam(":aplica_peso",$aplica_peso,PDO::PARAM_STR);
      $stmt -> bindParam(":fecha_actualizacion_categoria",$fecha_actualizacion,PDO::PARAM_STR);
      if($stmt->execute()){
      $categoriasRegistradas = $categoriasRegistradas + 1;
      }else{
      $categoriasRegistradas = 0;
      }
      }

      }
      if($categoriasRegistradas > 0){
      //CICLO FOR PARA REGISTROS DE PRODUCTOS
      for ($i=2; $i getCell("A".$i);
      $id_categoria_producto = ProductosModelo::mdlBuscarIdCategoria($hojaProductos->getCell("B".$i));
      $descripcion_producto = $hojaProductos->getCell("C".$i);
      $precio_compra_producto = $hojaProductos->getCell("D".$i);
      $precio_venta_producto = $hojaProductos->getCell("E".$i)->getCalculatedValue();;
      $utilidad = $hojaProductos->getCell("F".$i)->getCalculatedValue();;
      $stock_producto = $hojaProductos->getCell("G".$i);
      $minimo_stock_producto = $hojaProductos->getCell("H".$i);
      $ventas_producto = $hojaProductos->getCell("I".$i);
      $fecha_actualizacion_producto = date('Y-m-d');
      if(!empty($codigo_producto) && strlen($codigo_producto) > 0){
      $stmt = Conexion::conectar()->prepare("INSERT INTO productos(codigo_producto,
      id_categoria_producto,
      descripcion_producto,
      precio_compra_producto,
      precio_venta_producto,
      utilidad,
      stock_producto,
      minimo_stock_producto,
      ventas_producto,
      fecha_actualizacion_producto)
      values(:codigo_producto,
      :id_categoria_producto,
      :descripcion_producto,
      :precio_compra_producto,
      :precio_venta_producto,
      :utilidad,
      :stock_producto,
      :minimo_stock_producto,
      :ventas_producto,
      :fecha_actualizacion_producto);");
      $stmt -> bindParam(":codigo_producto",$codigo_producto,PDO::PARAM_STR);
      $stmt -> bindParam(":id_categoria_producto",$id_categoria_producto[0],PDO::PARAM_STR);
      $stmt -> bindParam(":descripcion_producto",$descripcion_producto,PDO::PARAM_STR);
      $stmt -> bindParam(":precio_compra_producto",$precio_compra_producto,PDO::PARAM_STR);
      $stmt -> bindParam(":precio_venta_producto",$precio_venta_producto,PDO::PARAM_STR);
      $stmt -> bindParam(":utilidad",$utilidad,PDO::PARAM_STR);
      $stmt -> bindParam(":stock_producto",$stock_producto,PDO::PARAM_STR);
      $stmt -> bindParam(":minimo_stock_producto",$minimo_stock_producto,PDO::PARAM_STR);
      $stmt -> bindParam(":ventas_producto",$ventas_producto,PDO::PARAM_STR);
      $stmt -> bindParam(":fecha_actualizacion_producto",$fecha_actualizacion_producto,PDO::PARAM_STR);
      if($stmt->execute()){
      $productosRegistrados = $productosRegistrados + 1;
      }else{
      $productosRegistrados = 0;
      }
      }
      }
      }

      $respuesta["totalCategorias"] = $categoriasRegistradas;
      $respuesta["totalProductos"] = $productosRegistrados;
      return $respuesta;
      }

    • @miguelmarcosgil8125
      @miguelmarcosgil8125 2 роки тому +1

      @@TutorialesPHPeru Buenos días, ¡Solucionado!, muchísimas gracias. Continúo con este extraordinario curso.
      Saludos,
      Miguel.

  • @aprendecienciasconjosue5718
    @aprendecienciasconjosue5718 2 роки тому

    Hola, profesor tengo un problema en el video 15, cuando intento seleccionar el producto para añadir el producto a la tabla de ventas me vota el mensaje "producto no existe o no tiene stock", favor aque se debe muchas gracias, espero su respuesta

    • @fredybravo1748
      @fredybravo1748 2 роки тому +1

      tambien tengo ese problema lo haz solucionado?
      saludossss

    • @marceloescobedo7967
      @marceloescobedo7967 2 роки тому

      Buenas tardes por favor pudieron solucionar el problema de producto sin stock o no existe, gracias

  • @cesarsantillana2366
    @cesarsantillana2366 2 роки тому

    Buenas noches etsoy en esta parte medio estancado me esta saliendo Uncaught TypeError: $(...).autocomplete is not a function
    esto poniendo los archivos del jquery-ui

    • @irvingflores6513
      @irvingflores6513 2 роки тому

      revisa bien los archivos me paso lo mismo yo baje el plugin en la pagina de jquery-ui

    • @comunidadjava5179
      @comunidadjava5179 Рік тому

      Buenas, lo pudiste resolver? sldos

  • @juliot2166
    @juliot2166 2 роки тому

    Hola, gracias por tu dedicación a hacer este excelente tutorial, por pura curiosidad solo saber si en Perú todos los productos alimenticios son grabados por IGV, ya que en las Ventas calculas ese impuesto para todos los productos. En México productos de la "Canasta básica" como huevo, leche, pan, etc no son grabados por impuesto de venta (IVA)
    Saludos!

  • @vvci3
    @vvci3 2 роки тому

    hasta ahora todo bien