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
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
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
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
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 ?
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; } })
$("#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
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
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
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...
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
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
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.
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();
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
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
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!
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
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
excelente curso , se aprende mucho con tus claras explicaiones. saludos sigue asi!
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
Hola, haces desarrollo a la medida?
Hola estimado, claro que sí, me puedes escribir a mi correo tutorialesphperu@gmail.com
Saludos
Muy bien explicado todos los apartados. Excelente toda la información. Sigue Adelante ..y haz el bien sin mirar a quien...
Muchas gracias lo sigo en su proyecto justamente ando cursando la materia y me viene al dedo muchas gracias
Hermano felicitaciones excelente video ya pude pasar al siguiente.
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
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
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
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;
}
}
Fantástico serie de videos con demasiado valor pana, cada apartado muy bien explicado, felicidades por la excelente labor detrás de todo ello ✨...
Esperando el proximo video muy buen tutorial
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 ?
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;
}
})
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
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
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
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
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...
muy buenos videos y muchísimas gracias. una pregunta veo que aun no tiene un modulo de Loguin si se desarrollara?
Tengo un proble a la hora de borra el jquery no me nuestra los producto y inventario
Excelente profe!, subirá mas videos.
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
Hola alguno le pasa que coloca el codigo de lproducto y dice el producto no existe o no tiene stock que podra ser
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
Profesor qué pasó con la siguiente parte vi que la subió y la eliminó
Hola estimado, lo que pasa es que el vídeo se subió sin audio, mañana lo estaré subiendo, un abrazo
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.
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;
}
@@TutorialesPHPeru Buenos días, ¡Solucionado!, muchísimas gracias. Continúo con este extraordinario curso.
Saludos,
Miguel.
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
tambien tengo ese problema lo haz solucionado?
saludossss
Buenas tardes por favor pudieron solucionar el problema de producto sin stock o no existe, gracias
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
revisa bien los archivos me paso lo mismo yo baje el plugin en la pagina de jquery-ui
Buenas, lo pudiste resolver? sldos
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!
hasta ahora todo bien