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)
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)
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)
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)