#include <efacturarecepcion.h>
Inheritance diagram for EFacturaRecepcion:

Public Slots | |
| virtual void | on_mui_recibir_clicked () |
| virtual void | on_mui_abrir_clicked () |
| virtual void | on_mui_salir_clicked () |
Public Member Functions | |
| EFacturaRecepcion (Company *emp, QWidget *parent=0) | |
| ~EFacturaRecepcion () | |
Definition at line 30 of file efacturarecepcion.h.
| emp | ||
| parent |
Definition at line 38 of file efacturarecepcion.cpp.
References _depura(), and Ui_EFacturaRecepcionBase::setupUi().
00038 : FichaBf(emp, parent) { 00039 _depura("EFacturaRecepcion::EFacturaRecepcion", 0); 00040 QString query; 00041 00042 setupUi(this); // Para que el form se inicialice bien 00043 _depura("END EFacturaRecepcion::EFacturaRecepcion", 0); 00044 }
| EFacturaRecepcion::~EFacturaRecepcion | ( | ) |
Definition at line 50 of file efacturarecepcion.cpp.
References _depura().
00050 { 00051 _depura("EFacturaRecepcion::~EFacturaRecepcion", 0); 00052 _depura("EFacturaRecepcion::~EFacturaRecepcion", 0); 00053 }
| void EFacturaRecepcion::on_mui_recibir_clicked | ( | ) | [virtual, slot] |
Obtenemos los valores de configuracion necesarios para obtener eFacturas por e-mail
Comprobamos que el directorio especificado existeAboutView
Llamamos al script para recibir e-mails con los parametros obtenidos
Obtenemos los directorios alojados en nuestra carpeta de eFacturas recibidas
Evitamos los directorios "." y ".."
Entramos en el directorio
Buscamos solo archivos
Obtenemos la lista de archivos (en teoria solo debe de haber uno, el XML con la efactura)
Obtenemos info del archivo
Creamos una nueva fila y la usamos
Nombre del fichero
Nombre del directorio que lo contiene
Volvemos al directorio de efacturas
Obtenemos el nombre del archivo XML incluido en cada uno de ellos y los mostramos en pantalla
Liberamos memoria con los datos que ya no necesitamos
Definition at line 60 of file efacturarecepcion.cpp.
References _depura(), postgresiface2::cargacursor(), FichaBf::empresaBase(), Ui_EFacturaRecepcionBase::mui_facturasRecibidas, and cursor2::valor().
00060 { 00061 _depura("EFacturaRecepcion::on_mui_salir_clicked", 0); 00062 00064 00065 QString query = "SELECT valor FROM configuracion WHERE nombre = 'eFactura_dirEmail'"; 00066 cursor2 *dirEmail = empresaBase()->cargacursor(query); 00067 00068 query = "SELECT valor FROM configuracion WHERE nombre = 'eFactura_serverRec'"; 00069 cursor2 *serverRec = empresaBase()->cargacursor(query); 00070 00071 query = "SELECT valor FROM configuracion WHERE nombre = 'eFactura_Email'"; 00072 cursor2 *Email = empresaBase()->cargacursor(query); 00073 00074 query = "SELECT valor FROM configuracion WHERE nombre = 'eFactura_Password'"; 00075 cursor2 *Password = empresaBase()->cargacursor(query); 00076 00078 00079 QDir *direfactura = new QDir(dirEmail->valor("valor")); 00080 00081 if (!direfactura->exists()) { 00082 _depura("El directorio especificado en la configuracion para la eFactura no existe. Por favor, creelo e intentelo de nuevo", 2); 00083 00084 return; 00085 } 00086 00088 00089 QString llamada_qstring = "cd " + dirEmail->valor("valor") + " ; python /home/arturo/bulmages/trunk/bulmages/installbulmages/efactura/recibemail.py " + serverRec->valor("valor") + " " + Email->valor("valor") + " " + Password->valor("valor"); 00090 00091 char llamada[512]; 00092 00093 strncpy(llamada, llamada_qstring.toLatin1(), sizeof(llamada)-1); 00094 00095 system(llamada); 00096 00098 00099 // Filtramos solo por directorios que no sean enlaces 00100 direfactura->setFilter(QDir::Dirs); 00101 // Ordenamos por fecha de modificacion 00102 direfactura->setSorting(QDir::Name); 00103 00104 QFileInfoList *listadirs = new QFileInfoList(direfactura->entryInfoList()); 00105 00106 mui_facturasRecibidas->setColumnCount(2); 00107 00108 int cont = 0; 00109 00110 mui_facturasRecibidas->setRowCount(0); 00111 00112 QFileInfo *fileInfo = NULL; 00113 QTableWidgetItem *item = NULL; 00114 QFileInfoList *archivos = NULL; 00115 00116 for (int i = 0; i < listadirs->size(); i++) { 00117 00118 fileInfo = new QFileInfo(listadirs->at(i)); 00119 00121 00122 if (!fileInfo->fileName().startsWith(".")) { 00123 00125 00126 if (!direfactura->cd(fileInfo->fileName())) { 00127 _depura("Error intentando entrar en " + fileInfo->fileName(), 2); 00128 continue; 00129 } 00130 00132 00133 direfactura->setFilter(QDir::Files); 00134 00136 00137 archivos = new QFileInfoList(direfactura->entryInfoList()); 00138 00139 if (archivos->size() > 1) { 00140 _depura("El directorio " + direfactura->absolutePath() + " contiene mas de un archivo. Por favor, arreglelo dejando solo el fichero XML que contenga la e-factura.", 2); 00141 direfactura->cdUp(); 00142 continue; 00143 } 00144 00146 00147 fileInfo = new QFileInfo(archivos->at(0)); 00148 00150 00151 mui_facturasRecibidas->insertRow(cont); 00152 00154 00155 item = new QTableWidgetItem(fileInfo->fileName()); 00156 mui_facturasRecibidas->setItem(cont, 0, item); 00157 00159 00160 item = new QTableWidgetItem(direfactura->absolutePath()); 00161 mui_facturasRecibidas->setItem(cont, 1, item); 00162 00163 cont++; 00164 00166 00167 direfactura->cdUp(); 00168 00169 } // end if 00170 } 00171 00174 00176 00177 // delete item; 00178 delete fileInfo; 00179 delete direfactura; 00180 delete dirEmail; 00181 delete serverRec; 00182 delete Email; 00183 delete Password; 00184 00185 _depura("END EFacturaRecepcion::on_mui_salir_clicked", 0); 00186 }
| void EFacturaRecepcion::on_mui_abrir_clicked | ( | ) | [virtual, slot] |
Definition at line 192 of file efacturarecepcion.cpp.
References _depura().
00192 { 00193 _depura("EFacturaRecepcion::on_mui_salir_clicked", 0); 00194 00195 _depura("END EFacturaRecepcion::on_mui_salir_clicked", 0); 00196 }
| void EFacturaRecepcion::on_mui_salir_clicked | ( | ) | [virtual, slot] |
Definition at line 202 of file efacturarecepcion.cpp.
References _depura().
00202 { 00203 _depura("EFacturaRecepcion::on_mui_salir_clicked", 0); 00204 00205 close(); 00206 00207 _depura("END EFacturaRecepcion::on_mui_salir_clicked", 0); 00208 }
1.5.1