#include <QFile>Go to the source code of this file.
Functions | |
| int | Contaplus2Fugit (QFile &fugitfile, QFile &subcuentas, QFile &asientos) |
| int Contaplus2Fugit | ( | QFile & | fugitfile, | |
| QFile & | subcuentas, | |||
| QFile & | asientos | |||
| ) |
| fugitfile | ||
| subcuentas | ||
| asientos |
Subcuentas.
Asientos.
Ptas.
Definition at line 83 of file gongimportfiles.cpp.
References asiento, EURO, iva, LEN_AJUSTAME, LEN_ASIEN, LEN_AUXILIAR, LEN_BASEEURO, LEN_BASEIMPO, LEN_CAMBIO, LEN_CLAVE, LEN_CODDIVISA, LEN_CODIGO_CUENTA, LEN_CODPOSTAL, LEN_CONCEPTO, LEN_CONTRA, LEN_CTA_CODDIVISA, LEN_CTA_DOCUMENTO, LEN_DEBEME, LEN_DEPARTA, LEN_DIVISA, LEN_DOCUMENTO, LEN_DOMICILIO, LEN_ESTADO, LEN_EURODEBE, LEN_EUROHABER, LEN_FACTURA, LEN_FECHA, LEN_HABERME, LEN_IMPAUXME, LEN_IVA, LEN_MONEDAUSO, LEN_NCASADO, LEN_NIF, LEN_NOCONV, LEN_NUMEROINV, LEN_POBLACION, LEN_PROVINCIA, LEN_PTADEBE, LEN_PTAHABER, LEN_RECEQUIV, LEN_SERIE, LEN_SUBCTA, LEN_SUCURSAL, LEN_TCASADO, LEN_TIPOIVA, LEN_TITULO, and LEN_TRANS.
00083 { 00084 QTextStream fugit(&fugitfile); 00085 00086 fugit << "<?xml version=\"1.0\" encoding = \"iso-8859-1\"?>\n" 00087 "<!DOCTYPE FUGIT>\n" 00088 "<FUGIT version='0.3.1' origen='contaplus'" 00089 " date='" << QDate().toString(Qt::ISODate) << "'>\n"; 00090 QString lopd_str, cuenta_str; 00091 00093 QTextStream stream(&subcuentas); 00094 while (!subcuentas.atEnd()) { 00095 QString line = stream.readLine(); 00096 if (line.length() < 2) { 00097 break; 00098 } // end if 00099 int pos = 0; 00100 QString cod = line.mid(pos, LEN_CODIGO_CUENTA).trimmed(); 00101 pos += LEN_CODIGO_CUENTA; 00102 QString titulo = line.mid(pos, LEN_TITULO).trimmed(); 00103 pos += LEN_TITULO; 00104 QString nif = line.mid(pos, LEN_NIF).trimmed(); 00105 pos += LEN_NIF; 00106 QString domicilio = line.mid(pos, LEN_DOMICILIO).trimmed(); 00107 pos += LEN_DOMICILIO; 00108 QString poblacion = line.mid(pos, LEN_POBLACION).trimmed(); 00109 pos += LEN_POBLACION; 00110 QString provincia = line.mid(pos, LEN_PROVINCIA).trimmed(); 00111 pos += LEN_PROVINCIA; 00112 QString codpostal = line.mid(pos, LEN_CODPOSTAL).trimmed(); 00113 pos += LEN_CODPOSTAL; 00114 QString divisa = line.mid(pos, LEN_DIVISA).trimmed(); 00115 pos += LEN_DIVISA; 00116 QString cta_coddivisa = line.mid(pos, LEN_CTA_CODDIVISA).trimmed(); 00117 pos += LEN_CTA_CODDIVISA; 00118 QString cta_documento = line.mid(pos, LEN_CTA_DOCUMENTO).trimmed(); 00119 pos += LEN_CTA_DOCUMENTO; 00120 QString ajustame = line.mid(pos, LEN_AJUSTAME).trimmed(); 00121 pos += LEN_AJUSTAME; 00122 QString tipoiva = line.mid(pos, LEN_TIPOIVA).trimmed(); 00123 pos += LEN_TIPOIVA; 00124 00125 if (!nif.isEmpty() || !domicilio.isEmpty() || !poblacion.isEmpty() 00126 || !provincia.isEmpty() || !codpostal.isEmpty()) { 00127 lopd_str += "<LOPD>\n" 00128 "\t<FIELD name='cif'>" + nif + "</FIELD>\n" 00129 "\t<FIELD name='nombre'>" + titulo + "</FIELD>\n" 00130 "\t<FIELD name='direccion'>" + domicilio + "</FIELD>\n" 00131 "\t<FIELD name='localidad'>" + poblacion + "</FIELD>\n" 00132 "\t<FIELD name='provincia'>" + provincia + "</FIELD>\n" 00133 "\t<FIELD name='cp'>" + codpostal + "</FIELD>\n" 00134 "</LOPD>\n"; 00135 } // end if 00136 if (!cod.isEmpty()) { 00137 cuenta_str += "<CUENTA>\n" 00138 "\t<FIELD name='cuenta'>" + cod + "</FIELD>\n" 00139 "\t<FIELD name='descripcion'>" + titulo + "</FIELD>\n" 00140 "\t<FIELD name='cif'>" + nif + "</FIELD>\n" 00141 "</CUENTA>\n"; 00142 } // end if 00143 } // end while 00144 fugit << "<FICHERO_LOPD>\n"; 00145 fugit << lopd_str ; 00146 fugit << "</FICHERO_LOPD>\n"; 00147 fugit << "<FICHERO_CUENTA>\n"; 00148 fugit << cuenta_str ; 00149 fugit << "</FICHERO_CUENTA>\n\n"; 00150 00152 fugit << "<FICHERO_ASIENTO>\n"; 00153 QTextStream stream2(&asientos); 00154 QString lastasiento; 00155 int napunte = 0; 00156 while (!asientos.atEnd()) { 00157 QString line = stream2.readLine(); 00158 if (line.length() < 2) { 00159 break; 00160 } // end if 00161 int pos = 0; 00162 QString asiento = line.mid(pos, LEN_ASIEN).trimmed(); 00163 pos += LEN_ASIEN; 00164 QString fecha = line.mid(pos, LEN_FECHA).trimmed(); 00165 fecha = fecha.mid(0, 4) + "-" + fecha.mid(4, 2) + "-" + fecha.mid(6, 2); 00166 pos += LEN_FECHA; 00167 QString subcta = line.mid(pos, LEN_SUBCTA).trimmed(); 00168 pos += LEN_SUBCTA; 00169 QString contra = line.mid(pos, LEN_CONTRA).trimmed(); 00170 pos += LEN_CONTRA; 00171 QString ptadebe = line.mid(pos, LEN_PTADEBE).trimmed(); 00172 pos += LEN_PTADEBE; 00173 QString concepto = line.mid(pos, LEN_CONCEPTO).trimmed(); 00174 pos += LEN_CONCEPTO; 00175 QString ptahaber = line.mid(pos, LEN_PTAHABER).trimmed(); 00176 pos += LEN_PTAHABER; 00177 QString factura = line.mid(pos, LEN_FACTURA).trimmed(); 00178 pos += LEN_FACTURA; 00179 QString baseimpo = line.mid(pos, LEN_BASEIMPO).trimmed(); 00180 pos += LEN_BASEIMPO; 00181 QString iva = line.mid(pos, LEN_IVA).trimmed(); 00182 pos += LEN_IVA; 00183 QString recequiv = line.mid(pos, LEN_RECEQUIV).trimmed(); 00184 pos += LEN_RECEQUIV; 00185 QString documento = line.mid(pos, LEN_DOCUMENTO).trimmed(); 00186 pos += LEN_DOCUMENTO; 00187 QString departa = line.mid(pos, LEN_DEPARTA).trimmed(); 00188 pos += LEN_DEPARTA; 00189 QString clave = line.mid(pos, LEN_CLAVE).trimmed(); 00190 pos += LEN_CLAVE; 00191 QString estado = line.mid(pos, LEN_ESTADO).trimmed(); 00192 pos += LEN_ESTADO; 00193 QString ncasado = line.mid(pos, LEN_NCASADO).trimmed(); 00194 pos += LEN_NCASADO; 00195 QString tcasado = line.mid(pos, LEN_TCASADO).trimmed(); 00196 pos += LEN_TCASADO; 00197 QString trans = line.mid(pos, LEN_TRANS).trimmed(); 00198 pos += LEN_TRANS; 00199 QString cambio = line.mid(pos, LEN_CAMBIO).trimmed(); 00200 pos += LEN_CAMBIO; 00201 QString debeme = line.mid(pos, LEN_DEBEME).trimmed(); 00202 pos += LEN_DEBEME; 00203 QString haberme = line.mid(pos, LEN_HABERME).trimmed(); 00204 pos += LEN_HABERME; 00205 QString auxiliar = line.mid(pos, LEN_AUXILIAR).trimmed(); 00206 pos += LEN_AUXILIAR; 00207 QString serie = line.mid(pos, LEN_SERIE).trimmed(); 00208 pos += LEN_SERIE; 00209 QString sucursal = line.mid(pos, LEN_SUCURSAL).trimmed(); 00210 pos += LEN_SUCURSAL; 00211 QString coddivisa = line.mid(pos, LEN_CODDIVISA).trimmed(); 00212 pos += LEN_CODDIVISA; 00213 QString impauxme = line.mid(pos, LEN_IMPAUXME).trimmed(); 00214 pos += LEN_IMPAUXME; 00215 QString monedauso = line.mid(pos, LEN_MONEDAUSO).trimmed(); 00216 pos += LEN_MONEDAUSO; 00217 QString eurodebe = line.mid(pos, LEN_EURODEBE).trimmed(); 00218 pos += LEN_EURODEBE; 00219 QString eurohaber = line.mid(pos, LEN_EUROHABER).trimmed(); 00220 pos += LEN_EUROHABER; 00221 QString baseeuro = line.mid(pos, LEN_BASEEURO).trimmed(); 00222 pos += LEN_BASEEURO; 00223 QString noconv = line.mid(pos, LEN_NOCONV).trimmed(); 00224 pos += LEN_NOCONV; 00225 QString numeroinv = line.mid(pos, LEN_NUMEROINV).trimmed(); 00226 pos += LEN_NUMEROINV; 00227 00228 if (asiento != lastasiento) { 00229 if (!lastasiento.isEmpty()) 00230 fugit << "</ASIENTO>\n"; 00231 fugit << "<ASIENTO>\n" 00232 "\t<FIELD name='numasiento'>" + asiento + "</FIELD>\n" 00233 "\t<FIELD name='fecha'>" + fecha + "</FIELD>\n" 00234 "\t<FIELD name='numdocumento'>" + documento + "</FIELD>\n" 00235 "\t<FIELD name='numdiario'>" + departa + "</FIELD>\n" 00236 "\t<FIELD name='punteo'>" + estado + "</FIELD>\n"; 00237 napunte = 0; 00238 lastasiento = asiento; 00239 } // end if 00240 napunte++; 00241 fugit << "\t<APUNTE>\n" 00242 "\t\t<FIELD name='numapunte'>" + QString::number(napunte) + "</FIELD>\n" 00243 "\t\t<FIELD name='cuenta'>" + subcta + "</FIELD>\n" 00244 "\t\t<FIELD name='contrapartida'>" + contra + "</FIELD>\n" 00245 "\t\t<FIELD name='concepto'>" + concepto + "</FIELD>\n"; 00246 if (monedauso == "1") { 00247 fugit << 00248 "\t\t<FIELD name='debe'>" + QString::number((ptadebe.toDouble()) / EURO) + "</FIELD>\n" 00249 "\t\t<FIELD name='haber'>" + QString::number((ptahaber.toDouble()) / EURO) + "</FIELD>\n"; 00250 } else { 00251 fugit << 00252 "\t\t<FIELD name='debe'>" + QString::number((eurodebe.toDouble()) ) + "</FIELD>\n" 00253 "\t\t<FIELD name='haber'>" + QString::number((eurohaber.toDouble()) ) + "</FIELD>\n"; 00254 } // end if 00255 fugit << "\t</APUNTE>\n"; 00256 } // end while 00257 if (!lastasiento.isEmpty()) { 00258 fugit << "</ASIENTO>\n"; 00259 } // end if 00260 fugit << "</FICHERO_ASIENTO>\n"; 00261 fugit << "</FUGIT>"; 00262 00263 return 1; 00264 }
1.5.1