00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #include <QMessageBox>
00022 #include <QMenu>
00023 #include <QKeyEvent>
00024 #include <QEvent>
00025
00026 #include "articulolist.h"
00027 #include "comparticulolistview.h"
00028 #include "funcaux.h"
00029
00030
00036 ListCompArticuloView::ListCompArticuloView(QWidget *parent, const char *)
00037 : SubForm2Bf(parent) {
00038 _depura("ListCompArticuloView::ListCompArticuloView", 0);
00039 setDBTableName("comparticulo");
00040 setDBCampoId("idcomponente");
00041 addSHeader("codigocompletoarticulo", DBCampo::DBvarchar, DBCampo::DBNoSave | DBCampo::DBNotNull, SHeader::DBNone, tr("Codigo completo del articulo"));
00042 addSHeader("nomarticulo", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNoWrite, tr("Nombre del articulo"));
00043 addSHeader("cantcomparticulo", DBCampo::DBnumeric, DBCampo::DBNotNull, SHeader::DBNone, tr("Cantidad de componente de articulo"));
00044 addSHeader("idcomponente", DBCampo::DBint, DBCampo::DBPrimaryKey | DBCampo::DBNotNull, SHeader::DBNoWrite, tr("ID componente"));
00045 addSHeader("idarticulo", DBCampo::DBint, DBCampo::DBPrimaryKey | DBCampo::DBNotNull, SHeader::DBNoView | SHeader::DBNoWrite, tr("ID articulo"));
00046 setinsercion(TRUE);
00047 setOrdenEnabled(FALSE);
00048 _depura("END ListCompArticuloView::ListCompArticuloView", 0);
00049 }
00050
00051
00060 void ListCompArticuloView::pressedAsterisk(int row, int col) {
00061 _depura("ListCompArticuloView::pressedAsterisk", 0);
00062 SDBRecord *rec = lineaat(row);
00063 SDBCampo *camp = (SDBCampo *) item(row,col);
00064 if (camp->nomcampo() != "codigocompletoarticulo")
00065 return;
00066 _depura("ListCompArticuloView::searchArticle", 0);
00067 ArticuloList *artlist = new ArticuloList((Company *)empresaBase(), NULL, 0, ArticuloList::SelectMode);
00069 this->setEnabled(false);
00070 artlist->show();
00071 while(!artlist->isHidden())
00072 theApp->processEvents();
00073 this->setEnabled(true);
00074 QString idArticle = artlist->idarticulo();
00075 delete artlist;
00076 cursor2 *cur = empresaBase()->cargacursor("SELECT * FROM articulo WHERE idarticulo=" + idArticle);
00077 if (!cur->eof() ) {
00078 rec->setDBvalue("idcomponente", idArticle);
00079 rec->setDBvalue("codigocompletoarticulo", cur->valor("codigocompletoarticulo"));
00080 rec->setDBvalue("nomarticulo", cur->valor("nomarticulo"));
00081 }
00082 _depura("END ListCompArticuloView::pressedAsterisk", 0);
00083 }
00084
00085
00093 void ListCompArticuloView::editFinished(int row, int col) {
00094 _depura("ListCompArticuloView::editFinished", 0);
00095 SDBRecord *rec = lineaat(row);
00096 SDBCampo *camp = (SDBCampo *) item(row, col);
00097 camp->refresh();
00098 if (camp->nomcampo() == "codigocompletoarticulo") {
00099 cursor2 *cur = empresaBase()->cargacursor("SELECT * FROM articulo WHERE codigocompletoarticulo='" + camp->text() + "'");
00100 if (!cur->eof() ) {
00101 rec->setDBvalue("idcomponente", cur->valor("idarticulo"));
00102 rec->setDBvalue("codigocompletoarticulo", cur->valor("codigocompletoarticulo"));
00103 rec->setDBvalue("nomarticulo", cur->valor("nomarticulo"));
00104 }
00105 }
00106 _depura("END ListCompArticuloView::editFinished", 0);
00107 }
00108
00109
00114 ListCompArticuloView::~ListCompArticuloView() {
00115 _depura("ListCompArticuloView::~ListCompArticuloView", 0);
00116 _depura("END ListCompArticuloView::~ListCompArticuloView", 0);
00117 }
00118
00119
00125 void ListCompArticuloView::cargar(QString idarticulo) {
00126 _depura("ListCompActiculo::cargar", 0);
00127 mdb_idarticulo = idarticulo;
00128 SubForm3::cargar("SELECT * FROM comparticulo, articulo WHERE comparticulo.idarticulo=" + mdb_idarticulo + " AND articulo.idarticulo = comparticulo.idcomponente");
00129 _depura("END ListCompActiculo::cargar", 0);
00130 }
00131
00132