ArticuloList Class Reference

#include <articulolist.h>

Inheritance diagram for ArticuloList:

Listado Ui_ArticuloListBase pgimportfiles BLWidget QWidget PEmpresaBase

Public Slots

virtual void on_mui_importar_clicked ()
virtual void on_mui_exportar_clicked ()
 SLOT que exporta el listado de articulos a formato XML.

Signals

void selected (QString)

Public Member Functions

 ArticuloList (Company *, QWidget *parent=0, Qt::WFlags flag=0, edmode editmodo=EditMode)
virtual ~ArticuloList ()
 No requiere de ninguna accion adicional.
QString formaQuery ()
QString idarticulo ()
QString nomarticulo ()
QString codigocompletoarticulo ()
void presentar ()
 Hace la carga del subformulario para presentar el listado.
void editar (int)
 : este metodo deberia ser editar
void imprimir ()
 La impresion del listado esta completamente delegada en SubForm3.
void borrar ()
void crear ()
void submenu (const QPoint &)

Private Attributes

QString mdb_idarticulo
 El identificador de articulo para el modo seleccion. Indica el articulo seleccionado.
QString mdb_nomarticulo
 El nombre del articulo seleccionado si estamos en modo seleccion.
QString mdb_codigocompletoarticulo
 El codigo completo del articulo seleccionado si estamos en modo seleccion.

Detailed Description

: Deberia crearse la clase Listado y hacer que esta clase derive de Listado en lugar derivar de Ficha.

Definition at line 52 of file articulolist.h.


Constructor & Destructor Documentation

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

Parameters:
comp 
paren 
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 54 of file articulolist.cpp.

References _depura(), PEmpresaBase::empresaBase(), g_plugins, Listado::hideBusqueda(), Plugins::lanza(), Ui_ArticuloListBase::m_familia, Ui_ArticuloListBase::m_tipoarticulo, Ui_ArticuloListBase::m_usadoarticulo, EmpresaBase::meteWindow(), Listado::modoEdicion(), Ui_ArticuloListBase::mui_borrar, Ui_ArticuloListBase::mui_crear, Ui_ArticuloListBase::mui_editar, Ui_ArticuloListBase::mui_exportar, Ui_ArticuloListBase::mui_importar, Ui_ArticuloListBase::mui_imprimir, Ui_ArticuloListBase::mui_list, presentar(), SubForm2Bf::setEmpresaBase(), PEmpresaBase::setEmpresaBase(), Listado::setSubForm(), Ui_ArticuloListBase::setupUi(), Listado::trataPermisos(), and TRUE.

00055         : Listado(comp, parent, flag, editmodo), pgimportfiles(comp) {
00056     _depura("ArticuloList::ArticuloList", 0);
00057     setupUi(this);
00059     int res = g_plugins->lanza("ArticuloList_ArticuloList", this);
00060     if (res != 0)
00061         return;
00062     m_tipoarticulo->setEmpresaBase(comp);
00063     m_familia->setEmpresaBase(comp);
00064     mui_list->setEmpresaBase(comp);
00065     setSubForm(mui_list);
00066     m_usadoarticulo->setCheckState(Qt::Unchecked);
00067 
00068     if (modoEdicion()) {
00069         empresaBase()->meteWindow(windowTitle(), this);
00070     } else {
00071         setWindowTitle(tr("Selector de articulos"));
00072         mui_editar->setHidden(TRUE);
00073         mui_crear->setHidden(TRUE);
00074         mui_borrar->setHidden(TRUE);
00075         mui_exportar->setHidden(TRUE);
00076         mui_importar->setHidden(TRUE);
00077         mui_imprimir->setHidden(TRUE);
00078     } // end if
00079     presentar();
00080     hideBusqueda();
00082     trataPermisos("articulo");
00083     _depura("END ArticuloList::ArticuloList", 0);
00084 }

ArticuloList::~ArticuloList (  )  [virtual]

No requiere de ninguna accion adicional.

Definition at line 135 of file articulolist.cpp.

References _depura().

00135                             {
00136     _depura("ArticuloList::~ArticuloList", 0);
00137     _depura("END ArticuloList::~ArticuloList", 0);
00138 }


Member Function Documentation

QString ArticuloList::formaQuery (  ) 

Definition at line 181 of file articulolist.cpp.

References _depura(), BusquedaFamilia::codigocompletofamilia(), BusquedaFamilia::idfamilia(), BusquedaTipoArticulo::idtipo_articulo(), Ui_ArticuloListBase::m_familia, Ui_ArticuloListBase::m_filtro, Ui_ArticuloListBase::m_presentablearticulo, Ui_ArticuloListBase::m_tipoarticulo, and Ui_ArticuloListBase::m_usadoarticulo.

Referenced by CatalogoQToolButton::detalleArticulos(), and presentar().

00181                                  {
00182     _depura("ArticuloList::formaQuery", 0);
00183     QString query = "";
00184     query += "SELECT * FROM articulo NATURAL LEFT JOIN tipo_iva NATURAL LEFT JOIN tipo_articulo WHERE 1 = 1 ";
00185     if (m_presentablearticulo->isChecked())
00186         query += " AND presentablearticulo ";
00187     if (m_usadoarticulo->isChecked())
00188         query += " AND idarticulo IN (SELECT DISTINCT idarticulo FROM lpresupuesto"
00189                  " UNION SELECT DISTINCT idarticulo FROM lpedidocliente"
00190                  " UNION SELECT DISTINCT idarticulo FROM lalbaran"
00191                  " UNION SELECT DISTINCT idarticulo FROM lfactura"
00192                  " UNION SELECT DISTINCT idarticulo FROM lpedidoproveedor"
00193                  " UNION SELECT DISTINCT idarticulo FROM lalbaranp"
00194                  " UNION SELECT DISTINCT idarticulo FROM lfacturap"
00195                  ") ";
00196     if (m_filtro->text() != "")
00197         query += " AND lower(nomarticulo) LIKE lower('%" + m_filtro->text() + "%') ";
00198     if (m_familia->idfamilia() != "" ) {
00199         query += " AND idfamilia IN (SELECT idfamilia FROM familia WHERE codigocompletofamilia LIKE '" + m_familia->codigocompletofamilia() + "%')";
00200     } // end if
00201     if (m_tipoarticulo->idtipo_articulo() != "") {
00202         query += " AND idtipo_articulo = " + m_tipoarticulo->idtipo_articulo();
00203     } // end if
00204     query +=" ORDER BY codigocompletoarticulo";
00205     return (query);
00206     _depura("ArticuloList::END_formaQuery()\n", 0);
00207 }

QString ArticuloList::idarticulo (  ) 

Returns:

Definition at line 302 of file articulolist.cpp.

References _depura(), and mdb_idarticulo.

Referenced by borrar(), BusquedaArticulo::on_mui_buscar_clicked(), SubForm2Bf::on_mui_list_pressedAsterisk(), and ListCompArticuloView::pressedAsterisk().

00302                                  {
00303     _depura("ArticuloList::idarticulo", 0);
00304     _depura("END ArticuloList::idarticulo", 0);
00305     return mdb_idarticulo;
00306 }

QString ArticuloList::nomarticulo (  ) 

Returns:

Definition at line 313 of file articulolist.cpp.

References _depura(), and mdb_nomarticulo.

Referenced by BusquedaArticulo::on_mui_buscar_clicked().

00313                                   {
00314     _depura("ArticuloList::nomarticulo", 0);
00315     _depura("END ArticuloList::nomarticulo", 0);
00316     return mdb_nomarticulo;
00317 }

QString ArticuloList::codigocompletoarticulo (  ) 

Returns:

Definition at line 324 of file articulolist.cpp.

References _depura(), and mdb_codigocompletoarticulo.

Referenced by BusquedaArticulo::on_mui_buscar_clicked().

00324                                              {
00325     _depura("ArticuloList::codigocompletoarticulo", 0);
00326     _depura("END ArticuloList::codigocompletoarticulo", 0);
00327     return mdb_codigocompletoarticulo;
00328 }

void ArticuloList::presentar (  )  [virtual]

Hace la carga del subformulario para presentar el listado.

Reimplemented from Listado.

Definition at line 90 of file articulolist.cpp.

References _depura(), SubForm2Bf::cargar(), formaQuery(), and Ui_ArticuloListBase::mui_list.

Referenced by ArticuloList(), borrar(), on_mui_importar_clicked(), and Company::refreshArticles().

00090                              {
00091     _depura("ArticuloList::INIT_presenta", 0);
00092     mui_list->cargar(formaQuery());
00093     _depura("ArticuloList::END_presenta", 0);
00094 }

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

: este metodo deberia ser editar

Parameters:
row 
Returns:

Si la carga no va bien entonces terminamos.

Reimplemented from Listado.

Definition at line 109 of file articulolist.cpp.

References _depura(), QWorkspace2::addWindow(), Ficha::cargar(), SubForm3::DBvalue(), PEmpresaBase::empresaBase(), EmpresaBase::m_pWorkspace, mdb_codigocompletoarticulo, mdb_idarticulo, mdb_nomarticulo, Listado::modoEdicion(), Ui_ArticuloListBase::mui_list, and selected().

00109                                  {
00110     _depura("ArticuloList::editar", 0);
00111     mdb_idarticulo = mui_list->DBvalue("idarticulo", row);
00112     mdb_nomarticulo = mui_list->DBvalue("nomarticulo", row);
00113     mdb_codigocompletoarticulo = mui_list->DBvalue("codigocompletoarticulo", row);
00114     if (modoEdicion()) {
00115         ArticuloView *art = ((Company *)empresaBase())->newArticuloView();
00116         empresaBase()->m_pWorkspace->addWindow(art);
00118         if (art->cargar(mdb_idarticulo)) {
00119             delete art;
00120             return;
00121         } // end if
00122         art->hide();
00123         art->show();
00124     } else {
00125         close();
00126         emit(selected(mdb_idarticulo));
00127     } // end if
00128     _depura("ArticuloList::END_editArticle", 0);
00129 }

void ArticuloList::imprimir (  )  [virtual]

La impresion del listado esta completamente delegada en SubForm3.

Reimplemented from Listado.

Definition at line 213 of file articulolist.cpp.

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

00213                             {
00214     _depura("ArticuloList::s_imprimir1", 0);
00215     mui_list->imprimirPDF("Listado de artículos");
00216     _depura("END ArticuloList::s_imprimir1", 0);
00217 }

void ArticuloList::borrar (  )  [virtual]

Returns:

Reimplemented from Listado.

Definition at line 149 of file articulolist.cpp.

References _depura(), SubForm3::currentRow(), SubForm3::DBvalue(), postgresiface2::ejecuta(), PEmpresaBase::empresaBase(), idarticulo(), mensajeInfo(), Ui_ArticuloListBase::mui_list, and presentar().

00149                           {
00150     _depura("ArticuloList::on_mui_borrar_clicked", 0);
00151     int a = mui_list->currentRow();
00152     if (a < 0) {
00153         mensajeInfo(tr("Tiene que seleccionar un articulo"));
00154         return;
00155     } // end if
00156     try {
00157         QString idarticulo = mui_list->DBvalue("idarticulo");
00158         if (QMessageBox::Yes == QMessageBox::question(this,
00159                 tr("Borrar articulo"),
00160                 tr("Esta a punto de borrar un articulo. Estos datos pueden dar problemas."),
00161                 QMessageBox::Yes, QMessageBox::No)) {
00162             QString SQLQuery = "DELETE FROM articulo WHERE idarticulo = " + idarticulo;
00163             int error = empresaBase()->ejecuta(SQLQuery);
00164             if (error)
00165                 throw -1;
00166             presentar();
00167         } // end if
00168         _depura("END ArticuloList::on_mui_borrar_clicked", 0);
00169     } catch (...) {
00170         mensajeInfo(tr("Error al borrar el articulo"));
00171     } // end try
00172 }

void ArticuloList::crear (  )  [virtual]

Reimplemented from Listado.

Definition at line 291 of file articulolist.cpp.

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

00291                          {
00292     _depura("ArticuloList::crear", 0);
00293     ((Company *)empresaBase())->s_newArticulo();
00294     _depura("END ArticuloList::crear", 0);
00295 }

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

Returns:

Reimplemented from Listado.

Definition at line 271 of file articulolist.cpp.

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

00271                                          {
00272     _depura("ArticuloList::on_mui_list_customContextMenuRequested", 0);
00273     int a = mui_list->currentRow();
00274     if (a < 0)
00275         return;
00276     QMenu *popup = new QMenu(this);
00277     QAction *edit = popup->addAction(tr("Editar articulo"));
00278     QAction *del = popup->addAction(tr("Borrar articulo"));
00279     QAction *opcion = popup->exec(QCursor::pos());
00280     if (opcion == del)
00281         on_mui_borrar_clicked();
00282     if (opcion == edit)
00283         on_mui_editar_clicked();
00284     delete popup;
00285 }

void ArticuloList::on_mui_importar_clicked (  )  [virtual, slot]

Definition at line 247 of file articulolist.cpp.

References _depura(), CONF_DIR_USER, confpr, IMPORT_ARTICULOS, presentar(), configuracion::valor(), and pgimportfiles::XML2BulmaFact().

00247                                            {
00248     _depura("ArticuloList::INIT_s_importar", 0);
00249     QFile filexml(QFileDialog::getOpenFileName(this,
00250                   tr("Elija el archivo"),
00251                   confpr->valor(CONF_DIR_USER),
00252                   tr("Clientes (*.xml)")));
00253 
00254     if (filexml.open(QIODevice::ReadOnly)) {
00255         XML2BulmaFact(filexml, IMPORT_ARTICULOS);
00256         filexml.close();
00257         presentar();
00258     } else {
00259         _depura("ERROR AL ABRIR EL ARCHIVO", 2);
00260     } // end if
00261     _depura("ArticuloList::END_s_importar", 0);
00262 }

void ArticuloList::on_mui_exportar_clicked (  )  [virtual, slot]

SLOT que exporta el listado de articulos a formato XML.

Definition at line 223 of file articulolist.cpp.

References _depura(), pgimportfiles::bulmafact2XML(), CONF_DIR_USER, confpr, IMPORT_ARTICULOS, and configuracion::valor().

00223                                            {
00224     _depura("ArticuloList::on_mui_exportar_clicked", 0);
00225     QFile filexml(QFileDialog::getSaveFileName(this,
00226                   tr("Elija el archivo"),
00227                   confpr->valor(CONF_DIR_USER),
00228                   tr("Clientes (*.xml)")));
00229 
00230     if(filexml.open(QIODevice::WriteOnly)) {
00231         bulmafact2XML(filexml, IMPORT_ARTICULOS);
00232         filexml.close();
00233     } else {
00234         _depura("ERROR AL ABRIR EL ARCHIVO\n", 2);
00235     } // end if
00236 
00237     _depura("END ArticuloList::on_mui_exportar_clicked", 0);
00238 }

void ArticuloList::selected ( QString   )  [signal]

Reimplemented from Listado.

Definition at line 126 of file moc_articulolist.cpp.

Referenced by editar().

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


Field Documentation

QString ArticuloList::mdb_idarticulo [private]

El identificador de articulo para el modo seleccion. Indica el articulo seleccionado.

Definition at line 57 of file articulolist.h.

Referenced by editar(), and idarticulo().

QString ArticuloList::mdb_nomarticulo [private]

El nombre del articulo seleccionado si estamos en modo seleccion.

Definition at line 59 of file articulolist.h.

Referenced by editar(), and nomarticulo().

QString ArticuloList::mdb_codigocompletoarticulo [private]

El codigo completo del articulo seleccionado si estamos en modo seleccion.

Definition at line 61 of file articulolist.h.

Referenced by codigocompletoarticulo(), and editar().


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