Exemple #1
0
 def exportar(self):
     # Opciones
     if(self.ui.filtrarEmpresaComboBox.currentIndex() == 0):
         qm = QtGui.QMessageBox(self)
         qm.setWindowTitle('Advertencia')
         qm.setText(u'¿Esta seguro de que desea exportar todas las facturas?')
         qm.addButton(QtGui.QMessageBox.Yes).setText("Si")
         qm.addButton(QtGui.QMessageBox.No).setText("No")
         qm.setIcon(QtGui.QMessageBox.Warning)
         reply = qm.exec_()
         if reply == QtGui.QMessageBox.No:
             return
     
     
     contabilizar = self.ui.contabilizarCheckBox.isChecked()
     guardar = self.ui.guardarCheckBox.isChecked()
     centro = self.ui.centroLineEdit.text() 
     especial = self.ui.codigoLineEdit.text()
     archivo = None
     correlativo = self.ui.correlativoDoubleSpinBox.value()
     if(self.sender().objectName() == "toolButtonPlano"):
         archivo = QtGui.QFileDialog.getSaveFileName(self, directory=(os.path.expanduser("~/Documents/")+"Facturas.tcv"), filter="Texto tcv (*.tcv)")
     else:    
         archivo = QtGui.QFileDialog.getSaveFileName(self, directory=(os.path.expanduser("~/Documents/")+"Facturas.xls"), filter="Microsoft Excel (*.xls)")
     if(archivo != ""):
         self.ui.deshacerToolButton.setEnabled(False)
         self.ui.rehacerToolButton.setEnabled(False)
         #TODO: try permiso de escritura 
         if(self.sender().objectName() != "toolButtonPlano"):
             month = self.fechas[self.ui.fechaComboBox.currentIndex()][1]
             year = self.fechas[self.ui.fechaComboBox.currentIndex()][2]
             print "YEYYEYE",year
             print "MJSAASD",month
             try:
                 if(contabilizar):
                     tablas = [self.ui.tableWidget_Compras, self.ui.tableWidget_Ventas]
                     self.contabilizados = []
                     self.cambiarContabilizados = False
                     for tabla in tablas:
                         allRows = tabla.rowCount()
                         for row in xrange(0,allRows):
                             c = unicode(tabla.item(row,0).text())
                             Id = unicode(tabla.item(row,tabla.horizontalHeader().count()-1).text())
                             if(c == "No"):
                                 self.contabilizados.append(int(Id))
                 DBController.exportarExcel(unicode(self.empresas[self.ui.filtrarEmpresaComboBox.currentIndex()][0]), archivo, contabilizar, guardar, month, year, correlativo, centro, especial)
                 print "WEWEWE"
                 
                 if(len(self.contabilizados)!=0):
                     #DBController.contabilizarFacturas(self.contabilizados, 1)
                     self.ui.deshacerToolButton.setEnabled(True)
                 self.updateTablas()
                 self.mensaje("Archivo exportado en: " + unicode(archivo))
                 
                 qm = QtGui.QMessageBox(self)
                 qm.setWindowTitle('Abrir archivo')
                 qm.setText("Exportado existosamente. Desea abrir el archivo?")
                 qm.addButton(QtGui.QMessageBox.Yes).setText("Si")
                 qm.addButton(QtGui.QMessageBox.No).setText("No")
                 qm.setIcon(QtGui.QMessageBox.Information)
                 reply = qm.exec_()
                 if reply == QtGui.QMessageBox.Yes:
                     os.startfile(unicode(archivo))
                 
             except:
                 traceback.print_exc()
                 qm = QtGui.QMessageBox(self)
                 qm.setWindowTitle('Error de escritura')
                 qm.setText("Se produjo un error al exportar el archivo, verifique que no tiene el archivo de salida abierto")
                 qm.addButton(QtGui.QMessageBox.Yes).setText("Aceptar")
                 qm.setIcon(QtGui.QMessageBox.Warning)
                 reply = qm.exec_()
                 DBController.contabilizarFacturas(self.contabilizados, False)