def on_treeClientes_cursor_changed(self, widget): """ Evento que selecciona un cliente en el treeView :return: Void """ try: model, iter = variables.treeclientes.get_selection().get_selected() # model es el modelo de la tabla de datos # iter es el número que identifica a la fila que marcamos variables.menslabel[0].set_text('') funcionescli.limpiarentry(variables.filacli) if iter != None: sdni = model.get_value(iter, 0) sapel = model.get_value(iter, 1) snome = model.get_value(iter, 2) sdata = model.get_value(iter, 3) if sdata == None: sdata = '' cod = funcionescli.selectcli(sdni) variables.menslabel[1].set_text(str(cod[0])) variables.filacli[0].set_text(str(sdni)) variables.filacli[1].set_text(str(sapel)) variables.filacli[2].set_text(str(snome)) variables.filacli[3].set_text(str(sdata)) variables.menslabel[4].set_text(str(sdni)) variables.menslabel[5].set_text(str(sapel)) except: print("error carga cliente")
def on_menuBarImportar_activate(self, widget): """ Gestiona el evento del botón importar de la barra de menú. Obtiene clientes, a partir de un fichero xlsx, y los almacena en la base de datos. :param widget: :return: No devuelve nada. """ document = xlrd.open_workbook("listadoclientes.xlsx") clientes = document.sheet_by_index(0) todo = 0 for i in range(clientes.nrows - 1): for j in range(clientes.ncols): if i != 0: if j == 0: dni = str(clientes.cell_value(i, 0)) apel = str(clientes.cell_value(i, 1)) nome = str(clientes.cell_value(i, 2)) data = float(clientes.cell_value(i, 3)) year, mont, d, h, m, s = xlrd.xldate_as_tuple(data, 0) dia = str(d) mes = str(mont) ano = str(year) fecha = dia.zfill(2) + '/' + mes.zfill(2) + '/' + ano registro = (dni, apel, nome, fecha) if (funcionescli.selectcli(dni) == None): funcionescli.insertarcli(registro) funcionescli.listadocli(variables.listclientes) funcionescli.limpiarentry(variables.filacli) todo = 1 if todo == 1: variables.vendialogimportar.show()
def on_treeClientes_cursor_changed(self, widget): """ Gestionar la accion de cuando se haga click en un cliente en el treeview. Carga en los entrys los datos del cliente seleccionado. :param widget: :return: No devuelve nada. """ try: model, iter = variables.treeclientes.get_selection().get_selected() # model es el modelo de la tabla de datos # iter es el número que identifica a la fila que marcamos variables.menslabel[0].set_text('') funcionescli.limpiarentry(variables.filacli) if iter != None: sdni = model.get_value(iter, 0) sapel = model.get_value(iter, 1) snome = model.get_value(iter, 2) sdata = model.get_value(iter, 3) if sdata == None: sdata = '' cod = funcionescli.selectcli(sdni) variables.menslabel[1].set_text(str(cod[0])) variables.filacli[0].set_text(str(sdni)) variables.filacli[1].set_text(str(sapel)) variables.filacli[2].set_text(str(snome)) variables.filacli[3].set_text(str(sdata)) variables.menslabel[4].set_text(str(sdni)) variables.menslabel[5].set_text(str(sapel)) except: print("error carga cliente")
def on_treeClientes_cursor_changed(self, widget): ''' Se encarga de actualizar los datos segun el cliente que seleccionamos en el treeView. model es el modelo de la tabla de datos iter es el numero que identifica a la fila que marcamos @param widget: @return: ''' try: model, iter = variables.treeclientes.get_selection().get_selected() variables.menslabel[0].set_text('') funcionescli.limpiarentry(variables.filacli) if iter != None: sdni = model.get_value(iter, 0) sapel = model.get_value(iter, 1) snome = model.get_value(iter, 2) sdata = model.get_value(iter, 3) if sdata == None: sdata = '' cod = funcionescli.selectcli(sdni) variables.menslabel[1].set_text(str(cod[0])) variables.filacli[0].set_text(str(sdni)) variables.filacli[1].set_text(str(sapel)) variables.filacli[2].set_text(str(snome)) variables.filacli[3].set_text(str(sdata)) variables.menslabel[4].set_text(str(sdni)) variables.menslabel[5].set_text(str(sapel)) except: print("error carga cliente")
def on_treeClientes_cursor_changed(self, widget): """ Evento que gestiona el treeview de clientes """ try: funcionescli.limpiarentry(variables.filacli) model, iter = variables.treeclientes.get_selection().get_selected() if iter != None: sdni = model.get_value(iter, 0) sapel = model.get_value(iter, 1) snome = model.get_value(iter, 2) sdata = model.get_value(iter, 3) if (sdata == None): sdata = " " cod = funcionescli.selectcli(sdni) variables.menserror[1].set_text(str(cod[0])) variables.filacli[0].set_text(sdni) variables.filares[0].set_text(sdni) variables.filacli[1].set_text(sapel) variables.filares[1].set_text(sapel) variables.filacli[2].set_text(snome) variables.filacli[3].set_text(str(sdata)) except Exception as e: print(e) print("error carga cliente")
def on_btnelegirRutaAceptar_clicked(self, widget): """ Importa el archivo seleccionado en el filechooser. Importa el archivo que se haya seleccionado en el filechooser, lo introduce en la base de datos y actuliza los treeviews. Tambien cierra la ventana en cuestion. :param widget: :return: void """ try: destino = variables.filechooserRuta.get_filename() print(str(destino)) document = xlrd.open_workbook(str(destino)) # Abrimos el fichero excel clientes = document.sheet_by_index(0) book_datemode = document.datemode for i in range(clientes.nrows - 1): # Ignoramos la primera fila, que indica los campos for j in range(clientes.ncols): if i != 0: if j == 0: dni = str(clientes.cell_value(i, 0)) apel = str(clientes.cell_value(i, 1)) nome = str(clientes.cell_value(i, 2)) data = float(clientes.cell_value(i, 3)) year, mont, d, h, m, s = xlrd.xldate_as_tuple( data, 0) dia = str(d) mes = str(mont) año = str(year) fecha = dia.zfill(2) + '/' + mes.zfill( 2) + '/' + año registro = (dni, apel, nome, fecha) if (funcionescli.selectcli(dni) == None): funcionescli.insertarcli(registro) funcionescli.listadocli(variables.listclientes) funcionescli.limpiarentry(variables.filacli) except Exception as e: print(e) try: variables.filechooserRuta.connect('delete-event', lambda w, e: w.hide() or True) variables.filechooserRuta.hide() except: print('error cerrar file chooser')