예제 #1
0
 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()
예제 #2
0
 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()
예제 #3
0
    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()
예제 #4
0
    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()
예제 #5
0
    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()
예제 #6
0
 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()