def edita_venta(self): """ Funcion que edita una venta """ folio = int(self.ui.folio.text()) detalle = db_model.obtener_ventas_formulario(folio) data1 = self.ui.grilla_prod.model() index = self.fila producto = str( data1.index(index.row(), 0, QtCore.QModelIndex()).data()) cantidad = int(self.ui.cantidad.text()) precio = int(self.ui.precio.text()) try: db_model.editar_venta(folio, producto, cantidad, precio) detalle = db_model.obtener_ventas_formulario(folio) #Creamos el modelo asociado a la tabla self.data = QtGui.QStandardItemModel(len(detalle), 4) self.data.setHorizontalHeaderItem(0, QtGui.QStandardItem(u"producto")) self.data.setHorizontalHeaderItem(1, QtGui.QStandardItem(u"cantidad")) self.data.setHorizontalHeaderItem( 2, QtGui.QStandardItem(u"precio unitario")) self.data.setHorizontalHeaderItem(3, QtGui.QStandardItem(u"Total")) for r, row in enumerate(detalle): index = self.data.index(r, 0, QtCore.QModelIndex()) self.data.setData(index, row['producto_sku']) index = self.data.index(r, 1, QtCore.QModelIndex()) self.data.setData(index, row['cantidad']) index = self.data.index(r, 2, QtCore.QModelIndex()) self.data.setData(index, row['precio_unitario']) index = self.data.index(r, 3, QtCore.QModelIndex()) self.data.setData(index, row['total']) self.ui.grilla_prod.setModel(self.data) except sqlite3.Error as e: msgBox = QtGui.QMessageBox() msgBox.setText(u"Error, revise los datos!") msgBox.exec_()
def edita_venta(self): """ Funcion que edita una venta """ folio = int(self.ui.folio.text()) detalle = db_model.obtener_ventas_formulario(folio) data1 = self.ui.grilla_prod.model() index = self.fila producto = str(data1.index(index.row(), 0, QtCore.QModelIndex()).data()) cantidad = int(self.ui.cantidad.text()) precio = int(self.ui.precio.text()) try: db_model.editar_venta(folio, producto, cantidad, precio) detalle = db_model.obtener_ventas_formulario(folio) #Creamos el modelo asociado a la tabla self.data = QtGui.QStandardItemModel(len(detalle), 4) self.data.setHorizontalHeaderItem( 0, QtGui.QStandardItem(u"producto")) self.data.setHorizontalHeaderItem( 1, QtGui.QStandardItem(u"cantidad")) self.data.setHorizontalHeaderItem( 2, QtGui.QStandardItem(u"precio unitario")) self.data.setHorizontalHeaderItem( 3, QtGui.QStandardItem(u"Total")) for r, row in enumerate(detalle): index = self.data.index(r, 0, QtCore.QModelIndex()) self.data.setData(index, row['producto_sku']) index = self.data.index(r, 1, QtCore.QModelIndex()) self.data.setData(index, row['cantidad']) index = self.data.index(r, 2, QtCore.QModelIndex()) self.data.setData(index, row['precio_unitario']) index = self.data.index(r, 3, QtCore.QModelIndex()) self.data.setData(index, row['total']) self.ui.grilla_prod.setModel(self.data) except sqlite3.Error as e: msgBox = QtGui.QMessageBox() msgBox.setText(u"Error, revise los datos!") msgBox.exec_()
def crear_venta(self): """ Funcion que crea una venta """ folio,producto,precio,cantidad=self.obtener_datos() try: db_model.agregar_venta(folio, producto, cantidad, precio) detalle = db_model.obtener_ventas_formulario(folio) self.ui.comboRut.setEnabled(False) self.ui.folio.setText(str(folio)) self.ui.folio.setEnabled(False) #Creamos el modelo asociado a la tabla self.data = QtGui.QStandardItemModel(len(detalle), 4) self.data.setHorizontalHeaderItem( 0, QtGui.QStandardItem(u"producto")) self.data.setHorizontalHeaderItem( 1, QtGui.QStandardItem(u"cantidad")) self.data.setHorizontalHeaderItem( 2, QtGui.QStandardItem(u"precio unitario")) self.data.setHorizontalHeaderItem( 3, QtGui.QStandardItem(u"Total")) for r, row in enumerate(detalle): index = self.data.index(r, 0, QtCore.QModelIndex()) self.data.setData(index, row['producto_sku']) index = self.data.index(r, 1, QtCore.QModelIndex()) self.data.setData(index, row['cantidad']) index = self.data.index(r, 2, QtCore.QModelIndex()) self.data.setData(index, row['precio_unitario']) index = self.data.index(r, 3, QtCore.QModelIndex()) self.data.setData(index, row['total']) self.ui.grilla_prod.setModel(self.data) except sqlite3.Error as e: msgBox = QtGui.QMessageBox() msgBox.setText(u"Error, revise los datos!") msgBox.exec_()
def crear_venta(self): """ Funcion que crea una venta """ folio, producto, precio, cantidad = self.obtener_datos() try: db_model.agregar_venta(folio, producto, cantidad, precio) detalle = db_model.obtener_ventas_formulario(folio) self.ui.comboRut.setEnabled(False) self.ui.folio.setText(str(folio)) self.ui.folio.setEnabled(False) #Creamos el modelo asociado a la tabla self.data = QtGui.QStandardItemModel(len(detalle), 4) self.data.setHorizontalHeaderItem(0, QtGui.QStandardItem(u"producto")) self.data.setHorizontalHeaderItem(1, QtGui.QStandardItem(u"cantidad")) self.data.setHorizontalHeaderItem( 2, QtGui.QStandardItem(u"precio unitario")) self.data.setHorizontalHeaderItem(3, QtGui.QStandardItem(u"Total")) for r, row in enumerate(detalle): index = self.data.index(r, 0, QtCore.QModelIndex()) self.data.setData(index, row['producto_sku']) index = self.data.index(r, 1, QtCore.QModelIndex()) self.data.setData(index, row['cantidad']) index = self.data.index(r, 2, QtCore.QModelIndex()) self.data.setData(index, row['precio_unitario']) index = self.data.index(r, 3, QtCore.QModelIndex()) self.data.setData(index, row['total']) self.ui.grilla_prod.setModel(self.data) except sqlite3.Error as e: msgBox = QtGui.QMessageBox() msgBox.setText(u"Error, revise los datos!") msgBox.exec_()
def __init__(self, parent=None, folio=None, rut=None): """ Formulario para crear y editar cliente. Si se recibe la var folio entonces se está en modo de edición. """ super(FormVenta, self).__init__(parent) self.ui = Ui_Form() self.ui.setupUi(self) self.ui.id_prod.activated[int].connect(self.onActivated_idprod) if folio is None: self.ui.aceptar.setText("Agregar") self.ui.venta.setText("Terminar Venta") self.ui.guardar.setEnabled(False) self.ui.aceptar.clicked.connect(self.crear_venta) self.ui.venta.clicked.connect(self.crear_venta2) rut = db_model.obtener_rut() for dato in range(len(rut)): self.ui.comboRut.addItem(str(rut[dato][0])) idprod = db_model.obtener_idprod() for dato in range(len(idprod)): self.ui.id_prod.addItem(str(idprod[dato][0])) else: self.ui.aceptar.setText("Editar Producto") self.ui.venta.setText("Terminar") detalle = db_model.obtener_ventas_formulario(folio) self.ui.comboRut.setEnabled(False) self.ui.folio.setText(str(folio)) self.ui.folio.setEnabled(False) self.ui.id_prod.setEnabled(False) self.ui.cantidad.setEnabled(False) self.ui.precio.setEnabled(False) #Creamos el modelo asociado a la tabla self.data = QtGui.QStandardItemModel(len(detalle), 4) self.data.setHorizontalHeaderItem(0, QtGui.QStandardItem(u"producto")) self.data.setHorizontalHeaderItem(1, QtGui.QStandardItem(u"cantidad")) self.data.setHorizontalHeaderItem( 2, QtGui.QStandardItem(u"precio unitario")) self.data.setHorizontalHeaderItem(3, QtGui.QStandardItem(u"Total")) for r, row in enumerate(detalle): index = self.data.index(r, 0, QtCore.QModelIndex()) self.data.setData(index, row['producto_sku']) index = self.data.index(r, 1, QtCore.QModelIndex()) self.data.setData(index, row['cantidad']) index = self.data.index(r, 2, QtCore.QModelIndex()) self.data.setData(index, row['precio_unitario']) index = self.data.index(r, 3, QtCore.QModelIndex()) self.data.setData(index, row['total']) self.ui.grilla_prod.setModel(self.data) self.ui.grilla_prod.setColumnWidth(0, 100) self.ui.grilla_prod.setColumnWidth(1, 100) self.ui.grilla_prod.setColumnWidth(2, 100) self.ui.grilla_prod.setColumnWidth(3, 100) self.ui.aceptar.clicked.connect(self.carga_venta) self.ui.guardar.clicked.connect(self.edita_venta) self.ui.venta.clicked.connect(self.cerrar)
def __init__(self, parent=None, folio=None,rut=None): """ Formulario para crear y editar cliente. Si se recibe la var folio entonces se está en modo de edición. """ super(FormVenta, self).__init__(parent) self.ui = Ui_Form() self.ui.setupUi(self) self.ui.id_prod.activated[int].connect(self.onActivated_idprod) if folio is None: self.ui.aceptar.setText("Agregar") self.ui.venta.setText("Terminar Venta") self.ui.guardar.setEnabled(False) self.ui.aceptar.clicked.connect(self.crear_venta) self.ui.venta.clicked.connect(self.crear_venta2) rut= db_model.obtener_rut() for dato in range(len(rut)): self.ui.comboRut.addItem(str(rut[dato][0])) idprod= db_model.obtener_idprod() for dato in range(len(idprod)): self.ui.id_prod.addItem(str(idprod[dato][0])) else: self.ui.aceptar.setText("Editar Producto") self.ui.venta.setText("Terminar") detalle = db_model.obtener_ventas_formulario(folio) self.ui.comboRut.setEnabled(False) self.ui.folio.setText(str(folio)) self.ui.folio.setEnabled(False) self.ui.id_prod.setEnabled(False) self.ui.cantidad.setEnabled(False) self.ui.precio.setEnabled(False) #Creamos el modelo asociado a la tabla self.data = QtGui.QStandardItemModel(len(detalle), 4) self.data.setHorizontalHeaderItem( 0, QtGui.QStandardItem(u"producto")) self.data.setHorizontalHeaderItem( 1, QtGui.QStandardItem(u"cantidad")) self.data.setHorizontalHeaderItem( 2, QtGui.QStandardItem(u"precio unitario")) self.data.setHorizontalHeaderItem( 3, QtGui.QStandardItem(u"Total")) for r, row in enumerate(detalle): index = self.data.index(r, 0, QtCore.QModelIndex()) self.data.setData(index, row['producto_sku']) index = self.data.index(r, 1, QtCore.QModelIndex()) self.data.setData(index, row['cantidad']) index = self.data.index(r, 2, QtCore.QModelIndex()) self.data.setData(index, row['precio_unitario']) index = self.data.index(r, 3, QtCore.QModelIndex()) self.data.setData(index, row['total']) self.ui.grilla_prod.setModel(self.data) self.ui.grilla_prod.setColumnWidth(0, 100) self.ui.grilla_prod.setColumnWidth(1, 100) self.ui.grilla_prod.setColumnWidth(2, 100) self.ui.grilla_prod.setColumnWidth(3, 100) self.ui.aceptar.clicked.connect(self.carga_venta) self.ui.guardar.clicked.connect(self.edita_venta) self.ui.venta.clicked.connect(self.cerrar)