Beispiel #1
0
 def on_textoPagarC_changed(self,widget):
     if(self.textoPagarCH.get_text() == '' and self.textoPagarT.get_text() == ''):
         if(self.textoPagarC.get_text() == ''):
             contado = 0
         else:
             contado = int(self.textoPagarC.get_text())
         saldo = self.total - contado
         if(contado != 0):
             if(contado > self.total):
                 print 'Aquí irá un mensaje de error'
             elif (saldo == 0):
                 self.labelSaldo.set_text('0')
                 self.textoBanco.set_sensitive(False)
                 self.textoNroCheque.set_sensitive(False)
                 self.textoPagarCH.set_sensitive(False)
                 self.checkCredito.set_sensitive(False)
                 self.checkDebito.set_sensitive(False)
                 self.textoCodAut.set_sensitive(False)
                 self.textoEmisor.set_sensitive(False)
                 self.textoPagarT.set_sensitive(False)
             else:
                 self.aux = saldo
                 s = utils.convertir_numero(saldo)
                 self.labelSaldo.set_text(s)
                 self.textoBanco.set_sensitive(True)
                 self.textoNroCheque.set_sensitive(True)
                 self.textoPagarCH.set_sensitive(True)
                 self.checkCredito.set_sensitive(True)
                 self.checkDebito.set_sensitive(True)
                 self.textoCodAut.set_sensitive(True)
                 self.textoEmisor.set_sensitive(True)
                 self.textoPagarT.set_sensitive(True)
     else:
         contado = int(self.textoPagarC.get_text())
         saldo = self.aux - contado
         if(contado != ''):
             if(contado > self.total):
                 print 'Aquí va un mensaje de Error'
             elif(saldo == 0):
                 self.labelSaldo.set_text('0')
                 self.textoBanco.set_sensitive(False)
                 self.textoNroCheque.set_sensitive(False)
                 self.textoPagarCH.set_sensitive(False)
                 self.checkCredito.set_sensitive(False)
                 self.checkDebito.set_sensitive(False)
                 self.textoCodAut.set_sensitive(False)
                 self.textoEmisor.set_sensitive(False)
                 self.textoPagarT.set_sensitive(False)
             else:
                 self.aux = saldo
                 s = utils.convertir_numero(saldo)
                 self.labelSaldo.set_text(s)
                 self.textoBanco.set_sensitive(True)
                 self.textoNroCheque.set_sensitive(True)
                 self.textoPagarCH.set_sensitive(True)
                 self.checkCredito.set_sensitive(True)
                 self.checkDebito.set_sensitive(True)
                 self.textoCodAut.set_sensitive(True)
                 self.textoEmisor.set_sensitive(True)
                 self.textoPagarT.set_sensitive(True)
Beispiel #2
0
    def __init__(self, cli, fact, total):

        # Se carga el archivo glade con la ventana de edición
        objsE = gtk.Builder()
        objsE.add_from_file('vistas/cuentas.glade')

        # Se recuperan los widget a usar (no son necesarios todos)
        self.winEdit = objsE.get_object('winEdit')
        self.labelCliente = objsE.get_object('labelCliente')
        self.labelFactura = objsE.get_object('labelFactura')
        self.comboCuotas = objsE.get_object('comboCuotas')
        self.labelMonto = objsE.get_object('labelMonto')
        self.labelTotal = objsE.get_object('labelTotal')
        self.checkEntrega = objsE.get_object('checkEntrega')
        self.textoEntrega = objsE.get_object('textoEntrega')
        self.textoDias = objsE.get_object('textoDias')
        self.labelVenc = objsE.get_object('labelVenc')
        # ID y Clave no son datos modificados por ventana
        self.winEdit.set_title('Cuentas a Cobrar')
        self.identificador = 0
        self.montoCuotas = 0
        self.cliente = cli
        self.total = total
        cliente = modelo_clientes.buscar(cli)
        self.labelCliente.set_text(cliente.getNombre())
        self.labelFactura.set_text(str(fact))
        toal = utils.convertir_numero(total)
        self.labelTotal.set_text(str(toal))
        self.textoEntrega.set_sensitive(False)
        self.cargarComboCuotas()
        
        # Se asocian las senales del archivo glade a metodos de la clase
        objsE.connect_signals(self)
        
        self.winEdit.show()
Beispiel #3
0
    def __init__(self, cli, fact, total):

        # Se carga el archivo glade con la ventana de edición
        objsE = gtk.Builder()
        objsE.add_from_file('vistas/cuentas.glade')

        # Se recuperan los widget a usar (no son necesarios todos)
        self.winEdit = objsE.get_object('winEdit')
        self.labelCliente = objsE.get_object('labelCliente')
        self.labelFactura = objsE.get_object('labelFactura')
        self.comboCuotas = objsE.get_object('comboCuotas')
        self.labelMonto = objsE.get_object('labelMonto')
        self.labelTotal = objsE.get_object('labelTotal')
        self.checkEntrega = objsE.get_object('checkEntrega')
        self.textoEntrega = objsE.get_object('textoEntrega')
        self.textoDias = objsE.get_object('textoDias')
        self.labelVenc = objsE.get_object('labelVenc')
        # ID y Clave no son datos modificados por ventana
        self.winEdit.set_title('Cuentas a Cobrar')
        self.identificador = 0
        self.montoCuotas = 0
        self.cliente = cli
        self.total = total
        cliente = modelo_clientes.buscar(cli)
        self.labelCliente.set_text(cliente.getNombre())
        self.labelFactura.set_text(str(fact))
        toal = utils.convertir_numero(total)
        self.labelTotal.set_text(str(toal))
        self.textoEntrega.set_sensitive(False)
        self.cargarComboCuotas()

        # Se asocian las senales del archivo glade a metodos de la clase
        objsE.connect_signals(self)

        self.winEdit.show()
Beispiel #4
0
 def cargarListadoProductos(self, prod, tot):
 
     if prod != None:
         for producto in prod:
             precioU = utils.convertir_numero(producto.getPrecioU())
             importe = utils.convertir_numero(producto.getImporte())
             self.lista.append([producto.getIdProducto(), producto.getCantidad(), producto.getDescripcion(), producto.getPrecioU(), producto.getImporte()])
             #self.totalSum = self.totalSum + producto.getImporte()
     # Arma la vista con las columas y lista de elementos
     self.total = tot
     subT = int(tot/1.1)
     iva = tot - subT
     subT = utils.convertir_numero(subT)
     iva = utils.convertir_numero(iva)
     total = utils.convertir_numero(tot)
     self.labelIVA.set_text(str(iva))
     self.labelSub.set_text(str(subT))
     self.labelTotal.set_text(str(total))
Beispiel #5
0
 def on_textoDescuento_changed(self,widget):
     if(self.textoDescuento.get_text() != ''):
         porc_desc = int(self.textoDescuento.get_text())
         descuento = self.total * porc_desc /100
         self.labelDescontado.set_text(str(descuento))
         totalDesc = self.total - descuento
         td = utils.convertir_numero(totalDesc)
         self.labelTotal.set_text(td)
     else:
         self.labelTotal.set_text(self.toal)
Beispiel #6
0
    def cargarVista(self, inicial):

        # Tipos de dato de cada columna. ListStore es el modelo del TreeView, en este caso, lista. Podria ser Tree.
        lista = gtk.ListStore(int, str, str, str,
                              str)  # ID, usuario, nombre, mail, clave
        render = gtk.CellRendererText(
        )  # Objeto que se encarga de dibujar cada celda
        #renderEdit = gtk.CellRendererText() # Objeto que se encarga de dibujar cada celda
        #renderEdit.set_property('editable', True)

        # Columnas de la vista
        columna0 = gtk.TreeViewColumn('Nro. de Factura', render, text=0)
        columna1 = gtk.TreeViewColumn('Fecha de Emisión', render, text=1)
        columna2 = gtk.TreeViewColumn('Condición de Venta', render, text=2)
        columna3 = gtk.TreeViewColumn('Proveedor', render, text=3)
        columna4 = gtk.TreeViewColumn('Total', render, text=4)

        #columna6.set_visible(False) # Para que no se vea por ventana
        # Lista donde cada elemento es un objeto usuario
        compras = modelo_compras.obtenerTodos()
        if compras != None:
            for compra in compras:
                proveedor = modelo_proveedores.buscar(compra.getProveedor())
                total = utils.convertir_numero(int(compra.getTotal()))
                lista.append([
                    compra.getId(),
                    compra.getFecha(),
                    compra.getTipo(),
                    proveedor.getNombre(), total
                ])

        # Arma la vista con las columas y lista de elementos
        self.vista.set_model(lista)
        if inicial:
            self.vista.append_column(columna0)
            self.vista.append_column(columna1)
            self.vista.append_column(columna2)
            self.vista.append_column(columna3)
            self.vista.append_column(columna4)

            # Permite ordenar por columnas
            columna0.set_sort_column_id(0)
            columna1.set_sort_column_id(1)
            columna2.set_sort_column_id(2)
            columna3.set_sort_column_id(3)
            columna4.set_sort_column_id(4)

            #self.vista.set_reorderable(True) # Permite drag and drop entre los datos

        self.on_comboBuscar_changed(
            self.comboBuscar
        )  # Esto es para asignar la columna por la que se puede buscar
        self.vista.show()
Beispiel #7
0
 def on_comboCuotas_changed(self, widget):
     index = self.comboCuotas.get_active() + 1
     if(self.checkEntrega.get_active() == True and self.textoEntrega.get_text != ''):
         entrega = int(self.textoEntrega.get_text())
         total = int(self.total)
         if(entrega < total):
             saldo = total - entrega
             self.montoCuotas = saldo/index
             monC = utils.convertir_numero(self.montoCuotas)
             self.labelMonto.set_text(str(monC))
     else:
         self.montoCuotas = int(self.labelTotal.get_text())/index
         monC = utils.copnvertir_numero(self.montoCuotas)
         self.labelMonto.set_text(str(monC))        
Beispiel #8
0
    def cargarVista(self, inicial):

        # Tipos de dato de cada columna. ListStore es el modelo del TreeView, en este caso, lista. Podria ser Tree.
        lista = gtk.ListStore(int,str,str,str,str) # ID, usuario, nombre, mail, clave
        render = gtk.CellRendererText() # Objeto que se encarga de dibujar cada celda
        #renderEdit = gtk.CellRendererText() # Objeto que se encarga de dibujar cada celda
        #renderEdit.set_property('editable', True)

        # Columnas de la vista
        columna0 = gtk.TreeViewColumn('Nro. de Factura', render, text=0)
        columna1 = gtk.TreeViewColumn('Fecha de Emisión', render, text=1)
        columna2 = gtk.TreeViewColumn('Condición de Venta', render, text=2)
        columna3 = gtk.TreeViewColumn('Proveedor', render, text=3)
        columna4 = gtk.TreeViewColumn('Total', render, text=4)
        
        
        #columna6.set_visible(False) # Para que no se vea por ventana
        # Lista donde cada elemento es un objeto usuario
        compras = modelo_compras.obtenerTodos()
        if compras != None:
            for compra in compras:
                proveedor = modelo_proveedores.buscar(compra.getProveedor())
                total = utils.convertir_numero(int(compra.getTotal()))
                lista.append([compra.getId(), compra.getFecha(), compra.getTipo(), proveedor.getNombre(),total])

        # Arma la vista con las columas y lista de elementos
        self.vista.set_model(lista)
        if inicial:
            self.vista.append_column(columna0)
            self.vista.append_column(columna1)
            self.vista.append_column(columna2)
            self.vista.append_column(columna3)
            self.vista.append_column(columna4)
            
            
            
            # Permite ordenar por columnas
            columna0.set_sort_column_id(0)
            columna1.set_sort_column_id(1)
            columna2.set_sort_column_id(2)
            columna3.set_sort_column_id(3)
            columna4.set_sort_column_id(4)
            
            
            
            
            #self.vista.set_reorderable(True) # Permite drag and drop entre los datos

        self.on_comboBuscar_changed(self.comboBuscar) # Esto es para asignar la columna por la que se puede buscar
        self.vista.show()
Beispiel #9
0
    def cargarVista(self, inicial):

        # Tipos de dato de cada columna. ListStore es el modelo del TreeView, en este caso, lista. Podria ser Tree.
        lista = gtk.ListStore(int, str, str, str,
                              str)  # ID, usuario, nombre, mail, clave
        render = gtk.CellRendererText(
        )  # Objeto que se encarga de dibujar cada celda
        #renderEdit = gtk.CellRendererText() # Objeto que se encarga de dibujar cada celda
        #renderEdit.set_property('editable', True)

        # Columnas de la vista
        columna0 = gtk.TreeViewColumn('ID Producto', render, text=0)
        columna1 = gtk.TreeViewColumn('Nombre del Producto', render, text=1)
        columna2 = gtk.TreeViewColumn('Descripción', render, text=2)
        columna3 = gtk.TreeViewColumn('Precio', render, text=3)
        columna4 = gtk.TreeViewColumn('Stock', render, text=4)

        #columna6.set_visible(False) # Para que no se vea por ventana
        # Lista donde cada elemento es un objeto usuario
        productos = modelo_productos.obtenerTodos()
        if productos != None:
            for producto in productos:
                precio = utils.convertir_numero(int(producto.getPrecio()))
                lista.append([
                    producto.getId(),
                    producto.getNombre(),
                    producto.getDescripcion(), precio,
                    producto.getStock_Act()
                ])

        # Arma la vista con las columas y lista de elementos
        self.vista.set_model(lista)
        if inicial:
            self.vista.append_column(columna0)
            self.vista.append_column(columna1)
            self.vista.append_column(columna2)
            self.vista.append_column(columna3)
            self.vista.append_column(columna4)

            # Permite ordenar por columnas
            columna0.set_sort_column_id(0)
            columna1.set_sort_column_id(1)
            columna2.set_sort_column_id(2)
            columna3.set_sort_column_id(3)
            columna4.set_sort_column_id(4)

            #self.vista.set_reorderable(True) # Permite drag and drop entre los datos

        self.vista.show()
Beispiel #10
0
    def cargarListadoProductos(self, prod, tot):

        if prod != None:
            for producto in prod:
                precioU = utils.convertir_numero(producto.getPrecioU())
                importe = utils.convertir_numero(producto.getImporte())
                self.lista.append([
                    producto.getIdProducto(),
                    producto.getCantidad(),
                    producto.getDescripcion(),
                    producto.getPrecioU(),
                    producto.getImporte()
                ])
                #self.totalSum = self.totalSum + producto.getImporte()
        # Arma la vista con las columas y lista de elementos
        self.total = tot
        subT = int(tot / 1.1)
        iva = tot - subT
        subT = utils.convertir_numero(subT)
        iva = utils.convertir_numero(iva)
        total = utils.convertir_numero(tot)
        self.labelIVA.set_text(str(iva))
        self.labelSub.set_text(str(subT))
        self.labelTotal.set_text(str(total))
Beispiel #11
0
 def on_comboCuotas_changed(self, widget):
     index = self.comboCuotas.get_active() + 1
     if (self.checkEntrega.get_active() == True
             and self.textoEntrega.get_text != ''):
         entrega = int(self.textoEntrega.get_text())
         total = int(self.total)
         if (entrega < total):
             saldo = total - entrega
             self.montoCuotas = saldo / index
             monC = utils.convertir_numero(self.montoCuotas)
             self.labelMonto.set_text(str(monC))
     else:
         self.montoCuotas = int(self.labelTotal.get_text()) / index
         monC = utils.copnvertir_numero(self.montoCuotas)
         self.labelMonto.set_text(str(monC))
Beispiel #12
0
    def cargarVista(self, inicial):

        # Tipos de dato de cada columna. ListStore es el modelo del TreeView, en este caso, lista. Podria ser Tree.
        lista = gtk.ListStore(int,str,str,str,str) # ID, usuario, nombre, mail, clave
        render = gtk.CellRendererText() # Objeto que se encarga de dibujar cada celda
        #renderEdit = gtk.CellRendererText() # Objeto que se encarga de dibujar cada celda
        #renderEdit.set_property('editable', True)

        # Columnas de la vista
        columna0 = gtk.TreeViewColumn('ID Producto', render, text=0)
        columna1 = gtk.TreeViewColumn('Nombre del Producto', render, text=1)
        columna2 = gtk.TreeViewColumn('Descripción', render, text=2)
        columna3 = gtk.TreeViewColumn('Precio', render, text=3)
        columna4 = gtk.TreeViewColumn('Stock', render, text=4)
        
        #columna6.set_visible(False) # Para que no se vea por ventana
        # Lista donde cada elemento es un objeto usuario
        productos = modelo_productos.obtenerTodos()
        if productos != None:
            for producto in productos:
                precio = utils.convertir_numero(int(producto.getPrecio()))
                lista.append([producto.getId(), producto.getNombre(), producto.getDescripcion(), precio, producto.getStock_Act()])

        # Arma la vista con las columas y lista de elementos
        self.vista.set_model(lista)
        if inicial:
            self.vista.append_column(columna0)
            self.vista.append_column(columna1)
            self.vista.append_column(columna2)
            self.vista.append_column(columna3)
            self.vista.append_column(columna4)
            
            
            # Permite ordenar por columnas
            columna0.set_sort_column_id(0)
            columna1.set_sort_column_id(1)
            columna2.set_sort_column_id(2)
            columna3.set_sort_column_id(3)
            columna4.set_sort_column_id(4)
            
            
            
            #self.vista.set_reorderable(True) # Permite drag and drop entre los datos

        self.vista.show()
Beispiel #13
0
    def __init__(self, cli, fact, total):

        # Se carga el archivo glade con la ventana de edición
        objsE = gtk.Builder()
        objsE.add_from_file('vistas/forma_pago.glade')

        # Se recuperan los widget a usar (no son necesarios todos)
        self.winEdit = objsE.get_object('winEdit')
        self.notebookMedio = objsE.get_object('notebookMedio')
        self.labelFactura = objsE.get_object('labelFactura')
        self.labelCliente = objsE.get_object('labelCliente')
        self.labelTotal = objsE.get_object('labelTotal')
        self.checkDescuento = objsE.get_object('checkDescuento')
        self.textoDescuento = objsE.get_object('textoDescuento')
        self.labelDescontado = objsE.get_object('labelDescontado')
        self.textoBanco = objsE.get_object('textoBanco')
        self.textoNroCheque = objsE.get_object('textoNroCheque')
        self.checkCredito = objsE.get_object('checkCredito')
        self.checkDebito = objsE.get_object('checkDebito')
        self.textoCodAut = objsE.get_object('textoCodAut')
        self.textoEmisor = objsE.get_object('textoEmisor')
        self.textoPagarC = objsE.get_object('textoPagarC')
        self.textoPagarCH = objsE.get_object('textoPagarCH')
        self.textoPagarT = objsE.get_object('textoPagarT')
        self.labelSaldo = objsE.get_object('labelSaldo')
        
        # ID y Clave no son datos modificados por ventana
        self.winEdit.set_title('Seleccione el Medio de Pago Correspondiente')
        self.identificador = 0
        self.cliente = cli
        self.total = total
        cliente = modelo_clientes.buscar(cli)
        self.labelCliente.set_text(cliente.getNombre())
        self.labelFactura.set_text(str(fact))
        self.toal = utils.convertir_numero(total)
        self.labelSaldo.set_text(self.toal)
        self.labelTotal.set_text(str(self.toal))
        self.textoDescuento.set_sensitive(False)
        self.aux = 0
        
        # Se asocian las senales del archivo glade a metodos de la clase
        objsE.connect_signals(self)
        
        self.winEdit.show()