AlbaranClienteList Class Reference

#include <albaranclientelist.h>

Inheritance diagram for AlbaranClienteList:

Listado Ui_AlbaranClienteListBase BLWidget QWidget PEmpresaBase

Signals

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

Public Member Functions

 AlbaranClienteList (QWidget *parent=0, Qt::WFlags flag=0, edmode editmodo=EditMode)
 AlbaranClienteList (Company *, QWidget *parent=0, Qt::WFlags flag=0, edmode editmodo=EditMode)
void setEmpresaBase (Company *)
 ~AlbaranClienteList ()
void presentar ()
void imprimir ()
 : Se podria hacer una clase derivada de Ficha que fuese Listado y que directamente implementase el metodo on_mui_imprimir.
void editar (int)
void borrar ()
void crear ()
void setidcliente (QString val)
QString idCliDelivNote ()
QString generarFiltro ()
void iniciaForm ()

Private Attributes

QString mdb_idalbaran
 En el modo selector esta variable indica el elemento seleccionado.

Detailed Description

: Deberia crearse una clase derivada de Ficha que fuese Listado y que incorporase algunas funcionalidades comunes a todos los listados.

Definition at line 63 of file albaranclientelist.h.


Constructor & Destructor Documentation

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

Parameters:
parent 
flag 
editmodo 
Returns:

Disparamos los plugins.

Definition at line 100 of file albaranclientelist.cpp.

References _depura(), g_plugins, Listado::hideBusqueda(), iniciaForm(), Plugins::lanza(), mdb_idalbaran, Ui_AlbaranClienteListBase::mui_list, Listado::setSubForm(), and Ui_AlbaranClienteListBase::setupUi().

00101         : Listado(NULL, parent, flag, editmodo) {
00102     _depura("AlbaranClienteList::AlbaranClienteList", 0);
00103     setupUi(this);
00105     int res = g_plugins->lanza("AlbaranClienteList_AlbaranClienteList", this);
00106     if (res != 0)
00107         return;
00108     mdb_idalbaran = "";
00109     setSubForm(mui_list);
00110     hideBusqueda();
00111     iniciaForm();
00112     _depura("END AlbaranClienteList::AlbaranClienteList", 0);
00113 }

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

Parameters:
comp 
parent 
flag 
editmodo 
Returns:

Disparamos los plugins.

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

Definition at line 129 of file albaranclientelist.cpp.

References _depura(), PEmpresaBase::empresaBase(), g_plugins, Listado::hideBusqueda(), iniciaForm(), Plugins::lanza(), Ui_AlbaranClienteListBase::m_articulo, Ui_AlbaranClienteListBase::m_cliente, mdb_idalbaran, EmpresaBase::meteWindow(), Listado::modoEdicion(), Ui_AlbaranClienteListBase::mui_list, presentar(), SubForm2Bf::setEmpresaBase(), PEmpresaBase::setEmpresaBase(), Listado::setSubForm(), Ui_AlbaranClienteListBase::setupUi(), and Listado::trataPermisos().

00130         : Listado(comp, parent, flag, editmodo) {
00131     _depura("AlbaranClienteList::AlbaranClienteList", 0);
00132     setupUi(this);
00134     int res = g_plugins->lanza("AlbaranClienteList_AlbaranClienteList", this);
00135     if (res != 0)
00136         return;
00137     m_cliente->setEmpresaBase(comp);
00138     m_articulo->setEmpresaBase(comp);
00139     mui_list->setEmpresaBase(comp);
00140     presentar();
00141     setSubForm(mui_list);
00142     mdb_idalbaran = "";
00143     if (modoEdicion())
00144         empresaBase()->meteWindow(windowTitle(), this);
00145     hideBusqueda();
00146     iniciaForm();
00148     trataPermisos("albaran");
00149     _depura("END AlbaranClienteList::AlbaranClienteList", 0);
00150 }

AlbaranClienteList::~AlbaranClienteList (  ) 

Definition at line 187 of file albaranclientelist.cpp.

References _depura().

00187                                         {
00188     _depura("AlbaranClienteList::~AlbaranClienteList", 0);
00189     _depura("END AlbaranClienteList::~AlbaranClienteList", 0);
00190 }


Member Function Documentation

void AlbaranClienteList::setEmpresaBase ( Company comp  ) 

Parameters:
comp 

Definition at line 174 of file albaranclientelist.cpp.

References _depura(), Ui_AlbaranClienteListBase::m_articulo, Ui_AlbaranClienteListBase::m_cliente, Ui_AlbaranClienteListBase::mui_list, SubForm2Bf::setEmpresaBase(), and PEmpresaBase::setEmpresaBase().

Referenced by ClienteView::ClienteView().

00174                                                      {
00175     _depura("AlbaranClienteList::setEmpresaBase", 0);
00176     PEmpresaBase::setEmpresaBase(comp);
00177     m_cliente->setEmpresaBase(comp);
00178     m_articulo->setEmpresaBase(comp);
00179     mui_list->setEmpresaBase(comp);
00180     _depura("END AlbaranClienteList::setEmpresaBase", 0);
00181 }

void AlbaranClienteList::presentar (  )  [virtual]

Reimplemented from Listado.

Definition at line 198 of file albaranclientelist.cpp.

References _depura(), postgresiface2::cargacursor(), AlbaranClienteListSubform::cargar(), PEmpresaBase::empresaBase(), generarFiltro(), Ui_AlbaranClienteListBase::m_total, Ui_AlbaranClienteListBase::mui_list, and cursor2::valor().

Referenced by AlbaranClienteList(), borrar(), ClienteView::cargarPost(), Company::refreshAlbaranesCliente(), and Company::refreshClientDelivNotes().

00198                                    {
00199     _depura("AlbaranClienteList::presentar");
00200 
00201     mui_list->cargar("SELECT *, totalalbaran AS total, bimpalbaran AS base, impalbaran AS impuestos FROM albaran LEFT JOIN  cliente ON albaran.idcliente = cliente.idcliente LEFT JOIN almacen ON albaran.idalmacen = almacen.idalmacen LEFT JOIN forma_pago ON albaran.idforma_pago = forma_pago.idforma_pago WHERE 1 = 1 " + generarFiltro());
00202 
00204     cursor2 *cur = empresaBase()->cargacursor("SELECT SUM(totalalbaran) AS total FROM albaran LEFT JOIN cliente ON albaran.idcliente=cliente.idcliente LEFT JOIN almacen ON almacen.idalmacen = albaran.idalmacen where 1 = 1 " + generarFiltro());
00206     if (cur) {
00207         m_total->setText(cur->valor("total"));
00208         delete cur;
00209     } // end if
00210 
00211     _depura("End AlbaranClienteList::presentar");
00212 }

void AlbaranClienteList::imprimir (  )  [virtual]

: Se podria hacer una clase derivada de Ficha que fuese Listado y que directamente implementase el metodo on_mui_imprimir.

Reimplemented from Listado.

Definition at line 285 of file albaranclientelist.cpp.

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

00285                                   {
00286     _depura("AlbaranClienteList::imprimir", 0);
00287     mui_list->imprimirPDF(tr("Albaranes a clientes"));
00288     _depura("END AlbaranClienteList::imprimir", 0);
00289 }

void AlbaranClienteList::editar ( int  row  )  [virtual]

Parameters:
row 
Returns:

Reimplemented from Listado.

Definition at line 229 of file albaranclientelist.cpp.

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

00229                                        {
00230     _depura("AlbaranClienteList::editar", 0);
00231     mdb_idalbaran = mui_list->DBvalue(QString("idalbaran"), row);
00232     if (modoEdicion()) {
00233         AlbaranClienteView *prov = ((Company *)empresaBase())->newAlbaranClienteView();
00234         if (prov->cargar(mdb_idalbaran)) {
00235             delete prov;
00236             return;
00237         } // end if
00238         empresaBase()->m_pWorkspace->addWindow(prov);
00239         prov->show();
00240     } else {
00241         emit(selected(mdb_idalbaran));
00242     } // end if
00243     _depura("END AlbaranClienteList::editar", 0);
00244 }

void AlbaranClienteList::borrar (  )  [virtual]

Returns:

Reimplemented from Listado.

Definition at line 256 of file albaranclientelist.cpp.

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

00256                                 {
00257     _depura("AlbaranClienteList::borrar", 0);
00258     int a = mui_list->currentRow();
00259     if (a < 0) {
00260         mensajeInfo(tr("Debe seleccionar una linea"));
00261         return;
00262     } // end if
00263     try {
00264         mdb_idalbaran = mui_list->DBvalue(QString("idalbaran"));
00265         if (modoEdicion()) {
00266             AlbaranClienteView *acv = ((Company *)empresaBase())->newAlbaranClienteView();
00267             if (acv->cargar(mdb_idalbaran))
00268                 throw -1;
00269             acv->on_mui_borrar_clicked();
00270             acv->close();
00271         } // end if
00272         presentar();
00273     } catch (...) {
00274         mensajeInfo(tr("Error al borrar el albaran a cliente"));
00275     } // end try
00276     _depura("END AlbaranClienteList::borrar", 0);
00277 }

void AlbaranClienteList::crear (  )  [virtual]

Reimplemented from Listado.

Definition at line 80 of file albaranclientelist.cpp.

References _depura(), and PEmpresaBase::empresaBase().

00080                                {
00081     _depura("AlbaranClienteList::crear", 0);
00082     ((Company *)empresaBase())->s_newAlbaranClienteView();
00083     _depura("END AlbaranClienteList::crear", 0);
00084 }

void AlbaranClienteList::setidcliente ( QString  val  ) 

Parameters:
val 

Definition at line 59 of file albaranclientelist.cpp.

References _depura(), Ui_AlbaranClienteListBase::m_cliente, and BusquedaCliente::setidcliente().

Referenced by ClienteView::cargarPost().

00059                                                  {
00060     _depura("AlbaranClienteList::setidcliente", 0);
00061     m_cliente->setidcliente(val);
00062     _depura("END AlbaranClienteList::setidcliente", 0);
00063 }

QString AlbaranClienteList::idCliDelivNote (  ) 

Returns:

Definition at line 70 of file albaranclientelist.cpp.

References _depura(), and mdb_idalbaran.

Referenced by FacturaView::on_mui_agregaralbaran_clicked().

00070                                            {
00071     _depura("AlbaranClienteList::idCliDelivNote", 0);
00072     _depura("END AlbaranClienteList::idCliDelivNote", 0);
00073     return mdb_idalbaran;
00074 }

QString AlbaranClienteList::generarFiltro (  ) 

Returns:

Tratamiento de los filtros.

Tratamos los elementos procesados y no procesados.

Muestra solo las procesadas.

Muestra solo las NO procesadas.

Definition at line 298 of file albaranclientelist.cpp.

References _depura(), BusquedaArticulo::idarticulo(), BusquedaCliente::idcliente(), Ui_AlbaranClienteListBase::m_articulo, Ui_AlbaranClienteListBase::m_cliente, Ui_AlbaranClienteListBase::m_fechafin, Ui_AlbaranClienteListBase::m_fechain, Ui_AlbaranClienteListBase::m_filtro, Ui_AlbaranClienteListBase::mui_procesada, and BusquedaFecha::text().

Referenced by presentar().

00298                                           {
00300     _depura("AlbaranClienteList::generarFiltro", 0);
00301     QString filtro = "";
00302 
00303     if (m_filtro->text() != "") {
00304         filtro = " AND ( lower(descalbaran) LIKE lower('%" + m_filtro->text() + "%') ";
00305         filtro +=" OR refalbaran LIKE '"+m_filtro->text()+"%' ";
00306         filtro +=" OR lower(nomcliente) LIKE lower('%" + m_filtro->text() + "%')) ";
00307     } else {
00308         filtro = "";
00309     } // end if
00310 
00311     if (m_cliente->idcliente() != "")
00312         filtro += " AND albaran.idcliente='" + m_cliente->idcliente() + "'";
00313 
00314     if (m_articulo->idarticulo() != "")
00315         filtro += " AND idalbaran IN (SELECT DISTINCT idalbaran FROM lalbaran WHERE idarticulo='" + m_articulo->idarticulo() + "')";
00316 
00318     if (mui_procesada->currentIndex() == 1) {
00320         filtro += " AND procesadoalbaran";
00321     } else if (mui_procesada->currentIndex() == 2) {
00323         filtro += " AND NOT procesadoalbaran ";
00324     } // end if
00325 
00326     if (m_fechain->text() != "")
00327         filtro += " AND fechaalbaran >= '" + m_fechain->text() + "' ";
00328 
00329     if (m_fechafin->text() != "")
00330         filtro += " AND fechaalbaran <= '" + m_fechafin->text() + "' ";
00331 
00332     _depura("END AlbaranClienteList::generarFiltro", 0);
00333     return (filtro);
00334 }

void AlbaranClienteList::iniciaForm (  ) 

Returns:

Disparamos los plugins.

Definition at line 157 of file albaranclientelist.cpp.

References _depura(), g_plugins, Plugins::lanza(), and Ui_AlbaranClienteListBase::mui_procesada.

Referenced by AlbaranClienteList().

00157                                     {
00158     _depura("AlbaranClienteList::iniciaForm");
00160     int res = g_plugins->lanza("AlbaranClienteList_iniciaForm", this);
00161     if (res != 0)
00162         return;
00163     mui_procesada->insertItem(0, tr("Todos los albaranes"));
00164     mui_procesada->insertItem(1, tr("Albaranes procesados"));
00165     mui_procesada->insertItem(2, tr("Albaranes no procesados"));
00166     _depura("END AlbaranClienteList::iniciaForm");
00167 }

void AlbaranClienteList::selected ( QString   )  [signal]

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

Reimplemented from Listado.

Definition at line 128 of file moc_albaranclientelist.cpp.

Referenced by editar().

00129 {
00130     void *_a[] = { 0, const_cast<void*>(reinterpret_cast<const void*>(&_t1)) };
00131     QMetaObject::activate(this, &staticMetaObject, 0, _a);
00132 }


Field Documentation

QString AlbaranClienteList::mdb_idalbaran [private]

En el modo selector esta variable indica el elemento seleccionado.

Definition at line 68 of file albaranclientelist.h.

Referenced by AlbaranClienteList(), borrar(), editar(), and idCliDelivNote().


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