00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #include <QMenu>
00022
00023 #include "listlinasiento1view.h"
00024 #include "plugins.h"
00025 #include "empresa.h"
00026
00027
00029
00032 ListLinAsiento1View::ListLinAsiento1View(QWidget *parent, const char *)
00033 : SubForm2Bc(parent) {
00034 _depura("ListLinAsiento1View::ListLinAsiento1View", 0);
00035 setDBTableName("borrador");
00036 setFileConfig("asientotabla");
00037 setDBCampoId("idborrador");
00038 addSHeader("idapunte", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNoWrite | SHeader::DBNoView, tr("Id apunte"));
00039 addSHeader("fecha", DBCampo::DBvarchar, DBCampo::DBNotNull, SHeader::DBNone, tr("Fecha"));
00040 addSHeader("codigo", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone, tr("Codigo"));
00041 addSHeader("descripcioncuenta", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNoWrite, tr("Nombre de la cuenta"));
00042 addSHeader("descripcion", DBCampo::DBvarchar, DBCampo::DBNothing, SHeader::DBNone, tr("Descripcion del apunte"));
00043 addSHeader("conceptocontable", DBCampo::DBvarchar, DBCampo::DBNothing, SHeader::DBNone, tr("Concepto contable"));
00044 addSHeader("debe", DBCampo::DBnumeric, DBCampo::DBNotNull, SHeader::DBNone, tr("Debe"));
00045 addSHeader("haber", DBCampo::DBnumeric, DBCampo::DBNotNull, SHeader::DBNone, tr("Haber"));
00046 addSHeader("contrapartida", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNoWrite | SHeader::DBNoView, tr("Contrapartida"));
00047 addSHeader("comentario", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNoWrite | SHeader::DBNoView, tr("Comentario"));
00048 addSHeader("idcanal", DBCampo::DBint, DBCampo::DBNothing, SHeader::DBNoWrite | SHeader::DBNoView, tr("ID Canal"));
00049 addSHeader("nomcanal", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone, tr("Canal"));
00050 addSHeader("marcaconciliacion", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNoWrite | SHeader::DBNoView, tr("Conciliacion"));
00051 addSHeader("idc_coste", DBCampo::DBint, DBCampo::DBNothing, SHeader::DBNoWrite | SHeader::DBNoView, tr("Id centro de coste"));
00052 addSHeader("nomc_coste", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone, tr("Centro de coste"));
00053 addSHeader("idtipoiva", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNoWrite | SHeader::DBNoView, tr("Id tipo de IVA"));
00054 addSHeader("orden", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNoWrite | SHeader::DBNoView, tr("Orden"));
00055 addSHeader("idborrador", DBCampo::DBint, DBCampo::DBPrimaryKey, SHeader::DBNoWrite | SHeader::DBNoView, tr("Id borrador"));
00056 addSHeader("idasiento", DBCampo::DBvarchar, DBCampo::DBNotNull, SHeader::DBNoWrite | SHeader::DBNoView, tr("Id asiento"));
00057 addSHeader("idcuenta", DBCampo::DBint, DBCampo::DBNotNull, SHeader::DBNoWrite | SHeader::DBNoView, tr("Id cuenta"));
00058 addSHeader("tipocuenta", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNoWrite | SHeader::DBNoView, tr("Tipo de cuenta"));
00059 addSHeader("idregistroiva", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNoWrite | SHeader::DBNoView, tr("Id. Registro IVA"));
00060 addSHeader("factura", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNoWrite | SHeader::DBNoView, tr("Fecha Factura"));
00061 addSHeader("ffactura", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNoWrite | SHeader::DBNoView, tr("Num. Factura"));
00062 setinsercion(TRUE);
00063 setOrdenEnabled(FALSE);
00064 connect(this, SIGNAL(pintaMenu(QMenu *)), this, SLOT(s_pintaMenu(QMenu *)));
00065 connect(this, SIGNAL(trataMenu(QAction *)), this, SLOT(s_trataMenu(QAction *)));
00066 _depura("END ListLinAsiento1View::ListLinAsiento1View", 0);
00067 }
00068
00069
00071
00073 ListLinAsiento1View::~ListLinAsiento1View() {
00074 _depura("ListLinAsiento1View::~ListLinAsiento1View", 0);
00075 _depura("END ListLinAsiento1View::~ListLinAsiento1View", 0);
00076 }
00077
00078
00080
00083 void ListLinAsiento1View::s_pintaMenu(QMenu *menu) {
00084 _depura("ListLinAsiento1View::s_pintaMenu", 0);
00085 menu->addSeparator();
00086 menu->addAction(tr("Mostrar asiento"));
00087 menu->addSeparator();
00088 menu->addAction(tr("Mostrar extracto (dia)"));
00089 menu->addAction(tr("Mostrar extracto (mes)"));
00090 menu->addAction(tr("Mostrar extracto (ano)"));
00091 menu->addSeparator();
00092 menu->addAction(tr("Mostrar balance (dia)"));
00093 menu->addAction(tr("Mostrar balance (mes)"));
00094 menu->addAction(tr("Mostrar balance (ano)"));
00095 _depura("ListLinAsiento1View::s_pintaMenu", 0);
00096 }
00097
00099
00103 void ListLinAsiento1View::s_trataMenu(QAction *action) {
00104 _depura("ListLinAsiento1View::s_trataMenu", 0);
00105 if (!action) return;
00106 if (action->text() == tr("Mostrar asiento"))
00107 boton_asiento();
00108 if (action->text() == tr("Mostrar extracto (dia)"))
00109 boton_extracto1(0);
00110 if (action->text() == tr("Mostrar extracto (mes)"))
00111 boton_extracto1(1);
00112 if (action->text() == tr("Mostrar extracto (ano)"))
00113 boton_extracto1(2);
00114 if (action->text() == tr("Mostrar balance (dia)"))
00115 boton_balance1(0);
00116 if (action->text() == tr("Mostrar balance (mes)"))
00117 boton_balance1(1);
00118 if (action->text() == tr("Mostrar balance (ano)"))
00119 boton_balance1(2);
00120 _depura("END ListLinAsiento1View::s_trataMenu", 0);
00121 }
00122
00124
00127 void ListLinAsiento1View::cargar(QString idasiento) {
00128 _depura("AsientoSubForm::cargar", 0);
00129 QString SQLQuery = "SELECT * FROM borrador ";
00130 SQLQuery += " LEFT JOIN (SELECT codigo, descripcion AS descripcioncuenta, idcuenta, tipocuenta FROM cuenta) AS t1 ON t1.idcuenta = borrador.idcuenta ";
00131 SQLQuery += " LEFT JOIN (SELECT idcanal, nombre AS nomcanal, descripcion AS descanal FROM canal) AS t2 ON borrador.idcanal = t2.idcanal ";
00132 SQLQuery += " LEFT JOIN (SELECT idc_coste, nombre AS nomc_coste, descripcion AS descc_coste FROM c_coste) AS t3 ON borrador.idc_coste = t3.idc_coste ";
00133 SQLQuery += " LEFT JOIN (SELECT idregistroiva, factura, ffactura, idborrador AS idborriva FROM registroiva) AS t4 ON borrador.idborrador = t4.idborriva ";
00134 SQLQuery += "WHERE idasiento = " + idasiento + " ORDER BY orden";
00135 SubForm2Bc::cargar(SQLQuery);
00136 _depura("END AsientoSubForm::cargar", 0);
00137 }
00138
00139
00142
00146 Fixed ListLinAsiento1View::totaldebe(QString idasiento) {
00147 _depura("ListLinAsiento1View::totaldebe", 0, idasiento);
00148 if (idasiento == "") return Fixed("0");
00149 QString SQLQuery = "SELECT sum(debe) FROM borrador LEFT JOIN (SELECT codigo, descripcion AS descripcioncuenta, idcuenta, tipocuenta FROM cuenta) AS t1 ON t1.idcuenta = borrador.idcuenta LEFT JOIN (SELECT idcanal, nombre AS nombrecanal, descripcion AS descripcioncanal FROM canal) AS t2 ON borrador.idcanal = t2.idcanal LEFT JOIN (SELECT idc_coste, nombre AS nombrec_coste, descripcion AS descripcionc_coste FROM c_coste) AS t3 ON borrador.idc_coste = t3.idc_coste LEFT JOIN (SELECT idregistroiva, factura, ffactura, idborrador FROM registroiva) AS t4 ON borrador.idborrador = t4.idborrador WHERE idasiento = " + idasiento;
00150 cursor2 *cur= empresaBase()->cargacursor(SQLQuery);
00151 if (!cur) return Fixed("0");
00152 QString resultado = cur->valor(0);
00153 delete cur;
00154 _depura("END ListLinAsiento1View::totaldebe", 0);
00155 return Fixed(resultado);
00156 }
00157
00158
00160
00164 Fixed ListLinAsiento1View::totalhaber(QString idasiento) {
00165 _depura("ListLinAsiento1View::totalhaber", 0, idasiento);
00166 if (idasiento == "") return Fixed("0");
00167 QString SQLQuery = "SELECT sum(haber) FROM borrador LEFT JOIN (SELECT codigo, descripcion AS descripcioncuenta, idcuenta, tipocuenta FROM cuenta) AS t1 ON t1.idcuenta=borrador.idcuenta LEFT JOIN (SELECT idcanal, nombre AS nombrecanal, descripcion AS descripcioncanal FROM canal) AS t2 ON borrador.idcanal = t2.idcanal LEFT JOIN (SELECT idc_coste, nombre AS nombrec_coste, descripcion AS descripcionc_coste FROM c_coste) AS t3 ON borrador.idc_coste = t3.idc_coste LEFT JOIN (SELECT idregistroiva, factura, ffactura, idborrador FROM registroiva) AS t4 ON borrador.idborrador = t4.idborrador WHERE idasiento = " + idasiento;
00168 cursor2 *cur = empresaBase()->cargacursor(SQLQuery);
00169 if(!cur) return Fixed("0");
00170 QString resultado = cur->valor(0);
00171 delete cur;
00172 _depura("END ListLinAsiento1View::totalhaber", 0);
00173 return Fixed(resultado);
00174 }
00175