CobrosList Class Reference

#include <cobroslist.h>

Inheritance diagram for CobrosList:

Listado Ui_CobrosListBase BLWidget QWidget PEmpresaBase

Signals

void selected (QString)
 Estando en modo seleccion al seleccionar un elemento se emite esta señal.

Public Member Functions

 CobrosList (QWidget *parent=0, Qt::WFlags flag=0, edmode editmodo=EditMode)
 CobrosList (Company *comp=NULL, QWidget *parent=0, Qt::WFlags flag=0, edmode editmodo=EditMode)
 ~CobrosList ()
void presentar ()
void setEmpresaBase (Company *comp)
QString idcobro ()
void imprimir ()
void setidcliente (QString val)
QString generaFiltro ()
void borrar ()
void crear ()
void editar (int)
 : Deberia crearse el metodo editar y este llamar a ese.
void submenu (const QPoint &)
 : Revisar si este metodo es util.

Private Attributes

QString mdb_idcobro
 Almacena (En el modo seleccion) el identificador del cobro seleccionado.

Detailed Description

Clase que presenta el listado de Cobros. Deriva de la clase Ficha para estandarizacion de Formularios. Controla los eventos y la sincronizacion del listado con el filtrado.

Definition at line 51 of file cobroslist.h.


Constructor & Destructor Documentation

CobrosList::CobrosList ( QWidget parent = 0,
Qt::WFlags  flag = 0,
edmode  editmodo = EditMode 
)

Inicializa todos los componentes. Mete la ventana en el workSpace. Este constructor no es completo, debe inicializarse con setcompany para que la clase pueda operar.

Disparamos los plugins.

Definition at line 39 of file cobroslist.cpp.

References _depura(), g_plugins, Listado::hideBusqueda(), Plugins::lanza(), mdb_idcobro, Ui_CobrosListBase::mui_list, Listado::setSubForm(), and Ui_CobrosListBase::setupUi().

00040         : Listado(NULL, parent, flag, editmodo) {
00041     _depura("CobrosList::CobrosList", 0);
00042     setupUi(this);
00044     int res = g_plugins->lanza("CobrosList_CobrosList", this);
00045     if (res != 0)
00046         return;
00047     mdb_idcobro = "";
00048     setSubForm(mui_list);
00049     hideBusqueda();
00050 
00051     _depura("END CobrosList::CobrosList", 0);
00052 }

CobrosList::CobrosList ( Company comp = NULL,
QWidget parent = 0,
Qt::WFlags  flag = 0,
edmode  editmodo = EditMode 
)

Inicializa todos los componentes. Hace una presentacion inicial. Mete la ventana en el workSpace.

Disparamos los plugins.

Hacemos el tratamiento de los permisos que desabilita botones en caso de no haber suficientes permisos.

Definition at line 59 of file cobroslist.cpp.

References _depura(), PEmpresaBase::empresaBase(), g_plugins, Listado::hideBusqueda(), Plugins::lanza(), Ui_CobrosListBase::m_cliente, mdb_idcobro, EmpresaBase::meteWindow(), Listado::modoEdicion(), Ui_CobrosListBase::mui_idbanco, Ui_CobrosListBase::mui_list, presentar(), SubForm2Bf::setEmpresaBase(), PEmpresaBase::setEmpresaBase(), BusquedaBanco::setidbanco(), Listado::setSubForm(), Ui_CobrosListBase::setupUi(), and Listado::trataPermisos().

00060         : Listado(comp, parent, flag, editmodo) {
00061     _depura("CobrosList::CobrosList",0);
00062     setupUi(this);
00064     int res = g_plugins->lanza("CobrosList_CobrosList", this);
00065     if (res != 0)
00066         return;
00067     m_cliente->setEmpresaBase(comp);
00068     mui_list->setEmpresaBase(comp);
00069     mui_idbanco->setEmpresaBase(comp);
00070     mui_idbanco->setidbanco("");
00071     setSubForm(mui_list);
00072     presentar();
00073     mdb_idcobro = "";
00074     if(modoEdicion()) 
00075         empresaBase()->meteWindow(windowTitle(), this);
00076     hideBusqueda();
00078     trataPermisos("cobro");
00079     _depura("END CobrosList::CobrosList", 0);
00080 }

CobrosList::~CobrosList (  ) 

No requiere acciones especiales en el destructor.

Definition at line 85 of file cobroslist.cpp.

References _depura().

00085                         {
00086     _depura("CobrosList::~CobrosList", 0);
00087     _depura("END CobrosList::~CobrosList", 0);
00088 }


Member Function Documentation

void CobrosList::presentar (  )  [virtual]

Hace la carag del listado. PAra ello genera los SELECTS con ayuda de generaFiltro y los pasa al SubFormulario para que los presente. Tambien hace un select de calculo de totales y lo presenta en el textEdit correspondiente.

Hacemos el calculo del total.

Reimplemented from Listado.

Definition at line 95 of file cobroslist.cpp.

References _depura(), SubForm2Bf::cargar(), PEmpresaBase::empresaBase(), generaFiltro(), Ui_CobrosListBase::m_total, Ui_CobrosListBase::mui_list, SubForm3::sumarCampo(), and Fixed::toQString().

Referenced by borrar(), ClienteView::cargarPost(), CobrosList(), and Company::refreshCobrosCliente().

00095                            {
00096     _depura("CobrosList::presentar", 0);
00097     if (empresaBase() != NULL) {
00098         mui_list->cargar("SELECT * FROM cobro NATURAL LEFT JOIN cliente NATURAL LEFT JOIN trabajador NATURAL LEFT JOIN banco WHERE 1 = 1 " + generaFiltro());
00100         Fixed total = mui_list->sumarCampo("cantcobro");
00101         m_total->setText(total.toQString());
00102     } // end if
00103     _depura("END CobrosList::presentar", 0);
00104 }

void CobrosList::setEmpresaBase ( Company comp  ) 

Inicializa la clase con el puntero a la company que se esta utilizando

Definition at line 248 of file cobroslist.cpp.

References Ui_CobrosListBase::m_cliente, Ui_CobrosListBase::mui_idbanco, Ui_CobrosListBase::mui_list, SubForm2Bf::setEmpresaBase(), PEmpresaBase::setEmpresaBase(), and BusquedaBanco::setidbanco().

Referenced by ClienteView::ClienteView().

00248                                              {
00249     PEmpresaBase::setEmpresaBase(comp);
00250     m_cliente->setEmpresaBase(comp);
00251     mui_list->setEmpresaBase(comp);
00252     mui_idbanco->setEmpresaBase(comp);
00253     mui_idbanco->setidbanco("");
00254 }

QString CobrosList::idcobro (  ) 

Devuelve el identificador del cobro seleccionado

Definition at line 258 of file cobroslist.cpp.

References _depura(), and mdb_idcobro.

00258                             {
00259     _depura("CobrosList::idcobro", 0);
00260     _depura("END CobrosList::idcobro", 0);
00261     return mdb_idcobro;
00262 }

void CobrosList::imprimir (  )  [virtual]

La impresion de listados esta completamente delegada a la clase SubForm3

Reimplemented from Listado.

Definition at line 163 of file cobroslist.cpp.

References _depura(), SubForm3::imprimirPDF(), and Ui_CobrosListBase::mui_list.

00163                           {
00164     _depura("CobrosList::imprimir", 0);
00165     mui_list->imprimirPDF(tr("Cobros a clientes"));
00166     _depura("END CobrosList::imprimir", 0);
00167 }

void CobrosList::setidcliente ( QString  val  ) 

Inicializa la la case con un cliente determiando. Lo establece en las opciones de filtrado no actualiza el listado

Definition at line 267 of file cobroslist.cpp.

References Ui_CobrosListBase::m_cliente, and BusquedaCliente::setidcliente().

Referenced by ClienteView::cargarPost().

00267                                          {
00268     m_cliente->setidcliente(val);
00269 }

QString CobrosList::generaFiltro (  ) 

Metodo auxiliar que genera la clausula WHERE del listado con las opciones de filtrado especificadas.

Definition at line 109 of file cobroslist.cpp.

References _depura(), BusquedaBanco::idbanco(), BusquedaCliente::idcliente(), Ui_CobrosListBase::m_cliente, Ui_CobrosListBase::m_fechafin, Ui_CobrosListBase::m_fechain, Ui_CobrosListBase::m_filtro, Ui_CobrosListBase::mui_efectivos, Ui_CobrosListBase::mui_idbanco, Ui_CobrosListBase::mui_previsiones, and BusquedaFecha::text().

Referenced by presentar().

00109                                  {
00110     _depura("CobrosList::generaFiltro", 0);
00111     QString filtro = "";
00112     if (m_filtro->text() != "") {
00113         filtro = " AND ( lower(comentcobro) LIKE lower('%" + m_filtro->text() + "%') ";
00114         filtro +=" OR refcobro LIKE '" + m_filtro->text() + "%' ";
00115         filtro +=" OR lower(nomcliente) LIKE lower('%" + m_filtro->text() + "%')) ";
00116     } // end if
00117 
00118     if (m_cliente->idcliente() != "") {
00119         filtro += " AND cobro.idcliente = " + m_cliente->idcliente();
00120     } // end if
00121 
00122     QString subfiltro = " AND ";
00123     if (mui_efectivos->isChecked()) {
00124         filtro += " AND NOT previsioncobro";
00125         subfiltro = " OR ";
00126     } // end if
00127 
00128     if (mui_previsiones->isChecked()) {
00129         filtro += subfiltro + " previsioncobro";
00130     } // end if
00131 
00132     if (m_fechain->text() != "")
00133         filtro += " AND fechacobro >= '" + m_fechain->text() + "' ";
00134 
00135     if (m_fechafin->text() != "")
00136         filtro += " AND fechacobro <= '" + m_fechafin->text() + "' ";
00137 
00138     if (mui_idbanco->idbanco() != "") 
00139         filtro += " AND idbanco = "+mui_idbanco->idbanco();
00140 
00141     _depura("END CobrosList::generaFiltro", 0);
00142     return (filtro);
00143 }

void CobrosList::borrar (  )  [virtual]

SLOT que responde a la pulsacion del boton borrar. Comprueba que exista un elemento seleccionado. Instancia la clase CobroView, la inicializa y le lanza el metodo borrar. Esta es la forma correcta de implementar un borrado a partir de un listado ya que de esta forma si existen plugins que alteren el borrado tambien seran invocados.

Reimplemented from Listado.

Definition at line 176 of file cobroslist.cpp.

References _depura(), Ficha::cargar(), SubForm3::currentRow(), SubForm3::DBvalue(), PEmpresaBase::empresaBase(), mdb_idcobro, mensajeInfo(), Listado::modoEdicion(), Ui_CobrosListBase::mui_list, Ficha::on_mui_borrar_clicked(), and presentar().

00176                         {
00177     _depura("CobrosList::borrar",0);
00178     int a = mui_list->currentRow();
00179     if (a < 0) {
00180         mensajeInfo(tr("Debe seleccionar una linea"));
00181         return;
00182     } // end if
00183     try {
00184         mdb_idcobro = mui_list->DBvalue("idcobro");
00185         if (modoEdicion()) {
00186             CobroView *cv = ((Company *)empresaBase())->newCobroView();
00187             if (cv->cargar(mdb_idcobro))
00188                 throw -1;
00189             cv->on_mui_borrar_clicked();
00190             cv->close();
00191         } // end if
00192         presentar();
00193     } catch (...) {
00194         mensajeInfo(tr("Error al borrar el cobro a cliente"));
00195     } // end try
00196     _depura("END:CobrosList::borrar",0);
00197 }

void CobrosList::crear (  )  [virtual]

SLOT que responde a la pulsacion del boton de crear en el listado. Instancia la clase CobroView, y la presenta.

Reimplemented from Listado.

Definition at line 150 of file cobroslist.cpp.

References _depura(), QWorkspace2::addWindow(), PEmpresaBase::empresaBase(), BusquedaCliente::idcliente(), Ui_CobrosListBase::m_cliente, EmpresaBase::m_pWorkspace, Ficha::pintar(), and DBRecord::setDBvalue().

00150                        {
00151     _depura("CobrosList::crear", 0);
00152     CobroView *bud = ((Company *)empresaBase())->newCobroView();
00153     empresaBase()->m_pWorkspace->addWindow(bud);
00154     bud->show();
00155     bud->setDBvalue("idcliente", m_cliente->idcliente());
00156     bud->pintar();
00157     _depura("CobrosList::crear", 0);
00158 }

void CobrosList::editar ( int   )  [virtual]

: Deberia crearse el metodo editar y este llamar a ese.

SLOT que responde al doble click en el subformulario. Dependiendo del modo (Edicion o Seleccion) hace unas operaciones u otras.

Reimplemented from Listado.

Definition at line 204 of file cobroslist.cpp.

References _depura(), QWorkspace2::addWindow(), Ficha::cargar(), SubForm3::DBvalue(), PEmpresaBase::empresaBase(), EmpresaBase::m_pWorkspace, mdb_idcobro, mensajeInfo(), Listado::modoEdicion(), Ui_CobrosListBase::mui_list, and selected().

00204                            {
00205     _depura("CobrosList::on_mui_list_cellDoubleClicked", 0);
00206     try {
00207         mdb_idcobro = mui_list->DBvalue("idcobro");
00208         if (modoEdicion()) {
00209             CobroView *bud = ((Company *)empresaBase())->newCobroView();
00210             if (bud->cargar(mdb_idcobro)) {
00211                 delete bud;
00212                 return;
00213             } // end if
00214             empresaBase()->m_pWorkspace->addWindow(bud);
00215             bud->show();
00216         } else {
00217             emit(selected(mdb_idcobro));
00218         } // end if
00219     } catch(...) {
00220         mensajeInfo(tr("Debe seleccionar una fila primero"));
00221     } // end try
00222     _depura("END CobrosList::on_mui_list_cellDoubleClicked", 0);
00223 
00224 }

void CobrosList::submenu ( const QPoint &   )  [virtual]

: Revisar si este metodo es util.

SLOT que responde a la peticion de menu contextual en el subformulario.

Reimplemented from Listado.

Definition at line 229 of file cobroslist.cpp.

References _depura(), SubForm3::currentRow(), Ui_CobrosListBase::mui_list, Listado::on_mui_borrar_clicked(), and Listado::on_mui_editar_clicked().

00229                                        {
00230     _depura("PagosList::on_mui_list_customContextMenuRequested", 0);
00231     int a = mui_list->currentRow();
00232     if (a < 0)
00233         return;
00234     QMenu *popup = new QMenu(this);
00235     QAction *edit = popup->addAction(tr("Editar cobro"));
00236     QAction *del = popup->addAction(tr("Borrar cobro"));
00237     QAction *opcion = popup->exec(QCursor::pos());
00238     if (opcion == del)
00239         on_mui_borrar_clicked();
00240     if (opcion == edit)
00241         on_mui_editar_clicked();
00242     delete popup;
00243     _depura("PagosList::on_mui_list_customContextMenuRequested", 0);
00244 }

void CobrosList::selected ( QString   )  [signal]

Estando en modo seleccion al seleccionar un elemento se emite esta señal.

Reimplemented from Listado.

Definition at line 116 of file moc_cobroslist.cpp.

Referenced by editar().

00117 {
00118     void *_a[] = { 0, const_cast<void*>(reinterpret_cast<const void*>(&_t1)) };
00119     QMetaObject::activate(this, &staticMetaObject, 0, _a);
00120 }


Field Documentation

QString CobrosList::mdb_idcobro [private]

Almacena (En el modo seleccion) el identificador del cobro seleccionado.

Definition at line 56 of file cobroslist.h.

Referenced by borrar(), CobrosList(), editar(), and idcobro().


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