Tutorial sistema de ventas con Python Tkinter - Parte #8

Поделиться
HTML-код
  • Опубликовано: 9 сен 2024
  • 🌎Si deseas apoyar el canal puedes hacer tus donaciones regalandome un café en el siguiente link buymeacoffee.c..., no olvides dejar tu like, compartir y suscribirte al canal!
    ✅Si deseas adquirir el codigo fuente realiza tu compra en el siguiente enlace, tiene un costo de $5 USD! buymeacoffee.c...
    🔴Hola a todos! en este video continuamos con la creación de una aplicación de escritorio de un sistema de ventas con inventario basico desde cero, utilizaremos el lenguaje de programación Python con su librería por defecto Tkinter y base de datos SQlite3.
    ⬇️ Tambien puedes adquirir los siguientes codigos:
    • Sistema punto de ventas: • Punto de venta | Pytho...
    • Sistema de inventarios: • Sistema de inventarios...
    • Sistema de farmacias: • Sistema de farmacias |...
    🎓 Tambien puedes acceder al tutorial totalmente gratuito en donde aprenderas a realizar un sistema de ventas:
    🎥 • Tutorial sistema de ve...

Комментарии • 24

  • @user-ml4eu5tq6j
    @user-ml4eu5tq6j День назад

    Muchas gracias profe, vamos al pie de la letra con todo, se merece miles de cosas buenas por brindarnos sus conocimientos!!

  • @sofiarivera9300
    @sofiarivera9300 3 месяца назад +3

    Gracias! Voy haciendo el video contigo, estaba esperando este video, eres muy bueno explicando 🤩

    • @kevinarboleda7597
      @kevinarboleda7597  3 месяца назад +1

      Muchas gracias por el apoyo! Que bueno que te gusten los videos! Saludos!

  • @dennysfabianfalconlainez4932
    @dennysfabianfalconlainez4932 2 месяца назад +1

    Menos mal, casi nadie lo hace en python eres grande.!

    • @kevinarboleda7597
      @kevinarboleda7597  2 месяца назад

      Muchas gracias por el apoyo! Se vienen mas proyectos próximamente!

  • @sugaralipadillacarrera4626
    @sugaralipadillacarrera4626 3 месяца назад +2

    Excelente!!
    Al momento de generar la factura no se le podría colocar un botón que la genere a un PDF.?

    • @kevinarboleda7597
      @kevinarboleda7597  3 месяца назад +1

      Claro, se puede generar una función que exporte la factura en PDF con todos los datos de la venta, probablemente lo adiciones una vez termine el tutorial! Saludos!

    • @sugaralipadillacarrera4626
      @sugaralipadillacarrera4626 3 месяца назад +1

      @@kevinarboleda7597 Gracias!!
      La esperamos.

  • @gronedesconocido9672
    @gronedesconocido9672 2 месяца назад +1

    una consulta dijiste que en el minuto 33.53 es sin decimales como lo hago para que sea con decimales
    por favor me podrías ayudar

    • @gronedesconocido9672
      @gronedesconocido9672 2 месяца назад +1

      por favor te pido la ayuda por yo soy de
      Perú y si usamos decimales

    • @kevinarboleda7597
      @kevinarboleda7597  2 месяца назад +1

      Hola Grone, para utilizar decimales reemplaza el .0f por .2f si en tu país utilizan 2 decimales, tendrás que revisar en toda la lógica del proyecto para implementarla, saludos!

    • @gronedesconocido9672
      @gronedesconocido9672 2 месяца назад

      @@kevinarboleda7597 gracias

  • @danielr2979
    @danielr2979 3 месяца назад +1

    Perfecto!!! Voy bien hasta ahora!!!
    Ahora a esperar el siguiente video.
    Una consulta... cuando sale un cartel ya sea cualquiera, como podes evitar que se mezclen las ventanas?
    Por ejemplo: cuando le das a pagar la ventana del menu principal se posiciona adelante y ventas se va para atras, ocurre con cualquier tipo de mensaje ya sea de aviso o error

    • @kevinarboleda7597
      @kevinarboleda7597  3 месяца назад

      Hola Daniel, muchas gracias por la sugerencia, prueba agregar estas ultimas 4 lineas de codigo en el archivo container.py funcion show frames y me cuentas como te va!
      def show_frames(self, container):
      top_level = tk.Toplevel(self)
      frame = container(top_level)
      frame.config(bg="#C6D9E3")
      frame.pack(fill="both", expand=True)
      top_level.geometry("1100x650+120+20")
      top_level.resizable(False, False)
      top_level.transient(self.master)
      top_level.grab_set()
      top_level.focus_set()
      top_level.lift()

    • @danielr2979
      @danielr2979 2 месяца назад +1

      ​@@kevinarboleda7597 Si muy bueno Gracias!
      Se lo agregue a todas las ventanas.
      Tambien le hice una logica de centrado automatico de ventanas!
      window_width = 800
      window_height = 500
      screen_width = self.winfo_screenwidth()
      screen_height = self.winfo_screenheight()
      x = (screen_width - window_width) // 2
      y = (screen_height - window_height) // 2
      ventana_factura.geometry(f"{window_width}x{window_height}+{x}+{y}")
      agregado a todas las ventanas tambien!
      Ahora solo me queda limpiar la base por que me arrojaba un error en el numerador de factura y guarde varias facturas con el mismo numero de factura pero ya lo solucione 😄

  • @cesarcoraquillo
    @cesarcoraquillo Месяц назад

    gracias eres un crack una consulta como puedo hacer para se elimine todo el registro del programa de fracturas registradas y que empiece desde cero también prácticamente también el numero de boleta que se reinicie

    • @kevinarboleda7597
      @kevinarboleda7597  Месяц назад

      Hola cesar buen día! gracias por tus comentarios, claro que puedes eliminar todos los registros de la base de datos, utiliza el programa DB Browser y abre la base de datos, ubica las tablas y desde ahi eliminar todos los registros que quieras, si vas a la tabla ventas y eliminas todos los registros las facturas iniciaran desde cero! saludos!

    • @cesarcoraquillo
      @cesarcoraquillo Месяц назад

      gracias por la respuesta yo me refería como hacerlo con un botón dentro del mismo programa

  • @sugaralipadillacarrera4626
    @sugaralipadillacarrera4626 Месяц назад

    Buenos días!!
    Una pregunta, estuve intentando colocar en la ventana ventas qué cuando seleccione un producto me aparezca la cantidad de productos que hay en el inventario, pero no me funcionó lo que hice.
    Como lo podría hacer?
    Gracias.

    • @kevinarboleda7597
      @kevinarboleda7597  Месяц назад +1

      Hola Padilla, bueno en ese caso deberias modificar varias cosas, empezando por que debes crear un label para el stock, ejemplo:
      self.label_stock = tk.Label(labelframe, text="Stock:", font="sans 14 bold", bg="#dddddd")
      self.label_stock.place(x=400, y=70) no olvides cambiar la posición y si esta dentro de algun frame
      def actualizar_stock(self, event=None):
      producto_seleccionado = self.entry_nombre.get()
      try:
      conn = sqlite3.connect(self.db_name)
      c = conn.cursor()
      c.execute("SELECT stock FROM inventario WHERE nombre=?", (producto_seleccionado,))
      stock = c.fetchone()[0]
      conn.close()
      self.label_stock.config(text=f"Stock: {stock}")
      except sqlite3.Error as e:
      print("Error al obtener el stock del producto:", e)
      self.entry_nombre.bind("", self.actualizar_stock) # Llamar a actualizar_stock cuando se seleccione un producto
      este podria ser un ejemplo de como adaptar la función al codigo, Saludos!

    • @sugaralipadillacarrera4626
      @sugaralipadillacarrera4626 Месяц назад

      @@kevinarboleda7597 Muchas gracias amigo!
      Lo realizare tal cual.

  • @geralg.g6332
    @geralg.g6332 Месяц назад +1

    como se llama la extension?

    • @kevinarboleda7597
      @kevinarboleda7597  Месяц назад

      Hola Geral buen día, podrias especificarme más a que extensión haces referencia?

    • @user-ml4eu5tq6j
      @user-ml4eu5tq6j День назад

      @@kevinarboleda7597 profe la extension de sqlite3, ya que al buscarla no la encuentro en VS