def agregarRemito(self): """ Agrega el remito seleccionado por el usuario a un arreglo de Remitos por cobrar. :return: """ if self.tableRemitos.rowCount()==0: QtGui.QMessageBox.information(self,"Aviso","No se ha seleccionado remito para agregar") else: if self.remitosAgregados==0: self.factura=FacturaModel(FacturaModel.generarNumero(self.sesion)) self.factura.guardar(self.sesion) self.remitosAgregados+=1 if self.obraSocialSeleccionada == None: obraSocial = None else: obraSocial=ObraSocialModel.getObraSocial(self.obraSocialSeleccionada,self.sesion) for row,item in enumerate(self.obtenerValoresTabla(self.tableRemitos)): self.tableFactura.insertRow(row) self.detallesAgregados+=1 for col,value in enumerate(self.armarItemFactura(item,obraSocial,self.factura.numero,self.detallesAgregados)): self.tableFactura.setItem(row,col,QtGui.QTableWidgetItem(str(value))) self.remitosCobrados.append(self.remitoActual) self.mostrarTotal() self.limpiarTabla(self.tableRemitos) self.lineNumero.setEnabled(True) self.lineNumero.clear()
def agregarRemito(self): if self.tableRemitos.rowCount() == 0: self.showMsjEstado("No se ha seleccionado remito para agregar") else: if self.remitosAgregados == 0: self.factura = FacturaModel( FacturaModel.generarNumero(self.sesion)) self.factura.guardar(self.sesion) self.remitosAgregados += 1 if self.obraSocialSeleccionada == None: obraSocial = None else: obraSocial = ObraSocialModel.getObraSocial( self.obraSocialSeleccionada, self.sesion) for row, item in enumerate( self.obtenerValoresTabla(self.tableRemitos)): self.tableFactura.insertRow(row) self.detallesAgregados += 1 for col, value in enumerate( self.armarItemFactura(item, obraSocial, self.factura.numero, self.detallesAgregados)): self.tableFactura.setItem( row, col, QtGui.QTableWidgetItem(str(value))) self.remitoActual.setCobrado(self.factura.numero) self.remitoActual.modificar(self.sesion) self.remitosCobrados.append(self.remitoActual) self.mostrarTotal() self.limpiarTabla(self.tableRemitos) self.lineNumero.setEnabled(True) self.lineNumero.clear()
def agregarProducto(self): itemActual = self.tableProductos.currentItem() cantidad, ok = QtGui.QInputDialog.getInt( self, "Cantidad", "Ingrese cantidad del producto", 1, 1, 2000, 5) if not ok: self.showMsjEstado("No se ha seleccionado cantidad del producto") else: cantidadProducto = int( self.tableProductos.item(itemActual.row(), 6).text()) if cantidad > cantidadProducto: QtGui.QMessageBox.information( self, "Aviso", "La cantidad ingresada es mayor que la del stock") else: if self.productosAgregados == 0: self.factura = FacturaModel( FacturaModel.generarNumero(self.sesion)) self.factura.guardar(self.sesion) self.productosAgregados += 1 rowItemActual = itemActual.row() rows = self.tableFactura.rowCount() self.tableFactura.insertRow(rows) #TODO HAY QUE CARGAR LOS DEMAS DATOS DE LA FACTURA #--Carga de items en la tabla--* importeActual = float( self.tableProductos.item(rowItemActual, 5).text()) descuentoActual = float( self.tableProductos.item(rowItemActual, 4).text()) subtotal = importeActual * (1 - descuentoActual) ####-------------------------##### detalleFactura = DetalleFacturaModel( self.factura.numero, int(self.tableProductos.item(rowItemActual, 0).text()), cantidad, subtotal * cantidad, descuentoActual, self.productosAgregados) self.descontarCantidad( detalleFactura, int(self.tableProductos.item(rowItemActual, 0).text()), cantidad) self.tableFactura.setItem( rows, 0, QtGui.QTableWidgetItem(str(detalleFactura.producto))) self.tableFactura.setItem( rows, 1, QtGui.QTableWidgetItem(str(detalleFactura.cantidad))) self.tableFactura.setItem( rows, 2, QtGui.QTableWidgetItem(str("%.2f" % (subtotal * cantidad)))) detalleFactura.guardar(self.sesion) if self.obraSocialSeleccionada != None: self.cargar_productos(str(self.lineObra.text())) else: self.cargarProductosSinObra()
def agregarProducto(self): """ Agrega un producto seleccionada a la Factura :return: """ itemActual=self.tableProductos.currentItem() cantidad, ok = QtGui.QInputDialog.getInt(self,"Cantidad","Ingrese cantidad del producto",1,1,2000,5) if not ok: self.showMsjEstado("No se ha seleccionado cantidad del producto") else: cantidadProducto=int(self.tableProductos.item(itemActual.row(),6).text()) if cantidad>cantidadProducto: QtGui.QMessageBox.information(self,"Aviso","La cantidad ingresada es mayor que la del stock") else: if self.productosAgregados == 0 and self.factura == None: self.factura=FacturaModel(FacturaModel.generarNumero(self.sesion)) self.factura.guardar(self.sesion) self.productosAgregados+=1 rowItemActual=itemActual.row() rows=self.tableFactura.rowCount() self.tableFactura.insertRow(rows) #--Carga de items en la tabla--* producto = int(self.tableProductos.item(rowItemActual,0).text()) importeActual=float(self.tableProductos.item(rowItemActual,5).text()) descuentoActual=float(self.tableProductos.item(rowItemActual,4).text()) subtotal=importeActual*(1-descuentoActual) ####-------------------------##### detalleFactura=DetalleFacturaModel(self.factura.numero,producto,cantidad, subtotal*cantidad,descuentoActual,self.productosAgregados ) self.descontarCantidad(detalleFactura,producto,cantidad) self.tableFactura.setItem(rows,0,QtGui.QTableWidgetItem(str(detalleFactura.producto))) self.tableFactura.setItem(rows,1,QtGui.QTableWidgetItem(str(detalleFactura.cantidad))) self.tableFactura.setItem(rows, 2, QtGui.QTableWidgetItem(str("%.2f"%(subtotal*cantidad)))) detalleFactura.guardar(self.sesion) self.detallesTabla[rows] = detalleFactura self.data[rows] = [ producto, cantidad, subtotal*cantidad, descuentoActual ] self.actualizar() self.objectModified.emit()
def agregarProducto(self): itemActual=self.tableProductos.currentItem() cantidad, ok = QtGui.QInputDialog.getInt(self,"Cantidad","Ingrese cantidad del producto",1,1,2000,5) if not ok: self.showMsjEstado("No se ha seleccionado cantidad del producto") else: cantidadProducto=int(self.tableProductos.item(itemActual.row(),6).text()) if cantidad>cantidadProducto: QtGui.QMessageBox.information(self,"Aviso","La cantidad ingresada es mayor que la del stock") else: if self.productosAgregados==0: self.factura=FacturaModel(FacturaModel.generarNumero(self.sesion)) self.factura.guardar(self.sesion) self.productosAgregados+=1 rowItemActual=itemActual.row() rows=self.tableFactura.rowCount() self.tableFactura.insertRow(rows) #TODO HAY QUE CARGAR LOS DEMAS DATOS DE LA FACTURA #--Carga de items en la tabla--* importeActual=float(self.tableProductos.item(rowItemActual,5).text()) descuentoActual=float(self.tableProductos.item(rowItemActual,4).text()) subtotal=importeActual*(1-descuentoActual) ####-------------------------##### detalleFactura=DetalleFacturaModel(self.factura.numero,int(self.tableProductos.item(rowItemActual,0).text()),cantidad, subtotal*cantidad,descuentoActual,self.productosAgregados ) self.descontarCantidad(detalleFactura,int(self.tableProductos.item(rowItemActual,0).text()),cantidad) self.tableFactura.setItem(rows,0,QtGui.QTableWidgetItem(str(detalleFactura.producto))) self.tableFactura.setItem(rows,1,QtGui.QTableWidgetItem(str(detalleFactura.cantidad))) self.tableFactura.setItem(rows, 2, QtGui.QTableWidgetItem(str("%.2f"%(subtotal*cantidad)))) detalleFactura.guardar(self.sesion) if self.obraSocialSeleccionada!=None: self.cargar_productos(str(self.lineObra.text())) else: self.cargarProductosSinObra()
def agregarRemito(self): if self.tableRemitos.rowCount()==0: self.showMsjEstado("No se ha seleccionado remito para agregar") else: if self.remitosAgregados==0: self.factura=FacturaModel(FacturaModel.generarNumero(self.sesion)) self.factura.guardar(self.sesion) self.remitosAgregados+=1 if self.obraSocialSeleccionada==None: obraSocial=None else: obraSocial=ObraSocialModel.getObraSocial(self.obraSocialSeleccionada,self.sesion) for row,item in enumerate(self.obtenerValoresTabla(self.tableRemitos)): self.tableFactura.insertRow(row) self.detallesAgregados+=1 for col,value in enumerate(self.armarItemFactura(item,obraSocial,self.factura.numero,self.detallesAgregados)): self.tableFactura.setItem(row,col,QtGui.QTableWidgetItem(str(value))) self.remitoActual.setCobrado(self.factura.numero) self.remitoActual.modificar(self.sesion) self.remitosCobrados.append(self.remitoActual) self.mostrarTotal() self.limpiarTabla(self.tableRemitos) self.lineNumero.setEnabled(True) self.lineNumero.clear()