#include <extractoview1.h>
Inheritance diagram for extractoview1:

Public Slots | |
| virtual void | on_mui_actualizar_clicked () |
| virtual void | accept () |
| Esta función carga el cursor de cuentas que forman el todo por el todo. | |
| virtual void | boton_siguiente () |
| Esta es la función que avanza un registro entre las cuentas. | |
| virtual void | boton_anterior () |
| Esta es la función que retrocede un registro entre las cuentas. | |
| virtual void | boton_fin () |
| Avanza al final de las cuentas. | |
| virtual void | boton_inicio () |
| Retrocede al principio de las cuentas. | |
| virtual void | boton_imprimir () |
| Imprime el extracto. | |
| virtual void | boton_guardar () |
| virtual void | on_mui_borrapunteo_clicked () |
| Esta función borra todo el punteo de un extracto y lo pone a cero. | |
| virtual void | on_mui_casacion_clicked () |
| Realiza la casacion de los apuntes. | |
| virtual void | on_mui_guardarpunteo_clicked () |
| Guarda el punteo en disco para poder recuperarlo despues. | |
| virtual void | on_mui_cargarpunteos_clicked () |
| Carga los punteos desde un fichero de texto que se solicita mediante un QFileDialog. | |
| virtual void | on_mui_configurar_clicked () |
| virtual void | on_mui_list_cellDoubleClicked (int, int columna) |
Public Member Functions | |
| extractoview1 (Empresa *, QWidget *parent=0, int flags=0) | |
| ~extractoview1 () | |
| Destructor de la clase. | |
| void | inicializa1 (QString, QString, QString, QString, int) |
| void | vaciar () |
| Limpia los totales. | |
| void | presentar () |
| Esta función se encarga de montar la consulta que va a hacer a la base de datos. | |
| void | ajustes () |
| void | boton_filtrar () |
| QString | imprimeExtractoCuenta (QString) |
| int | guardar () |
| Guarda los datos de la ficha en la base de datos. | |
| virtual void | on_mui_imprimir_clicked () |
| Slot que responde a la Impresion del extracto. | |
Data Fields | |
| cursor2 * | m_cursorcta |
| El extracto se realiza sobre un cursor que siempre está en memoria. | |
A partir de esta pantalla se pueden llevar a cabo todos los temas de punteo y casación. Y acceso a filtrado. También desde esta pantalla se puede pedir más información de una cuenta determinada.
Definition at line 38 of file extractoview1.h.
| emp | ||
| parent |
Iniciamos los componentes
Iniciamos los componentes de la fecha para que al principio aparezcan como el año inicial.
Definition at line 50 of file extractoview1.cpp.
References _depura(), BusquedaCuenta::hideNombre(), Ui_ExtractoBase::m_codigofinal, Ui_ExtractoBase::m_codigoinicial, m_cursorcta, Ui_ExtractoBase::m_fechafinal1, Ui_ExtractoBase::m_fechainicial1, Ficha::meteWindow(), Ui_ExtractoBase::mui_codigocontrapartida, Ui_ExtractoBase::mui_list, Ficha::setDBTableName(), BusquedaCuenta::setEmpresaBase(), SubForm2Bc::setEmpresaBase(), BusquedaFecha::setText(), Ficha::setTitleName(), and Ui_ExtractoBase::setupUi().
00050 : FichaBc(emp, parent) { 00051 _depura("extractoview1::extractoview1", 0); 00052 setupUi(this); 00053 00054 setTitleName(tr("Extracto de Cuentas")); 00055 setDBTableName("apunte"); 00056 00057 mui_list->setEmpresaBase( emp ); 00058 00060 m_codigoinicial->setEmpresaBase( emp ); 00061 m_codigofinal->setEmpresaBase( emp ); 00062 mui_codigocontrapartida->setEmpresaBase( emp ); 00063 m_codigoinicial->hideNombre(); 00064 m_codigofinal->hideNombre(); 00065 00068 QString cadena; 00069 cadena.sprintf ( "%2.2d/%2.2d/%4.4d", 1, 1, QDate::currentDate().year() ); 00070 m_fechainicial1->setText ( cadena ); 00071 cadena.sprintf ( "%2.2d/%2.2d/%4.4d", 31, 12, QDate::currentDate().year() ); 00072 m_fechafinal1->setText ( cadena ); 00073 m_cursorcta = NULL; 00074 meteWindow ( windowTitle(), this ); 00075 _depura ( "END extractoview1::extractoview1", 0 ); 00076 }
| extractoview1::~extractoview1 | ( | ) |
Destructor de la clase.
Definition at line 82 of file extractoview1.cpp.
References _depura(), FichaBc::empresaBase(), m_cursorcta, and EmpresaBase::sacaWindow().
00082 { 00083 _depura ( "extractoview1::~extractoview1", 0 ); 00084 delete m_cursorcta; 00085 empresaBase()->sacaWindow ( this ); 00086 _depura ( "END extractoview1::~extractoview1", 0 ); 00087 }
| void extractoview1::inicializa1 | ( | QString | codinicial, | |
| QString | codfinal, | |||
| QString | fecha1, | |||
| QString | fecha2, | |||
| int | ||||
| ) |
| codinicial | ||
| codfinal | ||
| fecha1 | ||
| fecha2 |
Definition at line 421 of file extractoview1.cpp.
References _depura(), Ui_ExtractoBase::m_codigofinal, Ui_ExtractoBase::m_codigoinicial, Ui_ExtractoBase::m_fechafinal1, Ui_ExtractoBase::m_fechainicial1, normalizafecha(), BusquedaFecha::setText(), and BusquedaCuenta::setText().
Referenced by SubForm2Bc::boton_extracto1(), and BalanceTreeView::boton_extracto1().
00421 { 00422 _depura ( "extractoview1::inicializa1", 0 ); 00423 m_codigoinicial->setText ( codinicial ); 00424 m_codigofinal->setText ( codfinal ); 00425 m_fechainicial1->setText ( normalizafecha ( fecha1 ).toString ( "dd/MM/yyyy" ) ); 00426 m_fechafinal1->setText ( normalizafecha ( fecha2 ).toString ( "dd/MM/yyyy" ) ); 00427 _depura ( "END extractoview1::inicializa1", 0 ); 00428 }
| void extractoview1::vaciar | ( | ) | [virtual] |
Limpia los totales.
Reimplemented from DBRecord.
Definition at line 250 of file extractoview1.cpp.
References _depura(), Ui_ExtractoBase::inicialdebe, Ui_ExtractoBase::inicialhaber, Ui_ExtractoBase::inicialsaldo, Ui_ExtractoBase::totaldebe, Ui_ExtractoBase::totalhaber, and Ui_ExtractoBase::totalsaldo.
00250 { 00251 _depura ( "extractoview1::vaciar", 0 ); 00252 inicialdebe->setText ( "0" ); 00253 inicialhaber->setText ( "0" ); 00254 inicialsaldo->setText ( "0" ); 00255 totaldebe->setText ( "0" ); 00256 totalhaber->setText ( "0" ); 00257 totalsaldo->setText ( "0" ); 00258 _depura ( "END extractoview1::vaciar", 0 ); 00259 }
| void extractoview1::presentar | ( | ) |
Esta función se encarga de montar la consulta que va a hacer a la base de datos.
Preparamos el string para que aparezca una u otra cosa según el punteo.
Escribimos el nombre de la cuenta y el código de la misma.
Hacemos la consulta de los apuntes a listar en la base de datos.
Al igual que en el caso anterior los centros de coste han cambiado y aún no se pueden implementar.
Cargamos los saldos iniciales.
Establecemos los saldos iniciales
Recorremos la lista agregando el campo de saldo.
Liberamos memoria que pueda haber quedado reservada.
Definition at line 288 of file extractoview1.cpp.
References _depura(), ajustes(), cursor2::bof(), selectcanalview::cadcanal(), SelectCCosteView::cadcoste(), postgresiface2::cargacursor(), SubForm3::cargar(), Ui_ExtractoBase::codigocuenta, FichaBc::empresaBase(), cursor2::eof(), Empresa::getselcanales(), Empresa::getselccostes(), Ui_ExtractoBase::inicialdebe, Ui_ExtractoBase::inicialhaber, Ui_ExtractoBase::inicialsaldo, SubForm3::lineaat(), m_cursorcta, Ui_ExtractoBase::m_fechafinal1, Ui_ExtractoBase::m_fechainicial1, mensajeInfo(), Ui_ExtractoBase::mui_asAbiertos, Ui_ExtractoBase::mui_codigocontrapartida, Ui_ExtractoBase::mui_list, Ui_ExtractoBase::mui_punteopunteado, Ui_ExtractoBase::mui_punteotodos, Ui_ExtractoBase::nombrecuenta, cursor2::primerregistro(), SubForm3::setDBvalue(), cursor2::siguienteregistro(), BusquedaCuenta::text(), BusquedaFecha::text(), Fixed::toQString(), Ui_ExtractoBase::totaldebe, Ui_ExtractoBase::totalhaber, Ui_ExtractoBase::totalsaldo, and cursor2::valor().
Referenced by accept(), boton_anterior(), boton_fin(), boton_inicio(), boton_siguiente(), on_mui_borrapunteo_clicked(), on_mui_cargarpunteos_clicked(), and on_mui_casacion_clicked().
00288 { 00289 _depura ( "extractoview1::presentar", 0 ); 00290 Fixed debe("0.00"), haber("0.00"), saldo("0.00"); 00291 Fixed debeinicial("0.00"), haberinicial("0.00"), saldoinicial("0.00"); 00292 Fixed debefinal("0.00"), haberfinal("0.00"), saldofinal("0.00"); 00293 QString idcuenta; 00294 QString finicial = m_fechainicial1->text(); 00295 QString ffinal = m_fechafinal1->text(); 00296 QString contra = mui_codigocontrapartida->text(); 00297 QString cad; 00298 QString cadaux; 00299 cursor2 *cursorapt = NULL; 00300 cursor2 *cursoraux = NULL; 00301 try { 00303 QString tipopunteo; 00304 tipopunteo = ""; 00305 if ( mui_punteotodos->isChecked() ) { 00306 tipopunteo = ""; 00307 } else if ( mui_punteopunteado->isChecked() ) { 00308 tipopunteo = " AND punteo = TRUE "; 00309 } else { 00310 tipopunteo = " AND punteo = FALSE "; 00311 } // end if 00312 00313 00314 if ( m_cursorcta->eof() || m_cursorcta->bof() ) 00315 return; 00316 00317 idcuenta = m_cursorcta->valor ( "idcuenta" ); 00319 codigocuenta->setText ( m_cursorcta->valor ( "codigo" ) ); 00320 nombrecuenta->setText ( m_cursorcta->valor ( "descripcion" ) ); 00322 QString query = ""; 00325 selectcanalview *scanal = empresaBase()->getselcanales(); 00326 SelectCCosteView *scoste = empresaBase()->getselccostes(); 00327 QString ccostes = scoste->cadcoste(); 00328 if ( ccostes != "" ) { 00329 ccostes.sprintf ( " AND idc_coste IN (%s) ", ccostes.toAscii().constData() ); 00330 } // end if 00331 QString ccanales = scanal->cadcanal(); 00332 if ( ccanales != "" ) { 00333 ccanales.sprintf ( " AND idcanal IN (%s) ", ccanales.toAscii().constData() ); 00334 } // end if 00335 QString tabla; 00336 QString cont; 00337 if ( mui_asAbiertos->isChecked() ) { 00338 tabla = "borrador"; 00339 cont = " FALSE AS punteo, * "; 00340 } else { 00341 tabla = "apunte"; 00342 cont = " * "; 00343 } // end if 00344 00345 if ( contra != "" ) { 00346 tipopunteo += " AND " + tabla + ".contrapartida = id_cuenta('" + contra + "') "; 00347 } // end if 00348 00349 query = "SELECT * FROM ((SELECT " + cont + " FROM " + tabla + " WHERE idcuenta = " + idcuenta + " AND fecha >= '" + finicial + "' AND fecha <= '" + ffinal + "' " + ccostes + " " + ccanales + " " + tipopunteo + ") AS t2 "; 00350 query += " LEFT JOIN (SELECT idcuenta AS idc, descripcion, codigo, tipocuenta FROM cuenta) AS t9 ON t2.idcuenta = t9.idc) AS t1"; 00351 query += " LEFT JOIN asiento ON asiento.idasiento = t1.idasiento "; 00352 query += " LEFT JOIN (SELECT idc_coste AS idccoste, nombre AS nombrec_coste FROM c_coste) AS t5 ON t5.idccoste = t1.idc_coste "; 00353 query += " LEFT JOIN (SELECT idcanal AS id_canal, nombre AS nombrecanal FROM canal) AS t6 ON t6.id_canal = t1.idcanal "; 00354 query += " LEFT JOIN (SELECT idcuenta AS idcontrapartida, codigo AS codcontrapartida FROM cuenta) as t8 ON t8.idcontrapartida = t1.contrapartida"; 00355 query += " ORDER BY t1.fecha, ordenasiento, t1.orden"; 00356 00357 mui_list->cargar ( query ); 00358 00359 00360 cursorapt = empresaBase()->cargacursor ( query ); 00361 cursorapt->primerregistro(); 00362 if ( !cursorapt->eof() ) { 00364 query = "SELECT sum(debe) AS tdebe, sum(haber) AS thaber FROM apunte WHERE idcuenta =" + idcuenta + " AND fecha < '" + finicial + "'"; 00365 cursoraux = empresaBase()->cargacursor ( query ); 00366 if ( !cursoraux->eof() ) { 00367 debeinicial = Fixed ( cursoraux->valor ( "tdebe" ) ); 00368 haberinicial = Fixed ( cursoraux->valor ( "thaber" ) ); 00369 saldoinicial = debeinicial - haberinicial; 00370 } // end if 00371 delete cursoraux; 00372 cursoraux = NULL; 00373 00375 inicialdebe->setText ( debeinicial.toQString() ); 00376 inicialhaber->setText ( haberinicial.toQString() ); 00377 inicialsaldo->setText ( saldoinicial.toQString() ); 00378 saldo = saldoinicial; 00379 debefinal = debeinicial; 00380 haberfinal = haberinicial; 00381 00383 int i = 0; 00384 while ( !cursorapt->eof() ) { 00385 debe = Fixed(cursorapt->valor ( "debe" )); 00386 haber = Fixed ( cursorapt->valor ( "haber" ) ); 00387 saldo = saldo + debe - haber; 00388 debefinal = debefinal + debe; 00389 haberfinal = haberfinal + haber; 00390 if (mui_list->lineaat(i)) 00391 mui_list->setDBvalue("saldo", i++, saldo.toQString()); 00392 cursorapt->siguienteregistro(); 00393 } // end while 00394 00395 saldofinal = debefinal - haberfinal; 00396 totaldebe->setText ( debefinal.toQString() ); 00397 totalhaber->setText ( haberfinal.toQString() ); 00398 totalsaldo->setText ( saldofinal.toQString() ); 00399 } // end if 00400 delete cursorapt; 00401 cursorapt = NULL; 00402 ajustes(); 00403 } catch (...) { 00404 mensajeInfo("Error en los calculos"); 00406 if (cursorapt) delete cursorapt; 00407 if (cursoraux) delete cursoraux; 00408 return; 00409 } // end catch 00410 _depura ( "END extractoview1::presentar", 0 ); 00411 }
| void extractoview1::ajustes | ( | ) |
Definition at line 265 of file extractoview1.cpp.
References _depura().
Referenced by presentar().
00265 { 00266 _depura("extractoview1::ajustes", 0); 00267 _depura("END extractoview1::ajustes", 0); 00268 }
| void extractoview1::boton_filtrar | ( | ) |
| QString extractoview1::imprimeExtractoCuenta | ( | QString | idcuenta | ) |
| idcuenta |
Preparamos el string para que aparezca una u otra cosa según el punteo.
Hacemos la consulta de los apuntes a listar en la base de datos.
Al igual que en el caso anterior los centros de coste han cambiado y aún no se pueden implementar.
Cargamos los saldos iniciales.
Presentamos la información inicial y de la cuenta.
Aqui va la impresion pero con cabeceras.
Definition at line 555 of file extractoview1.cpp.
References _depura(), selectcanalview::cadcanal(), SelectCCosteView::cadcoste(), postgresiface2::cargacursor(), FichaBc::empresaBase(), cursor2::eof(), Empresa::getselcanales(), Empresa::getselccostes(), Ui_ExtractoBase::m_fechafinal1, Ui_ExtractoBase::m_fechainicial1, Ui_ExtractoBase::mui_asAbiertos, Ui_ExtractoBase::mui_codigocontrapartida, Ui_ExtractoBase::mui_punteopunteado, Ui_ExtractoBase::mui_punteotodos, cursor2::siguienteregistro(), BusquedaCuenta::text(), BusquedaFecha::text(), Fixed::toQString(), and cursor2::valor().
Referenced by on_mui_imprimir_clicked().
00555 { 00556 _depura ( "extractoview1::imprimeExtractoCuenta", 0, idcuenta ); 00557 QString salida = ""; 00558 Fixed debeinicial ( "0" ), haberinicial ( "0" ), saldoinicial ( "0" ); 00559 Fixed debefinal ( "0" ), haberfinal ( "0" ), saldofinal ( "0" ); 00560 QString finicial = m_fechainicial1->text(); 00561 QString ffinal = m_fechafinal1->text(); 00562 QString contra = mui_codigocontrapartida->text(); 00563 00565 QString tipopunteo; 00566 tipopunteo = ""; 00567 if ( mui_punteotodos->isChecked() ) { 00568 tipopunteo = ""; 00569 } else if ( mui_punteopunteado->isChecked() ) { 00570 tipopunteo = " AND punteo = TRUE "; 00571 } else { 00572 tipopunteo = " AND punteo = FALSE "; 00573 } // end if 00574 00575 if ( contra != "" ) { 00576 tipopunteo += " AND apunte.contrapartida = id_cuenta('" + contra + "') "; 00577 } // end if 00578 00579 QString cad; 00580 QString cadaux; 00581 cursor2 *cursorapt; 00582 00583 if ( idcuenta == "" ) 00584 return ""; 00585 00587 QString query = ""; 00590 selectcanalview *scanal = empresaBase()->getselcanales(); 00591 SelectCCosteView *scoste = empresaBase()->getselccostes(); 00592 QString ccostes = scoste->cadcoste(); 00593 if ( ccostes != "" ) { 00594 ccostes.sprintf ( " AND idc_coste IN (%s) ", ccostes.toAscii().constData() ); 00595 } // end if 00596 QString ccanales = scanal->cadcanal(); 00597 if ( ccanales != "" ) { 00598 ccanales.sprintf ( " AND idcanal IN (%s) ", ccanales.toAscii().constData() ); 00599 } // end if 00600 QString tabla; 00601 QString cont; 00602 if ( mui_asAbiertos->isChecked() ) { 00603 tabla = "borrador"; 00604 cont = " FALSE AS punteo, * "; 00605 } else { 00606 tabla = "apunte"; 00607 cont = " * "; 00608 } // end if 00609 00610 query = "SELECT * FROM ((SELECT "+cont+" FROM " + tabla + " WHERE idcuenta = " + idcuenta + " AND fecha >= '" + finicial + "' AND fecha <= '" + ffinal + "' " + ccostes + " " + ccanales + " " + tipopunteo + ") AS t2 LEFT JOIN cuenta ON t2.idcuenta = cuenta.idcuenta) AS t1 LEFT JOIN asiento ON asiento.idasiento = t1.idasiento "; 00611 query += " LEFT JOIN (SELECT idc_coste, nombre AS nombrec_coste FROM c_coste) AS t5 ON t5.idc_coste = t1.idc_coste "; 00612 query += " LEFT JOIN (SELECT idcanal, nombre AS nombrecanal FROM canal) AS t6 ON t6.idcanal = t1.idcanal "; 00613 query += " ORDER BY t1.fecha, ordenasiento, t1.orden"; 00614 00615 cursorapt=empresaBase()->cargacursor ( query ); 00616 00618 cursor2 *cursoraux; 00619 query = "SELECT sum(debe) AS tdebe, sum(haber) AS thaber FROM apunte WHERE idcuenta =" + idcuenta + " AND fecha < '" + finicial + "'"; 00620 cursoraux = empresaBase()->cargacursor ( query ); 00621 if ( !cursoraux->eof() ) { 00622 debeinicial = Fixed ( cursoraux->valor ( "tdebe" ) ); 00623 haberinicial = Fixed ( cursoraux->valor ( "thaber" ) ); 00624 saldoinicial = debeinicial - haberinicial; 00625 debefinal = debeinicial; 00626 haberfinal = haberinicial; 00627 } // end if 00628 delete cursoraux; 00629 00631 cursor2 *cursorcta = empresaBase()->cargacursor ( "SELECT * FROM cuenta WHERE idcuenta="+idcuenta ); 00632 00633 salida += "<blockTable>\n"; 00634 salida += "<tr>"; 00635 salida += "<td> Codigo: "+cursorcta->valor ( "codigo" ) +" </td>"; 00636 salida += "<td> Fecha Inicial: "+finicial+" </td>"; 00637 salida += "<td> Fecha Final: "+ffinal+" </td>"; 00638 salida += "<td> Debe Inicial: "+debeinicial.toQString() +" </td>"; 00639 salida += "<td> Debe Final: "+haberinicial.toQString() +" </td>"; 00640 salida += "</tr>"; 00641 salida += "<tr>"; 00642 salida += "<td> Cuenta: "+cursorcta->valor ( "descripcion" ) +" </td>"; 00643 salida += "<td> </td>"; 00644 salida += "<td> </td>"; 00645 salida += "<td> </td>"; 00646 salida += "<td> </td>"; 00647 salida += "</tr>"; 00648 salida += "</blockTable>\n"; 00649 salida += "<spacer length=\"5mm\" width=\"1mm\"/>\n"; 00650 00651 delete cursorcta; 00653 salida += "<blockTable style=\"tabla\" repeatRows=\"1\">\n"; 00654 salida += "<tr>\n"; 00655 salida += "<td> Fecha </td>"; 00656 salida += "<td> Asiento </td>"; 00657 salida += "<td> Concepto </td>"; 00658 salida += "<td> Debe </td>"; 00659 salida += "<td> Haber </td>"; 00660 salida += "<td> Saldo </td>"; 00661 salida += "</tr>\n"; 00662 00663 while ( ! cursorapt->eof() ) { 00664 saldofinal = saldofinal + Fixed ( cursorapt->valor ( "debe" ) ) - Fixed ( cursorapt->valor ( "haber" ) ); 00665 debefinal = debefinal + Fixed ( cursorapt->valor ( "debe" ) ); 00666 haberfinal = haberfinal + Fixed ( cursorapt->valor ( "haber" ) ); 00667 00668 salida += "<tr>\n"; 00669 salida += "<td>"+cursorapt->valor ( "fecha" ) +"</td>"; 00670 salida += "<td>"+cursorapt->valor ( "orden" ) +"</td>"; 00671 salida += "<td>"+cursorapt->valor ( "conceptocontable" ) +"</td>"; 00672 salida += "<td>"+cursorapt->valor ( "debe" ) +"</td>"; 00673 salida += "<td>"+cursorapt->valor ( "haber" ) +"</td>"; 00674 salida += "<td>"+saldofinal.toQString() +"</td>"; 00675 salida += "</tr>\n"; 00676 cursorapt->siguienteregistro(); 00677 } // end while 00678 00679 salida += "</blockTable>\n"; 00680 00681 salida += "<spacer length=\"5mm\" width=\"1mm\"/>\n"; 00682 00683 00684 salida += "<blockTable>\n"; 00685 salida += "<tr>\n"; 00686 salida += "<td> Debe Final: "+debefinal.toQString() +" </td>\n"; 00687 salida += "<td> Haber Final: "+haberfinal.toQString() +" </td>\n"; 00688 salida += "<td> Saldo Final: "+saldofinal.toQString() +"</td>\n"; 00689 salida += "</tr>\n"; 00690 salida += "</blockTable>\n"; 00691 00692 delete cursorapt; 00693 _depura ( "END extractoview1::imprimeExtractoCuenta", 0 ); 00694 return salida; 00695 }
| int extractoview1::guardar | ( | ) | [virtual] |
Guarda los datos de la ficha en la base de datos.
Este metodo guarda los contenidos de la Ficha (siempre que esta haya sido inicializada). Luego llama a plugins y a guardarPost por si se quieren hacer acciones adicionales de guardado. Tras guardar todos los elementos hace una carga.
Lanzamos los plugins.
Hacemos una carga para que se actualizen datos como la referencia.
Reimplemented from Ficha.
Definition at line 274 of file extractoview1.cpp.
References _depura(), SubForm3::guardar(), Ui_ExtractoBase::mui_asAbiertos, and Ui_ExtractoBase::mui_list.
Referenced by boton_anterior(), boton_fin(), boton_inicio(), and boton_siguiente().
00274 { 00275 _depura ( "extractoview1::on_mui_guardar_clicked", 0 ); 00276 if ( mui_asAbiertos->isChecked() ) return 0; 00277 mui_list->guardar(); 00278 return 0; 00279 _depura ( "END extractoview1::on_mui_guardar_clicked", 0 ); 00280 00281 }
| void extractoview1::on_mui_imprimir_clicked | ( | ) | [virtual] |
Slot que responde a la Impresion del extracto.
Copiamos el archivo.
Copiamos el logo
Si los datos de código inicial y final están vacios los ponemos nosotros.
Crea el pdf y lo muestra.
Reimplemented from Ficha.
Definition at line 702 of file extractoview1.cpp.
References _depura(), postgresiface2::cargacursor(), BusquedaCuenta::codigocuenta(), CONF_DIR_OPENREPORTS, CONF_DIR_USER, confpr, FichaBc::empresaBase(), cursor2::eof(), imprimeExtractoCuenta(), invocaPDF(), Ui_ExtractoBase::m_codigofinal, Ui_ExtractoBase::m_codigoinicial, cursor2::siguienteregistro(), cursor2::valor(), and configuracion::valor().
00702 { 00703 _depura ( "extractoview1::on_mui_imprimir_clicked", 0 ); 00704 00705 QString archivo = confpr->valor ( CONF_DIR_OPENREPORTS ) + "extracto.rml"; 00706 QString archivod = confpr->valor ( CONF_DIR_USER ) + "extracto.rml"; 00707 QString archivologo = confpr->valor ( CONF_DIR_OPENREPORTS ) + "logo.jpg"; 00709 #ifdef WINDOWS 00710 00711 archivo = "copy " + archivo + " " + archivod; 00712 #else 00713 00714 archivo = "cp " + archivo + " " + archivod; 00715 #endif 00716 00717 system ( archivo.toAscii().constData() ); 00719 #ifdef WINDOWS 00720 00721 archivologo = "copy " + archivologo + " " + confpr->valor ( CONF_DIR_USER ) + "logo.jpg"; 00722 #else 00723 00724 archivologo = "cp " + archivologo + " " + confpr->valor ( CONF_DIR_USER ) + "logo.jpg"; 00725 #endif 00726 00727 system ( archivologo.toAscii().constData() ); 00728 QFile file; 00729 file.setFileName ( archivod ); 00730 file.open ( QIODevice::ReadOnly ); 00731 QTextStream stream ( &file ); 00732 QString buff = stream.readAll(); 00733 file.close(); 00734 QString fitxersortidatxt = ""; 00735 00736 QString codinicial = m_codigoinicial->codigocuenta(); 00737 QString codfinal = m_codigofinal->codigocuenta(); 00738 00739 QString query; 00742 if ( codinicial == "" ) { 00743 codinicial = "0"; 00744 } // end if 00745 if ( codfinal == "" ) { 00746 codfinal = "9999999"; 00747 } // end if 00748 query = "SELECT * FROM cuenta WHERE idcuenta IN (SELECT idcuenta FROM apunte) AND codigo >= '" + codinicial + "' AND codigo <= '" + codfinal + "' ORDER BY codigo"; 00749 cursor2 *curcta = empresaBase()->cargacursor ( query ); 00750 if (!curcta) return; 00751 while ( ! curcta->eof() ) { 00752 fitxersortidatxt += imprimeExtractoCuenta ( curcta->valor ( "idcuenta" ) ); 00753 curcta->siguienteregistro(); 00754 if ( ! curcta->eof() ) 00755 fitxersortidatxt += "<nextFrame/><nextPage/>"; 00756 }// end while 00757 delete curcta; 00758 00759 00760 buff.replace ( "[story]",fitxersortidatxt ); 00761 if ( file.open ( QIODevice::WriteOnly ) ) { 00762 QTextStream stream ( &file ); 00763 stream << buff; 00764 file.close(); 00765 } // end if 00767 invocaPDF ( "extracto" ); 00768 _depura ( "END extractoview1::on_mui_imprimir_clicked", 0 ); 00769 }
| void extractoview1::on_mui_actualizar_clicked | ( | ) | [virtual, slot] |
| void extractoview1::accept | ( | ) | [virtual, slot] |
Esta función carga el cursor de cuentas que forman el todo por el todo.
Si los datos de código inicial y final están vacios los ponemos nosotros.
Definition at line 132 of file extractoview1.cpp.
References _depura(), postgresiface2::cargacursor(), BusquedaCuenta::codigocuenta(), FichaBc::empresaBase(), Ui_ExtractoBase::m_codigofinal, Ui_ExtractoBase::m_codigoinicial, m_cursorcta, and presentar().
Referenced by SubForm2Bc::boton_extracto1(), BalanceTreeView::boton_extracto1(), Empresa::boton_reload(), and on_mui_actualizar_clicked().
00132 { 00133 _depura ( "extractoview1::accept", 0 ); 00134 QString codinicial = m_codigoinicial->codigocuenta(); 00135 QString codfinal = m_codigofinal->codigocuenta(); 00136 QString query; 00139 if ( codinicial == "" ) { 00140 codinicial = "0"; 00141 } // end if 00142 if ( codfinal == "" ) { 00143 codfinal = "9999999"; 00144 } // end if 00145 query = "SELECT * FROM cuenta WHERE idcuenta IN (SELECT idcuenta FROM apunte) AND codigo >= '" + codinicial + "' AND codigo <= '" + codfinal + "' ORDER BY codigo"; 00146 00147 if ( m_cursorcta != NULL ) { 00148 delete m_cursorcta; 00149 } // end if 00150 m_cursorcta = empresaBase()->cargacursor ( query ); 00151 presentar(); 00152 _depura ( "END extractoview1::accept",0 ); 00153 }
| void extractoview1::boton_siguiente | ( | ) | [virtual, slot] |
Esta es la función que avanza un registro entre las cuentas.
Definition at line 159 of file extractoview1.cpp.
References _depura(), cursor2::esultimoregistro(), guardar(), m_cursorcta, presentar(), and cursor2::siguienteregistro().
Referenced by Empresa::boton_siguiente().
00159 { 00160 _depura ( "extractoview1::boton_siguiente", 0 ); 00161 if ( m_cursorcta != NULL ) { 00162 if ( !m_cursorcta->esultimoregistro() ) { 00163 guardar(); 00164 m_cursorcta->siguienteregistro(); 00165 presentar(); 00166 } // end if 00167 } // end if 00168 _depura ( "END extractoview1::boton_siguiente", 0 ); 00169 }
| void extractoview1::boton_anterior | ( | ) | [virtual, slot] |
Esta es la función que retrocede un registro entre las cuentas.
Definition at line 175 of file extractoview1.cpp.
References _depura(), cursor2::esprimerregistro(), guardar(), m_cursorcta, presentar(), and cursor2::registroanterior().
Referenced by Empresa::boton_anterior().
00175 { 00176 _depura ( "extractoview1::boton_anterior", 0 ); 00177 if ( m_cursorcta != NULL ) { 00178 if ( !m_cursorcta->esprimerregistro() ) { 00179 guardar(); 00180 m_cursorcta->registroanterior(); 00181 presentar(); 00182 } // end if 00183 } // end if 00184 _depura ( "END extractoview1::boton_anterior", 0 ); 00185 }
| void extractoview1::boton_fin | ( | ) | [virtual, slot] |
Avanza al final de las cuentas.
Definition at line 203 of file extractoview1.cpp.
References _depura(), guardar(), m_cursorcta, presentar(), and cursor2::ultimoregistro().
Referenced by Empresa::boton_ultimo().
00203 { 00204 _depura ( "extractoview1::boton_fin", 0 ); 00205 if ( m_cursorcta != NULL ) { 00206 guardar(); 00207 m_cursorcta->ultimoregistro(); 00208 presentar(); 00209 } // end if 00210 _depura ( "END extractoview1::boton_fin", 0 ); 00211 }
| void extractoview1::boton_inicio | ( | ) | [virtual, slot] |
Retrocede al principio de las cuentas.
Definition at line 190 of file extractoview1.cpp.
References _depura(), guardar(), m_cursorcta, presentar(), and cursor2::primerregistro().
Referenced by Empresa::boton_primero().
00190 { 00191 _depura ( "extractoview1::boton_inicio", 0 ); 00192 if ( m_cursorcta != NULL ) { 00193 guardar(); 00194 m_cursorcta->primerregistro(); 00195 presentar(); 00196 } // end if 00197 _depura ( "END extractoview1::boton_inicio", 0 ); 00198 }
| void extractoview1::boton_imprimir | ( | ) | [virtual, slot] |
Imprime el extracto.
Definition at line 217 of file extractoview1.cpp.
References _depura(), FichaBc::empresaBase(), and print.
Referenced by Empresa::boton_imprimir().
00217 { 00218 _depura ( "extractoview1::boton_imprimir", 0 ); 00219 ExtractoPrintView *print = new ExtractoPrintView ( empresaBase(), 0 ); 00220 print->exec(); 00221 _depura ( "END extractoview1::boton_imprimir", 0 ); 00222 }
| void extractoview1::boton_guardar | ( | ) | [virtual, slot] |
Definition at line 228 of file extractoview1.cpp.
References _depura(), CONF_DIR_USER, confpr, FichaBc::empresaBase(), Ui_ExtractoBase::m_codigofinal, Ui_ExtractoBase::m_codigoinicial, Ui_ExtractoBase::m_fechafinal1, Ui_ExtractoBase::m_fechainicial1, BusquedaCuenta::text(), BusquedaFecha::text(), and configuracion::valor().
Referenced by Empresa::boton_guardar().
00228 { 00229 _depura ( "extractoview1::boton_guardar", 0 ); 00230 QString fn = QFileDialog::getSaveFileName ( this, 00231 tr ( "Guardar libro diario" ), 00232 confpr->valor ( CONF_DIR_USER ), 00233 tr ( "Diarios (*.txt)" ) ); 00234 00235 if ( !fn.isEmpty() ) { 00236 libromayorprint libromayor(empresaBase()); 00237 QString finicial = m_fechainicial1->text().toAscii().constData(); 00238 QString ffinal = m_fechafinal1->text().toAscii().constData(); 00239 libromayor.inicializa1 ( m_codigoinicial->text(), m_codigofinal->text(), finicial, ffinal ); 00240 libromayor.inicializa2 ( ( char * ) fn.toAscii().constData() ); 00241 libromayor.accept(); 00242 } // end if 00243 _depura ( "END extractoview1::boton_guardar", 0 ); 00244 }
| void extractoview1::on_mui_borrapunteo_clicked | ( | ) | [virtual, slot] |
Esta función borra todo el punteo de un extracto y lo pone a cero.
Definition at line 498 of file extractoview1.cpp.
References _depura(), postgresiface2::begin(), postgresiface2::commit(), postgresiface2::ejecuta(), FichaBc::empresaBase(), and presentar().
00498 { 00499 _depura ( "extractoview1::on_mui_borrapunteo_clicked", 0 ); 00500 int valor = QMessageBox::warning ( 0, 00501 tr ( "Borrar punteo" ), 00502 tr ( "Se dispone a borrar el punteo. Este cambio \ 00503 es irrecuperable si no ha guardado su el punte. \ 00504 Desea continuar?" ), 00505 QMessageBox::Yes, QMessageBox::No ); 00506 if ( valor == QMessageBox::Yes ) { 00507 empresaBase()->begin() 00508 ; 00509 empresaBase()->ejecuta ( "UPDATE apunte SET punteo = FALSE" ); 00510 empresaBase()->commit(); 00511 presentar(); 00512 } // end if 00513 _depura ( "END extractoview1::on_mui_borrapunteo_clicked", 0 ); 00514 }
| void extractoview1::on_mui_casacion_clicked | ( | ) | [virtual, slot] |
Realiza la casacion de los apuntes.
Definition at line 434 of file extractoview1.cpp.
References _depura(), postgresiface2::begin(), postgresiface2::cargacursor(), postgresiface2::commit(), postgresiface2::ejecuta(), FichaBc::empresaBase(), cursor2::eof(), m_cursorcta, presentar(), cursor2::siguienteregistro(), and cursor2::valor().
00434 { 00435 _depura ( "extractoview1::on_mui_casacion_clicked", 0 ); 00436 QString query; 00437 query.sprintf ( "SELECT * FROM apunte WHERE punteo = FALSE AND haber <> 0 AND idcuenta = %s ORDER BY fecha", m_cursorcta->valor ( "idcuenta" ).toAscii().constData() ); 00438 empresaBase()->begin(); 00439 cursor2 *curshaber = empresaBase()->cargacursor ( query, "curshaber" ); 00440 empresaBase()->commit(); 00441 while ( !curshaber->eof() ) { 00442 query.sprintf ( "SELECT * FROM apunte WHERE punteo = FALSE AND debe = %s AND idcuenta = %s ORDER BY fecha", curshaber->valor ( "haber" ).toAscii().constData(), m_cursorcta->valor ( "idcuenta" ).toAscii().constData() ); 00443 empresaBase()->begin(); 00444 cursor2 *cursdebe = empresaBase()->cargacursor ( query.toAscii(), "cursdebe" ); 00445 empresaBase()->commit(); 00446 if ( !cursdebe->eof() ) { 00447 query.sprintf ( "UPDATE apunte set punteo = TRUE WHERE idapunte = %s", curshaber->valor ( "idapunte" ).toAscii().constData() ); 00448 empresaBase()->begin(); 00449 empresaBase()->ejecuta ( query ); 00450 query.sprintf ( "UPDATE apunte SET punteo = TRUE WHERE idapunte = %s", cursdebe->valor ( "idapunte" ).toAscii().constData() ); 00451 empresaBase()->ejecuta ( query ); 00452 empresaBase()->commit(); 00453 } // end if 00454 delete cursdebe; 00455 curshaber->siguienteregistro(); 00456 } // end while 00457 delete curshaber; 00458 presentar(); 00459 _depura ( "END extractoview1::on_mui_casacion_clicked", 0 ); 00460 }
| void extractoview1::on_mui_guardarpunteo_clicked | ( | ) | [virtual, slot] |
Guarda el punteo en disco para poder recuperarlo despues.
Definition at line 466 of file extractoview1.cpp.
References _depura(), postgresiface2::cargacursor(), CONF_DIR_USER, confpr, FichaBc::empresaBase(), cursor2::eof(), cursor2::siguienteregistro(), cursor2::valor(), and configuracion::valor().
00466 { 00467 _depura ( "extractoview1::on_mui_guardarpunteo_clicked", 0 ); 00468 QString fn = QFileDialog::getSaveFileName ( this, 00469 tr ( "Guardar punteo" ), 00470 confpr->valor ( CONF_DIR_USER ), 00471 tr ( "Punteos (*.pto)" ) ); 00472 00473 if ( !fn.isEmpty() ) { 00474 FILE *mifile; 00475 mifile = fopen ( ( char * ) fn.toAscii().constData(), "wt" ); 00476 if ( mifile != NULL ) { 00477 QString query; 00478 query = "SELECT * FROM apunte WHERE punteo = TRUE"; 00479 cursor2 *cursp = empresaBase()->cargacursor ( query, "punteos" ); 00480 while ( !cursp->eof() ) { 00481 fprintf ( mifile,"%s\n", cursp->valor ( "idapunte" ).toAscii().constData() ); 00482 cursp->siguienteregistro(); 00483 } // end while 00484 delete cursp; 00485 fclose ( mifile ); 00486 } // end if 00487 } // end if 00488 _depura ( "END extractoview1::on_mui_guardarpunteo_clicked", 0 ); 00489 }
| void extractoview1::on_mui_cargarpunteos_clicked | ( | ) | [virtual, slot] |
Carga los punteos desde un fichero de texto que se solicita mediante un QFileDialog.
El fichero de punteos requiere que no se hayan modificado los identificadores de borrador. Para ello es preciso que no se hayan abierto y cerrado los asientos correspondientes ya que en dicho caso la carga del punteo no funciona correctamente.
Definition at line 522 of file extractoview1.cpp.
References _depura(), CONF_DIR_USER, confpr, postgresiface2::ejecuta(), FichaBc::empresaBase(), presentar(), and configuracion::valor().
00522 { 00523 _depura ( "extractoview1::on_mui_cargarpunteos_clicked", 0 ); 00524 QString fn = QFileDialog::getOpenFileName ( this, 00525 tr ( "Cargar punteo" ), 00526 confpr->valor ( CONF_DIR_USER ), 00527 tr ( "Punteo (*.pto)" ) ); 00528 00529 if ( !fn.isEmpty() ) { 00530 QFile file ( fn ); 00531 if ( !file.open ( QIODevice::ReadOnly | QIODevice::Text ) ) { 00532 return; 00533 } // end if 00534 QTextStream filestr ( &file ); 00535 QString a; 00536 empresaBase()->ejecuta ( "UPDATE apunte SET punteo = FALSE" ); 00537 while ( !filestr.atEnd() ) { 00538 filestr >> a; 00539 QString query; 00540 query = "UPDATE apunte SET punteo = TRUE WHERE idapunte = "+ a; 00541 empresaBase()->ejecuta ( query ); 00542 } // end while 00543 file.close(); 00544 } // end if 00545 presentar(); 00546 _depura ( "END extractoview1::on_mui_cargarpunteos_clicked", 0 ); 00547 }
| void extractoview1::on_mui_configurar_clicked | ( | ) | [virtual, slot] |
Definition at line 120 of file extractoview1.cpp.
References _depura(), Ui_ExtractoBase::mui_list, and SubForm3::showConfig().
00120 { 00121 _depura("extractoview1::on_mui_configurar_clicked", 0); 00122 mui_list->showConfig(); 00123 _depura("END extractoview1::on_mui_configurar_clicked", 0); 00124 }
| void extractoview1::on_mui_list_cellDoubleClicked | ( | int | , | |
| int | columna | |||
| ) | [virtual, slot] |
| columna |
Definition at line 94 of file extractoview1.cpp.
References _depura(), SubForm3::cabecera(), SubForm3::DBvalue(), FichaBc::empresaBase(), Empresa::intapuntsempresa(), Empresa::muestraapuntes1(), Asiento1View::muestraasiento(), and Ui_ExtractoBase::mui_list.
00094 { 00095 _depura("asientosview::on_mui_list_cellDoubleClicked", 0); 00096 QString textoHeader; 00097 textoHeader = mui_list->cabecera()->at(columna)->nomcampo().toAscii(); 00098 if (textoHeader == "ordenasiento") { 00099 QString idasiento = mui_list->DBvalue("idasiento"); 00100 empresaBase()->intapuntsempresa()->muestraasiento(idasiento); 00101 empresaBase()->intapuntsempresa()->show(); 00102 empresaBase()->intapuntsempresa()->setFocus(); 00103 empresaBase()->muestraapuntes1(); 00104 } // end if 00105 _depura("END asientosview::on_mui_list_cellDoubleClicked", 0); 00106 }
El extracto se realiza sobre un cursor que siempre está en memoria.
Definition at line 43 of file extractoview1.h.
Referenced by accept(), boton_anterior(), boton_fin(), boton_inicio(), boton_siguiente(), extractoview1(), on_mui_casacion_clicked(), presentar(), and ~extractoview1().
1.5.1