00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
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 }
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 }
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 }
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 }
00290 _depura("END ListRegistroIvaView::on_mui_tablarepercutido_trataMenu", 0);
00291 }
00292