ListAsientos Class Reference

Clase ListAsientos. Se encarga de controlar la ventana de introducción de apuntes. More...

#include <asiento1view.h>

Inheritance diagram for ListAsientos:

Asiento1 FichaBc Ficha BLWidget DBRecord dialogChanges QWidget PEmpresaBase Asiento1View

Public Member Functions

 ListAsientos (Empresa *, QWidget *parent)
virtual ~ListAsientos ()
void cargaasientos ()
 Prepara el cursor que sirve para recorrer los asientos uno a uno.
void boton_inicio ()
 Slot que responde a la pulsación del botón de inicio.
void boton_fin ()
 Slot que responde a la pulsación del botón de fin.
void boton_siguiente ()
 Slot que responde a la pulsación del botón de siguiente registro.
void boton_anterior ()
 Slot que responde a la pulsación del botón de anterior registro.
void boton_filtrar ()
virtual void muestraasiento (QString)
void situarasiento (QString)
bool esprimerasiento ()
bool esultimoasiento ()
QString idasientoanterior ()
QString idasientosiguiente ()

Private Attributes

cursor2cursorasientos
 Este es el cursor que se usará para recorrer la lista de asientos.

Detailed Description

Clase ListAsientos. Se encarga de controlar la ventana de introducción de apuntes.

Esta es una de las clases más complejas del programa porque controla toda la acción y casi toda la interactuación del usuario con el programa. Pretende conseguir una interficie que resulte muy rígida y cómoda para el usuario que introduzca datos. Hereda intapunts3dlg.

Definition at line 44 of file asiento1view.h.


Constructor & Destructor Documentation

ListAsientos::ListAsientos ( Empresa emp,
QWidget parent 
)

Parameters:
emp 
parent 

Definition at line 422 of file asiento1view.cpp.

References _depura(), and cursorasientos.

00422                                                         : Asiento1(emp, parent) {
00423     _depura("ListAsientos::ListAsientos", 0);
00424     cursorasientos = NULL;
00425     _depura("END ListAsientos::ListAsientos", 0);
00426 
00427 }

ListAsientos::~ListAsientos (  )  [virtual]

Definition at line 433 of file asiento1view.cpp.

References _depura(), and cursorasientos.

00433                             {
00434     _depura("ListAsientos::~ListAsientos", 0);
00435     if (cursorasientos != NULL ) {
00436         delete cursorasientos;
00437     } // end if
00438     _depura("END ListAsientos::~ListAsientos", 0);
00439 }


Member Function Documentation

void ListAsientos::cargaasientos (  ) 

Prepara el cursor que sirve para recorrer los asientos uno a uno.

Indica si se tiene que agregar el AND o no en el 'select'.

Los ejercicios los pondremos como filtraje de la introducción de asientos.

Se ordenan los asientos por año y por número de orden.

Definition at line 452 of file asiento1view.cpp.

References _depura(), postgresiface2::cargacursor(), cursorasientos, FichaBc::empresaBase(), and cursor2::eof().

Referenced by Asiento1View::Asiento1View(), Asiento1View::asiento_apertura(), Asiento1View::asiento_cierre(), Asiento1View::asiento_regularizacion(), Empresa::cambioejercicio(), Asiento1View::iniciar_asiento_nuevo(), Asiento1View::on_mui_borrar_clicked(), and Asiento1View::on_mui_duplicar_clicked().

00452                                  {
00453     _depura("ListAsientos::cargaasientos", 0);
00454     QString cantapunt = "";
00455     QString saldototal = "";
00456     QString nombreasiento = "";
00457     QString query;
00458     QString cadwhere;
00459     QString textsaldototal = "";
00460     QString textcantapunt = "";
00461     QString textnombreasiento = "";
00462     QString textejercicio = "";
00463     QString ejercicio = "--";
00464 
00465     if (cursorasientos != NULL) {
00466         delete cursorasientos;
00467     } // end if
00468 
00470     int pand = 0;
00471     if (saldototal != "") {
00472         cadwhere = " WHERE ";
00473         textsaldototal = " idasiento IN (SELECT idasiento FROM (SELECT idasiento, sum(debe) AS total from apunte GROUP BY idasiento) AS foo WHERE foo.total = " + saldototal + ")";
00474         pand = 1;
00475     } // end if
00476     if (cantapunt != "") {
00477         cadwhere = " WHERE ";
00478         if (pand)
00479             textcantapunt = " AND ";
00480         textcantapunt += " idasiento IN (SELECT idasiento FROM apunte where debe = " + cantapunt + " OR haber = " + cantapunt + ")";
00481         pand = 1;
00482     } // end if
00483     if (nombreasiento != "") {
00484         cadwhere = " WHERE ";
00485         if (pand)
00486             textnombreasiento = " AND ";
00487         textnombreasiento += " idasiento in (SELECT idasiento FROM apunte WHERE conceptocontable LIKE '%" + nombreasiento + "%' )";
00488         pand = 1;
00489     } // end if
00491     if (ejercicio != "--") {
00492         if (pand)
00493             textejercicio = " AND EXTRACT(YEAR FROM fecha) = '" + ejercicio + "'";
00494         else
00495             textejercicio = " WHERE EXTRACT(YEAR FROM fecha) = '" + ejercicio + "'";
00496     } // end if
00498     query = "SELECT * FROM asiento " + cadwhere + textsaldototal + textcantapunt + textnombreasiento + textejercicio + " ORDER BY EXTRACT (YEAR FROM fecha), ordenasiento";
00499     cursorasientos = empresaBase()->cargacursor(query);
00500     if (cursorasientos->eof()) {
00501         _depura("No existe ningun asiento para mostrar.", 0);
00502     } // end if
00503     _depura("End ListAsientos::cargaasientos\n", 0);
00504 }

void ListAsientos::boton_inicio (  ) 

Slot que responde a la pulsación del botón de inicio.

Definition at line 514 of file asiento1view.cpp.

References _depura(), Asiento1::cargar(), cursorasientos, cursor2::numregistros(), cursor2::primerregistro(), and cursor2::valor().

Referenced by Empresa::boton_primero().

00514                                 {
00515     _depura("ListAsientos::boton_inicio", 0);
00516     if (cursorasientos->numregistros() != 0) {
00517         cursorasientos->primerregistro();
00518         cargar(cursorasientos->valor("idasiento"));
00519     } // end if
00520     _depura("END ListAsientos::boton_inicio", 0);
00521 }

void ListAsientos::boton_fin (  ) 

Slot que responde a la pulsación del botón de fin.

Definition at line 530 of file asiento1view.cpp.

References _depura(), Asiento1::cargar(), cursorasientos, cursor2::numregistros(), cursor2::ultimoregistro(), and cursor2::valor().

Referenced by Asiento1View::Asiento1View(), Empresa::boton_ultimo(), Empresa::cambioejercicio(), and Asiento1View::on_mui_duplicar_clicked().

00530                              {
00531     _depura("ListAsientos::boton_fin", 0);
00532     if (cursorasientos->numregistros() != 0) {
00533         cursorasientos->ultimoregistro();
00534         cargar(cursorasientos->valor("idasiento"));
00535     } // end if
00536     _depura("END ListAsientos::boton_fin", 0);
00537 }

void ListAsientos::boton_siguiente (  ) 

Slot que responde a la pulsación del botón de siguiente registro.

Returns:

Si no hay nada que mostrar vacia la pantalla para que no queden resto.

Definition at line 547 of file asiento1view.cpp.

References _depura(), Asiento1::cargar(), cursorasientos, cursor2::esultimoregistro(), cursor2::numregistros(), cursor2::siguienteregistro(), and cursor2::valor().

Referenced by Empresa::boton_siguiente().

00547                                    {
00548     _depura("ListAsientos::boton_siguiente", 0);
00550     if (cursorasientos->numregistros() == 0) {
00551         return;
00552     } // end if
00553     if (!cursorasientos->esultimoregistro()) {
00554         cursorasientos->siguienteregistro();
00555         cargar(cursorasientos->valor("idasiento"));
00556     }// end if
00557     _depura("END ListAsientos::boton_siguiente", 0);
00558 }

void ListAsientos::boton_anterior (  ) 

Slot que responde a la pulsación del botón de anterior registro.

Returns:

Si no hay nada que mostrar vacia la pantalla para que no queden resto.

Definition at line 569 of file asiento1view.cpp.

References _depura(), Asiento1::cargar(), cursorasientos, cursor2::esprimerregistro(), cursor2::numregistros(), cursor2::registroanterior(), and cursor2::valor().

Referenced by Empresa::boton_anterior().

00569                                   {
00570     _depura("ListAsientos::boton_anterior", 0);
00572     if (cursorasientos->numregistros() == 0) {
00573         return;
00574     } // end if
00575     if (!cursorasientos->esprimerregistro()) {
00576         cursorasientos->registroanterior();
00577         cargar(cursorasientos->valor("idasiento"));
00578     } // end if
00579     _depura("END ListAsientos::boton_anterior", 0);
00580 }

void ListAsientos::boton_filtrar (  ) 

Definition at line 672 of file asiento1view.cpp.

References _depura().

Referenced by Empresa::Filtro().

00672                                  {
00673     _depura("Funcion no implementada", 2);
00674 }

void ListAsientos::muestraasiento ( QString   )  [virtual]

Reimplemented in Asiento1View.

Definition at line 680 of file asiento1view.cpp.

References mensajeInfo().

00680                                          {
00681     mensajeInfo("Funcion no implementada.");
00682 }

void ListAsientos::situarasiento ( QString  idasiento  ) 

Parameters:
idasiento 

Definition at line 590 of file asiento1view.cpp.

References _depura(), cursorasientos, cursor2::esultimoregistro(), mensajeInfo(), cursor2::primerregistro(), cursor2::siguienteregistro(), and cursor2::valor().

Referenced by Asiento1View::muestraasiento().

00590                                                   {
00591     _depura("ListAsientos::situarasiento ", 0, idasiento);
00592     try {
00593         if (cursorasientos == NULL)
00594             throw -1;
00595         cursorasientos->primerregistro();
00596         while (cursorasientos->valor("idasiento") != idasiento && !cursorasientos->esultimoregistro()) {
00597             cursorasientos->siguienteregistro();
00598         } // end while
00599     } catch (...) {
00600         mensajeInfo("Error al intentar situarse en el asiento");
00601         throw -1;
00602     } // end try
00603     _depura("END ListAsientos::situarasiento", 0, idasiento);
00604 }

bool ListAsientos::esprimerasiento (  ) 

Returns:

Definition at line 689 of file asiento1view.cpp.

References _depura(), cursorasientos, and cursor2::esprimerregistro().

00689                                    {
00690     _depura("ListAsientos::esprimerasiento", 0);
00691     _depura("END ListAsientos::esprimerasiento", 0);
00692     return cursorasientos->esprimerregistro();
00693 }

bool ListAsientos::esultimoasiento (  ) 

Returns:

Definition at line 700 of file asiento1view.cpp.

References _depura(), cursorasientos, and cursor2::esultimoregistro().

00700                                    {
00701     _depura("ListAsientos::esultimoasiento", 0);
00702     _depura("END ListAsientos::esultimoasiento", 0);
00703     return cursorasientos->esultimoregistro();
00704 }

QString ListAsientos::idasientoanterior (  ) 

Returns:

Definition at line 611 of file asiento1view.cpp.

References _depura(), cursorasientos, cursor2::esprimerregistro(), cursor2::registroanterior(), cursor2::siguienteregistro(), and cursor2::valor().

Referenced by Asiento1View::on_mui_borrar_clicked().

00611                                         {
00612     _depura("ListAsientos::idasientoanterior", 0);
00613     if (!cursorasientos->esprimerregistro()) {
00614         cursorasientos->registroanterior();
00615         QString id = cursorasientos->valor("idasiento");
00616         cursorasientos->siguienteregistro();
00617         _depura("END ListAsientos::idasientoanterior", 0);
00618         return id;
00619     } else {
00620         _depura("END ListAsientos::idasientoanterior", 0);
00621         return "";
00622     } // end if
00623 }

QString ListAsientos::idasientosiguiente (  ) 

Returns:

Definition at line 630 of file asiento1view.cpp.

References _depura(), cursorasientos, cursor2::esultimoregistro(), cursor2::registroanterior(), cursor2::siguienteregistro(), and cursor2::valor().

Referenced by Asiento1View::on_mui_borrar_clicked().

00630                                          {
00631     _depura("ListAsientos::idasientosiguiente", 0);
00632     if (!cursorasientos->esultimoregistro()) {
00633         cursorasientos->siguienteregistro();
00634         QString id = cursorasientos->valor("idasiento");
00635         cursorasientos->registroanterior();
00636         _depura("END ListAsientos::idasientosiguiente", 0);
00637         return id;
00638     } else {
00639         _depura("END ListAsientos::idasientosiguiente", 0);
00640         return "";
00641     } // end if
00642 }


Field Documentation

cursor2* ListAsientos::cursorasientos [private]

Este es el cursor que se usará para recorrer la lista de asientos.

Definition at line 49 of file asiento1view.h.

Referenced by boton_anterior(), boton_fin(), boton_inicio(), boton_siguiente(), cargaasientos(), esprimerasiento(), esultimoasiento(), idasientoanterior(), idasientosiguiente(), ListAsientos(), situarasiento(), and ~ListAsientos().


The documentation for this class was generated from the following files:
Generated on Sat Dec 15 00:01:56 2007 for BulmaGes by  doxygen 1.5.1