Beispiel #1
0
    def on_botonOK_clicked(self, widget):
        (model, iter) = self.vista.get_selection().get_selected()
        if iter != None:
            self.listaProd = []
            fila = list(model[iter])
            idProducto = fila[0]
            producto = modelo_productos.buscar(idProducto)
            cant = self.spinCant.get_value_as_int()
            factura = modelo_detalle_ventas.DetVenta()
            factura.setIdFactura(modelo_ventas.ultimo() + 1)
            factura.setIdProducto(producto.getId())
            if (cant != 0 or cant <= producto.getStock_Act()):
                factura.setCantidad(cant)
            else:
                mostrar = mensajes.error(self.winMain, mensajes.CANT_ERR)
            factura.setDescripcion(producto.getNombre() + ' ' +
                                   producto.getDescripcion())
            factura.setPrecioU(int(producto.getPrecio()))
            factura.setImporte(cant * int(producto.getPrecio()))
            self.listaProd.append(factura)
            tupla = tuple(self.listaProd)
            self.ventas.cargarListadoProductos(tupla)
            self.lista.append(factura)

        tupla = tuple(self.lista)
        self.ventas.ProductosVenta(tupla)
Beispiel #2
0
 def on_botonOK_clicked(self, widget):
     (model, iter) = self.vista.get_selection().get_selected()
     if iter != None:
         self.listaProd = []
         fila = list(model[iter])
         idProducto = fila[0]
         producto = modelo_productos.buscar(idProducto)
         cant = self.spinCant.get_value_as_int()
         factura = modelo_detalle_ventas.DetVenta()
         factura.setIdFactura(modelo_ventas.ultimo()+1)
         factura.setIdProducto(producto.getId())
         if(cant != 0 or cant <= producto.getStock_Act()): 
             factura.setCantidad(cant)
         else:
             mostrar = mensajes.error(self.winMain, mensajes.CANT_ERR)
         factura.setDescripcion(producto.getNombre() + ' ' + producto.getDescripcion())
         factura.setPrecioU(int(producto.getPrecio()))
         factura.setImporte(cant*int(producto.getPrecio()))
         self.listaProd.append(factura)
         tupla = tuple(self.listaProd)
         self.ventas.cargarListadoProductos(tupla)
         self.lista.append(factura)
             
         
     tupla = tuple(self.lista)
     self.ventas.ProductosVenta(tupla)
Beispiel #3
0
 def on_botonOK_clicked(self, widget):
     cliente = self.comboCliente.get_model()
     clienteID = cliente[self.comboCliente.get_active()][0]
     vendedor = self.comboVendedor.get_model()
     vendedorID = vendedor[self.comboVendedor.get_active()][0]
     ctrlOK = True
     # Los datos no pueden estar vacíos
     if (self.textoFecha.get_text() == '') or (self.checkContado.get_active() == True and self.checkCredito.get_active() == True) or (self.checkContado.get_active() == False and self.checkCredito.get_active() == False):
         mostrar = mensajes.error(self.winEdit, mensajes.DATOS_NO)
         ctrlOK = False
     """else:
         # Se recuperan todos los datos, para ver si el usuario ya existe
         personas = modelo_personas.obtenerTodos()
         if (personas != None):
             for u in personas:
                 if (u.getNombre() == self.textoNombre.get_text()) and (u.getId() != self.identificador):
                     mostrar = mensajes.error(self.winEdit, mensajes.USER_EXISTE)
                     ctrlOK = False"""
     if (ctrlOK == True):
         # Los controles están OK, se crea o modifica el registro
         detalle_venta = modelo_detalle_ventas.DetVenta()
         venta = modelo_ventas.Venta()
         venta.setCliente(clienteID)
         venta.setVendedor(vendedorID)
         venta.setFecha(self.textoFecha.get_text())
         if (self.checkContado.get_active() == True):
             venta.setTipo('Contado')
         else:
             venta.setTipo('Crédito')
                         
         # Los datos de ID y clave son los que se mantienen en variables
         venta.setTotal(self.labelTotal.get_text())
         venta.setId(self.identificador)
         if (self.identificador == 0): # Es un registro nuevo
             if modelo_ventas.crear(venta): mostrar = mensajes.aviso(self.winEdit, mensajes.OPER_OK)
             else: mostrar = mensajes.error(self.winEdit, mensajes.OPER_NO)
             if self.prodVenta != None:
                 for pv in self.prodVenta:
                     detalle_venta.setIdFactura(int(self.labelFactura.get_text()))
                     detalle_venta.setIdProducto(pv.getIdProducto())
                     detalle_venta.setCantidad(pv.getCantidad())
                     detalle_venta.setDescripcion(pv.getDescripcion())
                     detalle_venta.setPrecioU(pv.getPrecioU())
                     detalle_venta.setImporte(pv.getImporte())
                     modelo_detalle_ventas.crear(detalle_venta)
                     prodDesc = modelo_productos.buscar(pv.getIdProducto())
                     prodDesc.setStock_Act(int(prodDesc.getStock_Act())-pv.getCantidad())
                     modelo_productos.actualizar(prodDesc)
         else:
             if modelo_ventas.actualizar(venta): mostrar = mensajes.aviso(self.winEdit, mensajes.OPER_OK)
             else: mensajes.error(self.winEdit, mensajes.OPER_NO)
         
                 
         self.winEdit.destroy()
         self.cargarVista(False) # Se llena la vista con los registros (False indica que no es la carga inicial)
         if(self.checkContado.get_active() == True):
             medio_pago.CargarMedioPagos(clienteID, self.labelFactura.get_text(), self.totalSinC)
         else:
             cuentas.CargarCuentas(clienteID,self.labelFactura.get_text(), self.totalSinC)
Beispiel #4
0
    def on_botonOK_clicked(self, widget):
        proveedor = self.comboProveedor.get_model()
        proveedorID = proveedor[self.comboProveedor.get_active()][0]
        ctrlOK = True
        # Los datos no pueden estar vacíos
        if (self.textoFecha.get_text()
                == '') or (self.textoFactura.get_text() == '') or (
                    self.checkContado.get_active() == True
                    and self.checkCredito.get_active()
                    == True) or (self.checkContado.get_active() == False
                                 and self.checkCredito.get_active() == False):
            mostrar = mensajes.error(self.winEdit, mensajes.DATOS_NO)
            ctrlOK = False
        """else:
            # Se recuperan todos los datos, para ver si el usuario ya existe
            personas = modelo_personas.obtenerTodos()
            if (personas != None):
                for u in personas:
                    if (u.getNombre() == self.textoNombre.get_text()) and (u.getId() != self.identificador):
                        mostrar = mensajes.error(self.winEdit, mensajes.USER_EXISTE)
                        ctrlOK = False"""
        if (ctrlOK == True):
            # Los controles están OK, se crea o modifica el registro
            detalle_compra = modelo_detalle_compras.DetCompra()
            compra = modelo_compras.Compra()
            compra.setId(int(self.textoFactura.get_text()))
            compra.setProveedor(proveedorID)
            compra.setFecha(self.textoFecha.get_text())
            if (self.checkContado.get_active() == True):
                compra.setTipo('Contado')
            else:
                compra.setTipo('Crédito')

            # Los datos de ID y clave son los que se mantienen en variables
            compra.setTotal(self.total)
            #compra.setId(self.identificador)
            if (self.identificador == 0):  # Es un registro nuevo
                if modelo_compras.crear(compra):
                    mostrar = mensajes.aviso(self.winEdit, mensajes.OPER_OK)
                else:
                    mostrar = mensajes.error(self.winEdit, mensajes.OPER_NO)
                if self.prodCompra != None:
                    for pc in self.prodCompra:
                        detalle_compra.setIdFactura(
                            int(self.textoFactura.get_text()))
                        detalle_compra.setIdProducto(pc.getIdProducto())
                        detalle_compra.setCantidad(pc.getCantidad())
                        detalle_compra.setDescripcion(pc.getDescripcion())
                        detalle_compra.setPrecioU(pc.getPrecioU())
                        detalle_compra.setImporte(pc.getImporte())
                        modelo_detalle_compras.crear(detalle_compra)
                        prodDesc = modelo_productos.buscar(pc.getIdProducto())
                        prodDesc.setStock_Act(
                            int(prodDesc.getStock_Act()) + pc.getCantidad())
                        modelo_productos.actualizar(prodDesc)
            else:
                if modelo_compras.actualizar(compra):
                    mostrar = mensajes.aviso(self.winEdit, mensajes.OPER_OK)
                else:
                    mensajes.error(self.winEdit, mensajes.OPER_NO)

            self.winEdit.destroy()
            self.cargarVista(
                False
            )  # Se llena la vista con los registros (False indica que no es la carga inicial)