listregistroivaview.cpp

Go to the documentation of this file.
00001 /***************************************************************************
00002  *   Copyright (C) 2003 by Tomeu Borras Riera                              *
00003  *   tborras@conetxia.com                                                  *
00004  *                                                                         *
00005  *   This program is free software; you can redistribute it and/or modify  *
00006  *   it under the terms of the GNU General Public License as published by  *
00007  *   the Free Software Foundation; either version 2 of the License, or     *
00008  *   (at your option) any later version.                                   *
00009  *                                                                         *
00010  *   This program is distributed in the hope that it will be useful,       *
00011  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
00012  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
00013  *   GNU General Public License for more details.                          *
00014  *                                                                         *
00015  *   You should have received a copy of the GNU General Public License     *
00016  *   along with this program; if not, write to the                         *
00017  *   Free Software Foundation, Inc.,                                       *
00018  *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
00019  ***************************************************************************/
00020 
00021 #include "listregistroivaview.h"
00022 #include "regivaprintview.h"
00023 #include "registroivaview.h"
00024 #include "empresa.h"
00025 #include "asiento1view.h"
00026 
00027 #include <QMenu>
00028 
00029 
00031 
00035 ListRegistroIvaView::ListRegistroIvaView(Empresa * emp, QString, QWidget *parent)
00036         : QWidget(parent) {
00037     _depura("ListRegistroIvaView::ListRegistroIvaView", 0);
00038     setAttribute(Qt::WA_DeleteOnClose);
00039     setupUi(this);
00040     m_companyact = emp;
00041     finicial->setText(normalizafecha("01/01").toString("dd/MM/yyyy"));
00042     ffinal->setText(normalizafecha("31/12").toString("dd/MM/yyyy"));
00043     emp->meteWindow(windowTitle(), this);
00044 
00046     mui_tablasoportado->setEmpresaBase(emp);
00047     mui_tablasoportado->setDBTableName("registroiva");
00048     mui_tablasoportado->setDBCampoId("idregistroiva");
00049     mui_tablasoportado->addSHeader("idregistroiva", DBCampo::DBvarchar, DBCampo::DBNotNull, SHeader::DBNoWrite, tr("Id"));
00050     mui_tablasoportado->addSHeader("contrapartida", DBCampo::DBvarchar, DBCampo::DBNothing, SHeader::DBNoWrite, tr("Concepto contable"));
00051     mui_tablasoportado->addSHeader("baseimp", DBCampo::DBvarchar, DBCampo::DBNotNull, SHeader::DBNoWrite | SHeader::DBNoView, tr("idcuenta"));
00052     mui_tablasoportado->addSHeader("iva", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNoWrite, tr("IVA"));
00053     mui_tablasoportado->addSHeader("ffactura", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNoWrite, tr("Fecha de factura"));
00054     mui_tablasoportado->addSHeader("femisionregistroiva", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNoWrite, tr("descripcioncuenta"));
00055     mui_tablasoportado->addSHeader("factura", DBCampo::DBvarchar, DBCampo::DBNothing, SHeader::DBNoWrite, tr("descripcion"));
00056     mui_tablasoportado->addSHeader("serieregistroiva", DBCampo::DBnumeric, DBCampo::DBNothing, SHeader::DBNoWrite, tr("Debe"));
00057     mui_tablasoportado->addSHeader("idborrador", DBCampo::DBnumeric, DBCampo::DBNothing, SHeader::DBNoWrite, tr("Haber"));
00058     mui_tablasoportado->addSHeader("incregistro", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNoWrite, tr("Contrapartida"));
00059     mui_tablasoportado->addSHeader("regularizacion", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNoWrite, tr("Comentario"));
00060     mui_tablasoportado->addSHeader("plan349", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNoWrite, tr("ID Canal"));
00061     mui_tablasoportado->addSHeader("numorden", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNoWrite, tr("Conciliacion"));
00062     mui_tablasoportado->addSHeader("cif", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNoWrite, tr("idc_coste"));
00063     mui_tablasoportado->addSHeader("idfpago", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNoWrite, tr("idapunte"));
00064     mui_tablasoportado->addSHeader("factemitida", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNoWrite, tr("idtipoiva"));
00065     mui_tablasoportado->addSHeader("rectificaaregistroiva", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNoWrite, tr("orden"));
00066     mui_tablasoportado->addSHeader("idasiento", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNoWrite, tr("idasiento"));
00067     mui_tablasoportado->setinsercion(FALSE);
00068 
00070     mui_tablarepercutido->setEmpresaBase(emp);
00071     mui_tablarepercutido->setDBTableName("registroiva");
00072     mui_tablarepercutido->setDBCampoId("idregistroiva");
00073     mui_tablarepercutido->addSHeader("idregistroiva", DBCampo::DBvarchar, DBCampo::DBNotNull, SHeader::DBNoWrite, tr("Id"));
00074     mui_tablarepercutido->addSHeader("contrapartida", DBCampo::DBvarchar, DBCampo::DBNothing, SHeader::DBNoWrite, tr("Concepto Contable"));
00075     mui_tablarepercutido->addSHeader("baseimp", DBCampo::DBvarchar, DBCampo::DBNotNull, SHeader::DBNoWrite | SHeader::DBNoView, tr("idcuenta"));
00076     mui_tablarepercutido->addSHeader("iva", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone, tr("codigo"));
00077     mui_tablarepercutido->addSHeader("ffactura", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone, tr("tipocuenta"));
00078     mui_tablarepercutido->addSHeader("femisionregistroiva", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone, tr("descripcioncuenta"));
00079     mui_tablarepercutido->addSHeader("factura", DBCampo::DBvarchar, DBCampo::DBNothing, SHeader::DBNone, tr("descripcion"));
00080     mui_tablarepercutido->addSHeader("serieregistroiva", DBCampo::DBnumeric, DBCampo::DBNothing, SHeader::DBNone, tr("Debe"));
00081     mui_tablarepercutido->addSHeader("idborrador", DBCampo::DBnumeric, DBCampo::DBNothing, SHeader::DBNone, tr("Haber"));
00082     mui_tablarepercutido->addSHeader("incregistro", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone, tr("Contrapartida"));
00083     mui_tablarepercutido->addSHeader("regularizacion", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone, tr("Comentario"));
00084     mui_tablarepercutido->addSHeader("plan349", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone, tr("ID Canal"));
00085     mui_tablarepercutido->addSHeader("numorden", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone, tr("Conciliacion"));
00086     mui_tablarepercutido->addSHeader("cif", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone, tr("idc_coste"));
00087     mui_tablarepercutido->addSHeader("idfpago", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone, tr("idapunte"));
00088     mui_tablarepercutido->addSHeader("factemitida", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone, tr("idtipoiva"));
00089     mui_tablarepercutido->addSHeader("rectificaaregistroiva", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone, tr("orden"));
00090     mui_tablarepercutido->addSHeader("idasiento", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNoWrite, tr("idasiento"));
00091     mui_tablarepercutido->setinsercion(FALSE);
00092 
00094     mui_totalRepercutido->setEmpresaBase(emp);
00095     mui_totalRepercutido->setDBTableName("");
00096     mui_totalRepercutido->setDBCampoId("");
00097     mui_totalRepercutido->addSHeader("nombretipoiva", DBCampo::DBvarchar, DBCampo::DBNotNull, SHeader::DBNoWrite, tr("nombretipoiva"));
00098     mui_totalRepercutido->addSHeader("tivaiva", DBCampo::DBvarchar, DBCampo::DBNothing, SHeader::DBNoWrite, tr("tivaiva"));
00099     mui_totalRepercutido->addSHeader("tbaseiva", DBCampo::DBvarchar, DBCampo::DBNothing, SHeader::DBNoWrite, tr("tbaseiva"));
00100     mui_totalRepercutido->setinsercion(FALSE);
00101 
00103     mui_totalSoportado->setEmpresaBase(emp);
00104     mui_totalSoportado->setDBTableName("");
00105     mui_totalSoportado->setDBCampoId("");
00106     mui_totalSoportado->addSHeader("nombretipoiva", DBCampo::DBvarchar, DBCampo::DBNotNull, SHeader::DBNoWrite, tr("nombretipoiva"));
00107     mui_totalSoportado->addSHeader("tivaiva", DBCampo::DBvarchar, DBCampo::DBNothing, SHeader::DBNoWrite, tr("tivaiva"));
00108     mui_totalSoportado->addSHeader("tbaseiva", DBCampo::DBvarchar, DBCampo::DBNothing, SHeader::DBNoWrite, tr("tbaseiva"));
00109     mui_totalSoportado->setinsercion(FALSE);
00110 
00112     _depura("END ListRegistroIvaView::ListRegistroIvaView", 0);
00113 }
00114 
00116 
00118 ListRegistroIvaView::~ListRegistroIvaView() {
00119     _depura("ListRegistroIvaView::~ListRegistroIvaView", 0);
00120     m_companyact->sacaWindow(this);
00121     _depura("END ListRegistroIvaView::~ListRegistroIvaView", 0);
00122 }
00123 
00124 
00127 
00129 void ListRegistroIvaView::on_mui_tablasoportado_cellDoubleClicked(int, int) {
00130     _depura("ListRegistroIvaView::on_mui_tablasoportado_itemDoubleClicked", 0);
00131     int idasiento;
00132     idasiento = mui_tablasoportado->DBvalue("idasiento").toInt();
00133     m_companyact->intapuntsempresa()->muestraasiento(idasiento);
00134     m_companyact->intapuntsempresa()->show();
00135     m_companyact->intapuntsempresa()->setFocus();
00136     _depura("END ListRegistroIvaView::on_mui_tablasoportado_itemDoubleClicked", 0);
00137 }
00138 
00139 
00142 
00144 void ListRegistroIvaView::on_mui_tablarepercutido_cellDoubleClicked(int, int) {
00145     _depura("ListRegistroIvaView::on_mui_tablarepercutido_itemDoubleClicked", 0);
00146     int idasiento;
00147     idasiento = mui_tablarepercutido->DBvalue("idasiento").toInt();
00148     m_companyact->intapuntsempresa()->muestraasiento(idasiento);
00149     m_companyact->intapuntsempresa()->show();
00150     m_companyact->intapuntsempresa()->setFocus();
00151     _depura("END ListRegistroIvaView::on_mui_tablarepercutido_itemDoubleClicked", 0);
00152 }
00153 
00154 
00156 
00158 void ListRegistroIvaView::boton_print() {
00159     _depura("ListRegistroIvaView::boton_print", 0);
00160     regivaprintview *print = new regivaprintview(m_companyact, 0);
00161     print->inicializa1(finicial->text(), ffinal->text());
00162     print->exec();
00163     delete print;
00164     _depura("END ListRegistroIvaView::boton_print", 0);
00165 }
00166 
00167 
00169 
00171 void ListRegistroIvaView::on_mui_actualizar_clicked() {
00172     _depura("ListRegistroIvaView::on_mui_actualizar_clicked", 0);
00173     inicializa();
00174     _depura("END ListRegistroIvaView::on_mui_actualizar_clicked", 0);
00175 }
00176 
00177 
00179 
00181 void ListRegistroIvaView::inicializa() {
00182     _depura("ListRegistroIvaView::inicializa", 0);
00183 
00184     QString query;
00185     QString sbaseimp, siva;
00186     QString cbaseimp, civa, ctotal;
00187     cursor2 *cur;
00188 
00189     QString SQLQuery = "SELECT * FROM cuenta, tipoiva LEFT JOIN (SELECT idtipoiva, SUM(baseiva) AS tbaseiva, sum(ivaiva) AS tivaiva FROM iva  WHERE iva.idregistroiva IN (SELECT idregistroiva FROM registroiva WHERE ffactura >='"+finicial->text()+"' AND ffactura <='"+ffinal->text()+"' AND factemitida) GROUP BY idtipoiva) AS dd ON dd.idtipoiva=tipoiva.idtipoiva WHERE tipoiva.idcuenta = cuenta.idcuenta";
00190 
00191     mui_totalRepercutido->cargar(SQLQuery);
00192 
00193 
00194     SQLQuery = "SELECT * FROM cuenta, tipoiva  LEFT JOIN (SELECT idtipoiva, SUM(baseiva) AS tbaseiva, SUM(ivaiva) AS tivaiva FROM iva WHERE iva.idregistroiva IN (SELECT idregistroiva FROM registroiva WHERE ffactura >='"+finicial->text()+"' AND ffactura <='"+ffinal->text()+"' AND NOT factemitida) GROUP BY idtipoiva) AS dd ON dd.idtipoiva=tipoiva.idtipoiva WHERE tipoiva.idcuenta = cuenta.idcuenta";
00195     mui_totalSoportado->cargar(SQLQuery);
00196 
00197     SQLQuery = "SELECT SUM(baseimp) AS tbaseimp, sum(iva) AS tbaseiva FROM registroiva WHERE factemitida AND ffactura >='"+finicial->text()+"' AND ffactura <='"+ffinal->text()+"'";
00198     cur = m_companyact->cargacursor(SQLQuery);
00199     m_baseimps->setText(cur->valor("tbaseimp"));
00200     m_ivas->setText(cur->valor("tbaseiva"));
00201     delete cur;
00202 
00203     SQLQuery = "SELECT SUM(baseimp) AS tbaseimp, sum(iva) AS tbaseiva FROM registroiva WHERE NOT factemitida AND ffactura >='"+finicial->text()+"' AND ffactura <='"+ffinal->text()+"'";
00204     cur = m_companyact->cargacursor(SQLQuery);
00205     m_baseimpr->setText(cur->valor("tbaseimp"));
00206     m_ivar->setText(cur->valor("tbaseiva"));
00207     delete cur;
00208 
00209     query.sprintf("SELECT *, (registroiva.baseimp + registroiva.iva) AS totalfactura FROM registroiva LEFT JOIN (SELECT  * FROM cuenta, borrador, asiento  WHERE cuenta.idcuenta = borrador.idcuenta AND asiento.idasiento = borrador.idasiento ) AS t1 ON t1.idborrador = registroiva.idborrador WHERE factemitida AND ffactura >= '%s' AND ffactura <= '%s' ",finicial->text().toAscii().constData(), ffinal->text().toAscii().constData());
00210     mui_tablasoportado->cargar(query);
00211 
00214     query.sprintf("SELECT *, (registroiva.baseimp + registroiva.iva) AS totalfactura FROM registroiva LEFT JOIN (SELECT * FROM cuenta, borrador, asiento  WHERE cuenta.idcuenta = borrador.idcuenta AND asiento.idasiento = borrador.idasiento) AS t1 ON t1.idborrador = registroiva.idborrador WHERE NOT factemitida AND ffactura >= '%s' AND ffactura <= '%s'", finicial->text().toAscii().constData(), ffinal->text().toAscii().constData());
00215     mui_tablarepercutido->cargar(query);
00216     _depura("END ListRegistroIvaView::inicializa", 0);
00217 }
00218 
00219 
00221 
00224 void ListRegistroIvaView::on_mui_tablarepercutido_pintaMenu(QMenu *menu) {
00225     _depura("ListRegistroIvaView::on_mui_tablarepercutido_pintaMenu", 0);
00226     m_verreg = menu->addAction("Editar registro");
00227     m_verasiento = menu->addAction("Asiento contable");
00228     menu->addSeparator();
00229     _depura("END ListRegistroIvaView::on_mui_tablarepercutido_pintaMenu", 0);
00230 }
00231 
00232 
00234 
00237 void ListRegistroIvaView::on_mui_tablasoportado_pintaMenu(QMenu *menu) {
00238     _depura("ListRegistroIvaView::on_mui_tablasoportado_pintaMenu", 0);
00239     m_verreg = menu->addAction("Editar registro");
00240     m_verasiento = menu->addAction("Asiento contable");
00241     menu->addSeparator();
00242     _depura("END ListRegistroIvaView::on_mui_tablasoportado_pintaMenu", 0);
00243 }
00244 
00245 
00247 
00250 void ListRegistroIvaView::on_mui_tablasoportado_trataMenu(QAction *ac) {
00251     _depura("ListRegistroIvaView::on_mui_tablasoportado_trataMenu", 0);
00252     if (m_verreg == ac) {
00253         QString idborrador = mui_tablasoportado->DBvalue("idborrador");
00254         RegistroIvaView *nuevae = new RegistroIvaView(m_companyact, 0);
00255         nuevae->inicializa1(idborrador.toInt());
00256         m_companyact->pWorkspace()->addWindow(nuevae);
00257         nuevae->show();
00258     } // end if
00259     if (m_verasiento == ac) {
00260         int idasiento;
00261         idasiento = mui_tablasoportado->DBvalue("idasiento").toInt();
00262         m_companyact->intapuntsempresa()->muestraasiento(idasiento);
00263         m_companyact->intapuntsempresa()->show();
00264         m_companyact->intapuntsempresa()->setFocus();
00265     } // end if
00266     _depura("END ListRegistroIvaView::on_mui_tablasoportado_trataMenu", 0);
00267 }
00268 
00269 
00271 
00274 void ListRegistroIvaView::on_mui_tablarepercutido_trataMenu(QAction *ac) {
00275     _depura("ListRegistroIvaView::on_mui_tablarepercutido_trataMenu", 0);
00276     if (m_verreg == ac) {
00277         QString idborrador = mui_tablarepercutido->DBvalue("idborrador");
00278         RegistroIvaView *nuevae = new RegistroIvaView(m_companyact, 0);
00279         nuevae->inicializa1(idborrador.toInt());
00280         m_companyact->pWorkspace()->addWindow(nuevae);
00281         nuevae->show();
00282     } // end if
00283     if (m_verasiento == ac) {
00284         int idasiento;
00285         idasiento = mui_tablarepercutido->DBvalue("idasiento").toInt();
00286         m_companyact->intapuntsempresa()->muestraasiento(idasiento);
00287         m_companyact->intapuntsempresa()->show();
00288         m_companyact->intapuntsempresa()->setFocus();
00289     } // end if
00290     _depura("END ListRegistroIvaView::on_mui_tablarepercutido_trataMenu", 0);
00291 }
00292 

Generated on Sat Dec 15 00:00:59 2007 for BulmaGes by  doxygen 1.5.1