#include <asiento1view.h>
Inheritance diagram for Asiento1View:

Public Slots | |
| virtual void | on_mui_list_editFinish (int, int) |
| virtual void | on_mui_abrirasiento_clicked () |
| virtual void | on_mui_cerrarasiento_clicked () |
| virtual void | on_mui_guardarasiento_clicked () |
| virtual void | on_mui_nuevoasiento_clicked () |
| virtual void | on_mui_duplicar_clicked () |
| Se ha pulsado sobre el botón de duplicar asiento. | |
| virtual void | on_mui_inteligente_clicked () |
| Se ha pulsado sobre el botón de generar asientos inteligentes. | |
| virtual void | on_mui_fecha_returnPressed () |
| void | mui_ordenasiento_pulsadoIntro () |
| virtual void | boton_cargarasiento () |
Public Member Functions | |
| Asiento1View (Empresa *, QWidget *parent=0, int flags=0) | |
| Constructor de la clase, inicializa los componentes. | |
| ~Asiento1View () | |
| Saca la ventana del workSpace. | |
| void | muestraasiento (QString v) |
| void | muestraasiento (int v) |
| virtual int | sacaWindow () |
| Desabilitamos el sacaWindow ya que esta ventana no debe ser sacada ante un close. | |
| virtual int | guardarPost () |
| Post Guardado se hace una carga ya que la base de datos podria haber modificado cosas. | |
| void | setFecha (QString val) |
| virtual void | trataestadoAsiento1 () |
| void | asientoabiertop () |
| Pone la pantalla en el modo de asiento abierto. | |
| void | asientocerradop () |
| Pone la pantalla en el modo de asiento cerrado. | |
| void | iniciar_asiento_nuevo (QString nuevoordenasiento="") |
| Esta función se encarga de hacer las inicializaciones en un asiento nuevo. | |
| virtual void | on_mui_borrar_clicked () |
| virtual void | on_mui_borrar_clicked (bool) |
| virtual void | asiento_regularizacion (QString, QString) |
| virtual void | asiento_cierre (QString, QString) |
| virtual void | asiento_apertura (QString) |
Private Member Functions | |
| void | pintafecha (QString val) |
| void | pintaordenasiento (QString val) |
| void | pintaclase (QString val) |
| void | pintacomentariosasiento (QString text) |
| virtual void | calculaypintatotales () |
| void | prepguardar () |
| Prepara para guardar. | |
Definition at line 69 of file asiento1view.h.
Constructor de la clase, inicializa los componentes.
| emp | Empresa que llama al objeto. | |
| parent | Widget padre de este. |
Disparamos los plugins.
Ocultamos los detalles del asiento.
Hacemos la carga del listado de asientos.
Desplazamos hasta el último asiento.
Definition at line 47 of file asiento1view.cpp.
References _depura(), ListAsientos::boton_fin(), ListAsientos::cargaasientos(), FichaBc::empresaBase(), g_plugins, Plugins::lanza(), EmpresaBase::meteWindow(), Ui_AsientoBase::mui_detalles, Ui_AsientoBase::mui_list, Ui_AsientoBase::mui_ordenasiento, SubForm2Bc::setEmpresaBase(), Asiento1::setListLinAsiento1(), and Ui_AsientoBase::setupUi().
00048 : ListAsientos(emp, parent) { 00049 setupUi(this); 00050 _depura("Asiento1View::Asiento1View", 0); 00051 00053 int res = g_plugins->lanza("Asiento1View_Asiento1View", this); 00054 if (res != 0) 00055 return; 00056 00057 00058 eventos_mui_ordenasiento *eventosOrdenAsiento = new eventos_mui_ordenasiento(this); 00059 mui_ordenasiento->installEventFilter(eventosOrdenAsiento); 00060 00061 mui_list->setEmpresaBase(emp); 00062 setListLinAsiento1(mui_list); 00063 00065 mui_detalles->toggle(); 00067 cargaasientos(); 00069 boton_fin(); 00070 empresaBase()->meteWindow(windowTitle(), this); 00071 _depura("END Asiento1View::Asiento1View", 0); 00072 }
| Asiento1View::~Asiento1View | ( | ) |
Saca la ventana del workSpace.
Definition at line 78 of file asiento1view.cpp.
References _depura().
00078 { 00079 _depura("Asiento1View::~Asiento1View", 0); 00080 _depura("END Asiento1View::~Asiento1View", 0); 00081 }
| void Asiento1View::pintafecha | ( | QString | val | ) | [private, virtual] |
| val |
Reimplemented from Asiento1.
Definition at line 711 of file asiento1view.cpp.
References _depura(), Ui_AsientoBase::mui_fecha, and BusquedaFecha::setText().
00711 { 00712 _depura("Asiento1View::pintafecha", 0); 00713 mui_fecha->setText(val); 00714 _depura("END Asiento1View::pintafecha", 0); 00715 }
| void Asiento1View::pintaordenasiento | ( | QString | val | ) | [private, virtual] |
| val |
Reimplemented from Asiento1.
Definition at line 722 of file asiento1view.cpp.
References _depura(), and Ui_AsientoBase::mui_ordenasiento.
00722 { 00723 _depura("Asiento1View::pintaordenasiento", 0); 00724 mui_ordenasiento->setValue(val.toInt()); 00725 _depura("END Asiento1View::pintaordenasiento", 0); 00726 }
| void Asiento1View::pintaclase | ( | QString | val | ) | [private, virtual] |
| val |
Reimplemented from Asiento1.
Definition at line 733 of file asiento1view.cpp.
References _depura(), and Ui_AsientoBase::mui_claseAsiento.
00733 { 00734 _depura("Asiento1View::pintaclase", 0); 00735 mui_claseAsiento->setCurrentIndex(val.toInt()); 00736 _depura("END Asiento1View::pintaclase", 0); 00737 }
| void Asiento1View::pintacomentariosasiento | ( | QString | text | ) | [private, virtual] |
| text |
Reimplemented from Asiento1.
Definition at line 744 of file asiento1view.cpp.
References _depura(), and Ui_AsientoBase::mui_comentariosAsiento.
00744 { 00745 _depura("Asiento1View::pintacomentariosasiento", 0); 00746 mui_comentariosAsiento->setPlainText(text); 00747 _depura("END Asiento1View::pintacomentariosasiento", 0); 00748 }
| void Asiento1View::calculaypintatotales | ( | ) | [private, virtual] |
Reimplemented from Asiento1.
Definition at line 87 of file asiento1view.cpp.
References _depura(), FALSE, Ui_AsientoBase::m_descuadre, Ui_AsientoBase::m_totaldebe, Ui_AsientoBase::m_totalhaber, Ui_AsientoBase::mui_abrirasiento, Ui_AsientoBase::mui_cerrarasiento, Ui_AsientoBase::mui_list, SubForm3::sumarCampo(), Fixed::toQString(), and TRUE.
Referenced by on_mui_list_editFinish().
00087 { 00088 _depura("Asiento1View::calculaypintatotales", 0); 00089 Fixed tdebe = mui_list->sumarCampo("debe"); 00090 Fixed thaber = mui_list->sumarCampo("haber"); 00091 m_totaldebe->setText(tdebe.toQString()); 00092 m_totalhaber->setText(thaber.toQString()); 00093 Fixed desc = tdebe - thaber; 00094 m_descuadre->setText(desc.toQString()); 00095 00097 if (desc != 0) { 00098 mui_cerrarasiento->setEnabled(FALSE); 00099 } else if (!mui_abrirasiento->isEnabled()) { 00100 mui_cerrarasiento->setEnabled(TRUE); 00101 } // end ir 00102 _depura("END Asiento1View::calculaypintatotales", 0); 00103 }
| void Asiento1View::prepguardar | ( | ) | [private] |
Prepara para guardar.
Definition at line 344 of file asiento1view.cpp.
References _depura(), Ui_AsientoBase::mui_claseAsiento, Ui_AsientoBase::mui_comentariosAsiento, Ui_AsientoBase::mui_fecha, Ui_AsientoBase::mui_ordenasiento, DBRecord::setDBvalue(), and BusquedaFecha::text().
Referenced by on_mui_cerrarasiento_clicked(), and on_mui_guardarasiento_clicked().
00344 { 00345 _depura("Asiento1View::prepguardar", 0); 00346 setDBvalue("fecha", mui_fecha->text()); 00347 setDBvalue("ordenasiento", mui_ordenasiento->text()); 00348 setDBvalue("comentariosasiento", mui_comentariosAsiento->toPlainText()); 00349 setDBvalue("clase", QString::number(mui_claseAsiento->currentIndex())); 00350 _depura("END Asiento1View::prepguardar", 0); 00351 }
| void Asiento1View::muestraasiento | ( | QString | v | ) | [virtual] |
| v |
Reimplemented from ListAsientos.
Definition at line 333 of file asiento1view.cpp.
References _depura(), Asiento1::cargar(), and ListAsientos::situarasiento().
Referenced by correctorwidget::alink(), asiento_apertura(), asiento_cierre(), asiento_regularizacion(), SubForm2Bc::boton_asiento(), ListLinPrevCobroView::contextMenu(), iniciar_asiento_nuevo(), muestraasiento(), aplinteligentesview::on_mui_aceptar_clicked(), on_mui_borrar_clicked(), extractoview1::on_mui_list_cellDoubleClicked(), ListRegistroIvaView::on_mui_tablarepercutido_cellDoubleClicked(), ListRegistroIvaView::on_mui_tablarepercutido_trataMenu(), ListRegistroIvaView::on_mui_tablasoportado_cellDoubleClicked(), and ListRegistroIvaView::on_mui_tablasoportado_trataMenu().
00333 { 00334 _depura("Asiento1View::muestraasiento ", 0); 00335 situarasiento(v); 00336 cargar(v); 00337 _depura("END Asiento1View::muestraasiento ", 0); 00338 }
| void Asiento1View::muestraasiento | ( | int | v | ) |
| v |
Definition at line 755 of file asiento1view.cpp.
References _depura(), and muestraasiento().
00755 { 00756 _depura("Asiento1View::muestraasiento", 0); 00757 muestraasiento(QString::number(v)); 00758 _depura("END Asiento1View::muestraasiento", 0); 00759 }
| int Asiento1View::sacaWindow | ( | ) | [virtual] |
Desabilitamos el sacaWindow ya que esta ventana no debe ser sacada ante un close.
Reimplemented from Ficha.
Definition at line 766 of file asiento1view.cpp.
References _depura().
00766 { 00767 _depura("Asiento1View::sacaWindow", 0); 00768 _depura("END Asiento1View::sacaWindow", 0); 00769 return 0; 00770 }
| int Asiento1View::guardarPost | ( | ) | [virtual] |
Post Guardado se hace una carga ya que la base de datos podria haber modificado cosas.
Reimplemented from Ficha.
Definition at line 357 of file asiento1view.cpp.
References _depura().
00357 { 00358 _depura("Asiento1View::guardarPost", 0); 00359 _depura("Asiento1View::guardarPost", 0); 00360 return 0; 00361 }
| void Asiento1View::setFecha | ( | QString | val | ) |
| val |
Definition at line 777 of file asiento1view.cpp.
References _depura(), Ui_AsientoBase::mui_fecha, and BusquedaFecha::setText().
Referenced by aplinteligentesview::on_mui_aceptar_clicked().
00777 { 00778 _depura("Asiento1View::setFecha", 0); 00779 mui_fecha->setText(val); 00780 _depura("END Asiento1View::setFecha", 0); 00781 }
| void Asiento1View::trataestadoAsiento1 | ( | ) | [virtual] |
Reimplemented from Asiento1.
Definition at line 109 of file asiento1view.cpp.
References _depura(), Asiento1::ASCerrado, asientoabiertop(), asientocerradop(), and Asiento1::estadoAsiento1().
00109 { 00110 _depura("Asiento1View::trataestadoAsiento1", 0); 00111 if (estadoAsiento1() == ASCerrado) { 00112 asientocerradop(); 00113 } else { 00114 asientoabiertop(); 00115 }// end if 00116 _depura("END Asiento1View::trataestadoAsiento1", 0); 00117 }
| void Asiento1View::asientoabiertop | ( | ) |
Pone la pantalla en el modo de asiento abierto.
Los apuntes deben ser editables.
Definition at line 124 of file asiento1view.cpp.
References _depura(), SubForm3::columnCount(), FALSE, SubForm3::item(), Ui_AsientoBase::m_descuadre, Ui_AsientoBase::mui_abrirasiento, Ui_AsientoBase::mui_cerrarasiento, Ui_AsientoBase::mui_inteligente, Ui_AsientoBase::mui_list, SubForm3::rowCount(), SubForm3::setinsercion(), and TRUE.
Referenced by on_mui_inteligente_clicked(), and trataestadoAsiento1().
00124 { 00125 _depura("Asiento1View::asientoabiertop", 0); 00126 m_descuadre->setEnabled(TRUE); 00127 mui_abrirasiento->setEnabled(FALSE); 00128 mui_cerrarasiento->setEnabled(TRUE); 00129 mui_inteligente->setEnabled(TRUE); 00130 mui_list->setinsercion(TRUE); 00131 00132 //mui_list->mui_list->setBackgroundColor(Qt::lightGray); 00134 for (int fila = 0; fila < mui_list->rowCount(); fila++) { 00135 for (int columna = 0; columna < mui_list->columnCount(); columna++) { 00136 mui_list->item(fila, columna)->setFlags(Qt::ItemIsEnabled | Qt::ItemIsEditable); 00137 mui_list->item(fila, columna)->setBackgroundColor(Qt::lightGray); 00138 } // end for 00139 } // end for 00140 00141 _depura("END Asiento1View::asientoabiertop", 0); 00142 }
| void Asiento1View::asientocerradop | ( | ) |
Pone la pantalla en el modo de asiento cerrado.
Los apuntes deben dejar de ser editables (aunque no se graben sus posibles modificaciones por estar en modo CERRADO).
Definition at line 149 of file asiento1view.cpp.
References _depura(), SubForm3::columnCount(), FALSE, SubForm3::item(), Ui_AsientoBase::mui_abrirasiento, Ui_AsientoBase::mui_cerrarasiento, Ui_AsientoBase::mui_inteligente, Ui_AsientoBase::mui_list, SubForm3::rowCount(), SubForm3::setinsercion(), and TRUE.
Referenced by trataestadoAsiento1().
00149 { 00150 _depura("Asiento1View::asientocerradop", 0); 00151 mui_abrirasiento->setEnabled(TRUE); 00152 mui_cerrarasiento->setEnabled(FALSE); 00153 mui_inteligente->setEnabled(TRUE); 00154 mui_list->setinsercion(FALSE); 00155 00158 for (int fila = 0; fila < mui_list->rowCount(); fila++) { 00159 for (int columna = 0; columna < mui_list->columnCount(); columna++) { 00160 mui_list->item(fila, columna)->setFlags(Qt::ItemIsEnabled); 00161 mui_list->item(fila, columna)->setBackgroundColor(Qt::darkGray); 00162 } // end for 00163 } // end for 00164 00165 _depura("END Asiento1View::asientocerradop", 0); 00166 }
| void Asiento1View::iniciar_asiento_nuevo | ( | QString | nuevoordenasiento = "" |
) |
Esta función se encarga de hacer las inicializaciones en un asiento nuevo.
| nuevoordenasiento |
TRATAMIENTO DE BASE DE DATOS.
Creamos el asiento en la base de datos.
FIN TRATAMIENTO DE BASE DE DATOS.
Definition at line 186 of file asiento1view.cpp.
References _depura(), Asiento1::abrir(), postgresiface2::begin(), ListAsientos::cargaasientos(), postgresiface2::cargacursor(), postgresiface2::commit(), postgresiface2::ejecuta(), FichaBc::empresaBase(), cursor2::eof(), Asiento1::idasiento(), mensajeInfo(), muestraasiento(), Ui_AsientoBase::mui_fecha, postgresiface2::rollback(), postgresiface2::sanearCadena(), BusquedaFecha::text(), and cursor2::valor().
Referenced by boton_cargarasiento(), myplugin1::boton_nuevoasientodocumental(), aplinteligentesview::on_mui_aceptar_clicked(), on_mui_fecha_returnPressed(), and on_mui_nuevoasiento_clicked().
00186 { 00187 _depura("Asiento1View::iniciar_asiento_nuevo", 0); 00188 try { 00190 QString idasiento, ordenasiento, query; 00191 QString fecha = mui_fecha->text(); 00192 cursor2 *cur; 00193 empresaBase()->begin(); 00194 if (nuevoordenasiento == "") { 00195 QString query = "SELECT COALESCE(MAX(ordenasiento) + 1, 1) AS orden FROM asiento WHERE EXTRACT(YEAR FROM fecha) = '" + fecha.left(10).right(4) + "'"; 00196 cur = empresaBase()->cargacursor(query); 00197 ordenasiento = cur->valor("orden"); 00198 delete cur; 00199 } else { 00200 ordenasiento = nuevoordenasiento; 00201 } // end if 00202 00203 00204 //empresaBase()->commit(); 00205 query = "INSERT INTO asiento (fecha, ordenasiento) VALUES ('" + empresaBase()->sanearCadena(fecha) + "', " + ordenasiento + ")"; 00206 empresaBase()->ejecuta(query); 00207 00209 query = "SELECT MAX(idasiento) AS id FROM asiento"; 00210 cur = empresaBase()->cargacursor(query); 00211 if (!cur->eof()) 00212 idasiento = cur->valor("id"); 00213 delete cur; 00214 00215 empresaBase()->commit(); 00217 00218 cargaasientos(); 00219 00220 muestraasiento(idasiento.toInt()); 00221 00222 abrir(); 00223 00224 _depura("END Asiento1View::iniciar_asiento_nuevo", 0, idasiento); 00225 return; 00226 } catch (...) { 00227 mensajeInfo("Asiento no pudo crearse"); 00228 empresaBase()->rollback(); 00229 } // end try 00230 }
| void Asiento1View::on_mui_borrar_clicked | ( | ) | [virtual] |
Reimplemented from Ficha.
Definition at line 367 of file asiento1view.cpp.
References TRUE.
Referenced by CAnualesPrintView::on_mui_aceptar_clicked().
00367 { 00368 bool atendido = TRUE; // asumimos que habra que atender al dialogo de confirmacion de borrado 00369 on_mui_borrar_clicked(atendido); 00370 }
| void Asiento1View::on_mui_borrar_clicked | ( | bool | atendido | ) | [virtual] |
| atendido |
Comprueba si se ha cancelado el borrado.
Definition at line 377 of file asiento1view.cpp.
References _depura(), Ficha::borrar(), ListAsientos::cargaasientos(), ListAsientos::idasientoanterior(), ListAsientos::idasientosiguiente(), muestraasiento(), Asiento1::pintar(), and Asiento1::vaciar().
00377 { 00378 _depura("Asiento1View::on_mui_borrar_clicked", 0); 00379 QString idasientosig = idasientosiguiente(); 00380 QString idasientoant = idasientoanterior(); 00381 int resultadoborrar; 00382 resultadoborrar = Asiento1::borrar(atendido); 00383 00385 if (resultadoborrar == 2) return; 00386 00387 cargaasientos(); 00388 if (idasientosig != "") 00389 muestraasiento(idasientosig); 00390 else { 00391 if (idasientoant != "") 00392 muestraasiento(idasientoant); 00393 else { 00394 vaciar(); 00395 pintar(); 00396 } // end if 00397 } // end if 00398 _depura("END Asiento1View::on_mui_borrar_clicked", 0); 00399 }
| void Asiento1View::asiento_regularizacion | ( | QString | finicial, | |
| QString | ffinal | |||
| ) | [virtual] |
| finicial | ||
| ffinal |
Para poder generar un asiento de regularización debemos tener un asiento abierto. Sino, no merece la pena hacerlo.
Creamos un asiento nuevo con la fecha final indicada.
El parametro esta en la configuracion de empresa. Buscamos la cuenta de regularizacion. Normalmente es la 129
Hacemos el calculo de saldos hasta la fecha.
Insercion de Borrador El borrador no existe, por lo que hay que hacer un insert
Fin de la insercion de Borrador
Definition at line 846 of file asiento1view.cpp.
References _depura(), postgresiface2::begin(), ListAsientos::cargaasientos(), postgresiface2::cargacursor(), postgresiface2::commit(), postgresiface2::ejecuta(), FichaBc::empresaBase(), cursor2::eof(), Asiento1::idasiento(), mensajeInfo(), Empresa::muestraapuntes1(), muestraasiento(), postgresiface2::rollback(), postgresiface2::sanearCadena(), cursor2::siguienteregistro(), Fixed::toQString(), Asiento1::totaldebe(), Asiento1::totalhaber(), and cursor2::valor().
Referenced by Empresa::regularizaempresa().
00846 { 00847 _depura("Asiento1View::regularizacion", 0, finicial + "--" + ffinal); 00848 try { 00849 00852 00853 int idcuenta; 00854 int idcuenta1; 00855 Fixed diferencia("0"); 00856 Fixed totaldebe("0"), totalhaber("0"); 00857 Fixed totaldebe1("0"), totalhaber1("0"); 00858 QString concepto="Asiento de Regularizacion"; 00859 QString fecha = ffinal; 00860 00861 empresaBase()->muestraapuntes1(); 00862 00863 empresaBase()->begin(); 00864 00866 QString supquery = "INSERT INTO asiento (fecha, descripcion, comentariosasiento) VALUES ('"+ffinal+"', 'Asiento de Regularizacion "+finicial+"--"+ffinal+"', 'Asiento de Regularizacion "+finicial+"--"+ffinal+"')"; 00867 empresaBase()->ejecuta(supquery); 00868 supquery = "SELECT max(idasiento) as id FROM asiento"; 00869 cursor2 *cur = empresaBase()->cargacursor(supquery); 00870 int idasiento = cur->valor("id").toInt(); 00871 delete cur; 00872 00873 00876 QString query = "SELECT * FROM cuenta WHERE codigo in (SELECT valor FROM configuracion WHERE nombre='CuentaRegularizacion')"; 00877 cur = empresaBase()->cargacursor(query); 00878 if (cur->eof()) throw -1; 00879 idcuenta1 = cur->valor("idcuenta").toInt(); 00880 delete cur; 00881 00883 query = "SELECT codigo, idcuenta, sum(debe) AS sumdebe, sum(haber) AS sumhaber, sum(debe)-sum(haber) AS saldito from apunte WHERE idcuenta IN (SELECT idcuenta FROM cuenta where codigo LIKE '6%' OR codigo LIKE '7%') AND fecha >= '"+finicial+"' AND fecha <= '"+ffinal+"' GROUP BY idcuenta ORDER BY saldito"; 00884 cur = empresaBase()->cargacursor(query); 00885 int orden=0; 00886 while (!cur->eof()) { 00887 orden++; 00888 idcuenta = cur->valor("idcuenta").toInt(); 00889 diferencia = Fixed(cur->valor("sumdebe"))-Fixed(cur->valor("sumhaber")); 00890 if (diferencia > 0) { 00891 totalhaber = diferencia; 00892 totaldebe= 0; 00893 } else { 00894 totaldebe = -diferencia; 00895 totalhaber=0; 00896 }// end if 00897 totaldebe1 = totaldebe1 + totaldebe; 00898 totalhaber1 = totalhaber1 + totalhaber; 00901 query = "INSERT INTO borrador (orden, conceptocontable, descripcion, fecha, idcuenta, debe, haber, idasiento) VALUES ("; 00902 query += QString::number(orden); 00903 query += ", '" + empresaBase()->sanearCadena(concepto) + "'", 00904 query += ", 'Asiento de Regularizacion "+finicial+"--"+ffinal+"'"; 00905 query += ", '" + empresaBase()->sanearCadena(fecha) + "'", 00906 query += "," + QString::number(idcuenta); 00907 query += "," + totaldebe.toQString().replace(",","."); 00908 query += "," + totalhaber.toQString().replace(",","."); 00909 query += "," + QString::number(idasiento) + ")"; 00910 00911 empresaBase()->ejecuta(query); 00912 00914 cur->siguienteregistro(); 00915 }// end while 00916 delete cur; 00917 00918 00919 if (totaldebe1 > 0) { 00920 orden++; 00921 query = "INSERT INTO borrador (orden, conceptocontable, descripcion, fecha, idcuenta, debe, haber, idasiento) VALUES ("; 00922 query += QString::number(orden); 00923 query += ", '"+empresaBase()->sanearCadena(concepto)+ "'"; 00924 query += ", 'Asiento de Regularizacion "+finicial+"--"+ffinal+"'"; 00925 query += ", '"+empresaBase()->sanearCadena(fecha)+ "'"; 00926 query += ","+ QString::number(idcuenta1); 00927 query += ", 0"; 00928 query += ","+ totaldebe1.toQString().replace(",","."); 00929 query += ","+ QString::number(idasiento) +")"; 00930 empresaBase()->ejecuta(query); 00931 } // end if 00932 00933 00934 if (totalhaber1 > 0) { 00935 orden++; 00936 query = "INSERT INTO borrador (orden, conceptocontable, descripcion, fecha, idcuenta, debe, haber, idasiento) VALUES ("; 00937 query += QString::number(orden); 00938 query += ", '"+empresaBase()->sanearCadena(concepto)+ "'"; 00939 query += ", 'Asiento de Regularizacion "+finicial+"--"+ffinal+"'"; 00940 query += ", '"+empresaBase()->sanearCadena(fecha)+ "'"; 00941 query += ","+ QString::number(idcuenta1); 00942 query += ","+ totalhaber1.toQString().replace(",","."); 00943 query += ", 0"; 00944 query += ","+ QString::number(idasiento) +")"; 00945 empresaBase()->ejecuta(query); 00946 }// end if 00947 00948 empresaBase()->commit(); 00949 cargaasientos(); 00950 muestraasiento(idasiento); 00951 } catch (...) { 00952 mensajeInfo("Error en los calculos"); 00953 empresaBase()->rollback(); 00954 } // end try 00955 _depura("END Asiento1View::regularizacion", 0); 00956 }
| void Asiento1View::asiento_cierre | ( | QString | , | |
| QString | ||||
| ) | [virtual] |
Definition at line 963 of file asiento1view.cpp.
References _depura(), postgresiface2::begin(), ListAsientos::cargaasientos(), postgresiface2::cargacursor(), postgresiface2::commit(), postgresiface2::ejecuta(), FichaBc::empresaBase(), cursor2::eof(), Asiento1::idasiento(), mensajeInfo(), muestraasiento(), postgresiface2::rollback(), postgresiface2::sanearCadena(), cursor2::siguienteregistro(), and cursor2::valor().
Referenced by Empresa::cierraempresa().
00963 { 00964 _depura("Asiento1View::asiento_cierre", 0); 00965 try { 00966 empresaBase()->begin(); 00967 00969 QString supquery = "INSERT INTO asiento (fecha, descripcion, comentariosasiento) VALUES ('"+ffinal+"', 'Asiento de Cierre "+finicial+"--"+ffinal+"', 'Asiento de Cierre "+finicial+"--"+ffinal+"')"; 00970 empresaBase()->ejecuta(supquery); 00971 supquery = "SELECT max(idasiento) as id FROM asiento"; 00972 cursor2 *cur = empresaBase()->cargacursor(supquery); 00973 int idasiento = cur->valor("id").toInt(); 00974 delete cur; 00975 00976 int idcuenta; 00977 QString snuevodebe, snuevohaber; 00979 00980 QString query ="SELECT codigo, idcuenta, sum(debe) AS sumdebe, sum(haber) AS sumhaber, sum(debe)-sum(haber) AS saldito FROM apunte WHERE idcuenta NOT IN (SELECT idcuenta FROM cuenta WHERE codigo LIKE '6%' OR codigo LIKE '7%') AND fecha <= '"+ffinal+"' AND fecha >= '"+finicial+"' GROUP BY idcuenta ORDER BY saldito"; 00981 empresaBase()->begin(); 00982 cursor2 *cursor=empresaBase()->cargacursor(query, "cursor"); 00983 empresaBase()->commit(); 00984 int orden=0; 00985 QString concepto="Asiento de Cierre"; 00986 QString fecha = ffinal; 00987 while (! cursor->eof()) { 00988 orden++; 00989 idcuenta = cursor->valor("idcuenta").toInt(); 00990 if (cursor->valor("saldito").left(1) != "-") { 00991 snuevohaber = cursor->valor("saldito"); 00992 snuevodebe = "0"; 00993 } else { 00994 snuevodebe = "ABS("+cursor->valor("saldito")+")"; 00995 snuevohaber = "0"; 00996 }// end if 00997 if (cursor->valor("saldito") != "0.00") { 01000 query = "INSERT INTO borrador (orden, conceptocontable, fecha, idcuenta, debe, haber, idasiento) VALUES (", 01001 query += QString::number(orden); 01002 query += ", '"+empresaBase()->sanearCadena(concepto)+"'"; 01003 query += ", '"+empresaBase()->sanearCadena(fecha)+"'"; 01004 query += "," + QString::number(idcuenta); 01005 query += "," + snuevodebe; 01006 query += "," + snuevohaber; 01007 query += "," + QString::number(idasiento) + ")"; 01008 01009 empresaBase()->ejecuta(query); 01010 01011 }// end if 01012 cursor->siguienteregistro(); 01013 }// end while 01014 delete cursor; 01015 01016 empresaBase()->commit(); 01017 cargaasientos(); 01018 muestraasiento(idasiento); 01019 } catch (...) { 01020 mensajeInfo("Error en los calculos"); 01021 empresaBase()->rollback(); 01022 } // end try 01023 }
| void Asiento1View::asiento_apertura | ( | QString | ) | [virtual] |
Definition at line 1029 of file asiento1view.cpp.
References postgresiface2::begin(), ListAsientos::cargaasientos(), postgresiface2::cargacursor(), postgresiface2::commit(), postgresiface2::ejecuta(), FichaBc::empresaBase(), cursor2::eof(), Asiento1::idasiento(), mensajeInfo(), muestraasiento(), postgresiface2::rollback(), postgresiface2::sanearCadena(), cursor2::siguienteregistro(), Asiento1::totaldebe(), Asiento1::totalhaber(), and cursor2::valor().
Referenced by Empresa::abreempresa().
01029 { 01030 try { 01031 empresaBase()->begin(); 01032 01034 QString supquery = "INSERT INTO asiento (fecha, descripcion, comentariosasiento) VALUES ('"+ffinal+"', 'Asiento de Apertura "+ffinal+"', 'Asiento de Apertura "+ffinal+"')"; 01035 empresaBase()->ejecuta(supquery); 01036 supquery = "SELECT max(idasiento) as id FROM asiento"; 01037 cursor2 *cur = empresaBase()->cargacursor(supquery); 01038 int idasiento = cur->valor("id").toInt(); 01039 delete cur; 01040 01042 QString concepto="Asiento de Apertura"; 01043 QString fecha = ffinal; 01044 QString idasientocierre; 01045 01047 QString SQLQuery = "SELECT * FROM asiento WHERE fecha < '"+fecha+"' AND idasiento < "+QString::number(idasiento)+" ORDER BY ordenasiento DESC"; 01048 cur=empresaBase()->cargacursor(SQLQuery); 01049 if (!cur->eof()) { 01050 idasientocierre=cur->valor("idasiento"); 01051 }// end if 01052 delete cur; 01053 01054 int orden = 1; 01056 QString SQLQuery1 = "SELECT * FROM borrador WHERE idasiento="+idasientocierre+" ORDER BY orden"; 01057 cur = empresaBase()->cargacursor(SQLQuery1); 01058 while (!cur->eof()) { 01059 QString idcuenta = cur->valor("idcuenta"); 01060 QString totaldebe = cur->valor("debe"); 01061 QString totalhaber = cur->valor("haber"); 01062 SQLQuery1 = "INSERT INTO borrador (orden, conceptocontable, fecha, idcuenta, debe, haber, idasiento) VALUES (", 01063 SQLQuery1 += QString::number(orden++); 01064 SQLQuery1 += ", '" + empresaBase()->sanearCadena(concepto) + "'"; 01065 SQLQuery1 += ", '" + empresaBase()->sanearCadena(fecha) + "'"; 01066 SQLQuery1 += "," + idcuenta; 01067 SQLQuery1 += "," + totalhaber.replace(",","."); 01068 SQLQuery1 += "," + totaldebe.replace(",","."); 01069 SQLQuery1 += "," + QString::number(idasiento) + ")"; 01070 01071 empresaBase()->ejecuta(SQLQuery1); 01072 cur->siguienteregistro(); 01073 }// end while 01074 delete cur; 01075 01076 01077 empresaBase()->commit(); 01078 cargaasientos(); 01079 muestraasiento(idasiento); 01080 } catch (...) { 01081 mensajeInfo("Error en los calculos"); 01082 empresaBase()->rollback(); 01083 } // end try 01084 }
| void Asiento1View::on_mui_list_editFinish | ( | int | , | |
| int | ||||
| ) | [virtual, slot] |
Definition at line 405 of file asiento1view.cpp.
References _depura(), and calculaypintatotales().
00405 { 00406 _depura("Asiento1View::on_mui_list_editFinish", 0); 00407 calculaypintatotales(); 00408 _depura("END Asiento1View::on_mui_list_editFinish", 0); 00409 }
| void Asiento1View::on_mui_abrirasiento_clicked | ( | ) | [virtual, slot] |
Definition at line 787 of file asiento1view.cpp.
References _depura(), and Asiento1::abrir().
00787 { 00788 _depura("Asiento1View::on_mui_abrirasiento_clicked", 0); 00789 abrir(); 00790 _depura("END Asiento1View::on_mui_abrirasiento_clicked", 0); 00791 }
| void Asiento1View::on_mui_cerrarasiento_clicked | ( | ) | [virtual, slot] |
Definition at line 798 of file asiento1view.cpp.
References _depura(), Asiento1::cerrar(), Ui_AsientoBase::m_descuadre, mensajeInfo(), and prepguardar().
00798 { 00799 if (Fixed(m_descuadre->text()) != 0) { 00800 mensajeInfo("Asiento descuadrado, no se puede cerrar"); 00801 return; 00802 } // end if 00803 prepguardar(); 00804 cerrar(); 00805 _depura("END Asiento1View::on_mui_cerrarasiento_clicked", 0); 00806 }
| void Asiento1View::on_mui_guardarasiento_clicked | ( | ) | [virtual, slot] |
Definition at line 812 of file asiento1view.cpp.
References _depura(), Asiento1::guardar(), and prepguardar().
00812 { 00813 _depura("Asiento1View::on_mui_guardarasiento_clicked", 0); 00814 prepguardar(); 00815 Asiento1::guardar(); 00816 _depura("END Asiento1View::on_mui_guardarasiento_clicked", 0); 00817 }
| void Asiento1View::on_mui_nuevoasiento_clicked | ( | ) | [virtual, slot] |
Definition at line 173 of file asiento1view.cpp.
References _depura(), iniciar_asiento_nuevo(), Ui_AsientoBase::mui_fecha, and BusquedaFecha::setText().
00173 { 00174 _depura("Asiento1View::on_mui_nuevoasiento_clicked", 0); 00175 mui_fecha->setText(QDate::currentDate().toString("dd/MM/yyyy")); 00176 iniciar_asiento_nuevo(); 00177 _depura("END Asiento1View::on_mui_nuevoasiento_clicked", 0); 00178 }
| void Asiento1View::on_mui_duplicar_clicked | ( | ) | [virtual, slot] |
Se ha pulsado sobre el botón de duplicar asiento.
Establecemos los parámetros para el nuevo asiento a duplicar.
Definition at line 264 of file asiento1view.cpp.
References _depura(), ListAsientos::boton_fin(), ListAsientos::cargaasientos(), FichaBc::empresaBase(), DuplicarAsientoView::inicializa(), and Ui_AsientoBase::mui_ordenasiento.
00264 { 00265 _depura("Asiento1View::on_mui_duplicar_clicked", 0); 00266 DuplicarAsientoView *dupli = new DuplicarAsientoView(empresaBase(), 0); 00268 dupli->inicializa(mui_ordenasiento->text(), mui_ordenasiento->text()); 00269 dupli->exec(); 00270 cargaasientos(); 00271 boton_fin(); 00272 delete dupli; 00273 _depura("END Asiento1View::on_mui_duplicar_clicked", 0); 00274 }
| void Asiento1View::on_mui_inteligente_clicked | ( | ) | [virtual, slot] |
Se ha pulsado sobre el botón de generar asientos inteligentes.
El asiento esta abierto y por tanto se muestra como abierto.
Definition at line 282 of file asiento1view.cpp.
References _depura(), QWorkspace2::addWindow(), Asiento1::ASCerrado, asientoabiertop(), FichaBc::empresaBase(), Asiento1::estadoAsiento1(), Asiento1::idasiento(), aplinteligentesview::inicializa(), and EmpresaBase::pWorkspace().
00282 { 00283 _depura("Asiento1View::on_mui_inteligente_clicked", 0); 00284 int numasiento; 00285 if (estadoAsiento1() != Asiento1::ASCerrado) { 00287 asientoabiertop(); 00288 numasiento = idasiento().toInt(); 00289 } else { 00290 numasiento = 0; 00291 } // end if 00292 aplinteligentesview *nueva = new aplinteligentesview(empresaBase(), 0); 00293 nueva->inicializa(numasiento); 00294 empresaBase()->pWorkspace()->addWindow(nueva); 00295 nueva->show(); 00296 _depura("END Asiento1View::on_mui_inteligente_clicked", 0); 00297 }
| void Asiento1View::on_mui_fecha_returnPressed | ( | ) | [virtual, slot] |
Usamos un semaforo para prevenir de entradas concurrentes.
Cambiar la fecha del asiento.
Definition at line 240 of file asiento1view.cpp.
References _depura(), Asiento1::ASCerrado, Asiento1::ASVacio, Asiento1::estadoAsiento1(), FALSE, Asiento1::guardar(), iniciar_asiento_nuevo(), Ui_AsientoBase::mui_fecha, DBRecord::setDBvalue(), BusquedaFecha::text(), and TRUE.
00240 { 00241 _depura("Asiento1View::on_mui_fecha_returnPressed", 0); 00243 static bool semaforo = FALSE; 00244 if (semaforo) return; 00245 semaforo = TRUE; 00247 if (estadoAsiento1() != Asiento1::ASCerrado && estadoAsiento1() != Asiento1::ASVacio) { 00248 setDBvalue("fecha", mui_fecha->text()); 00249 Asiento1::guardar(); 00250 } else { 00251 iniciar_asiento_nuevo(); 00252 } // end if 00253 semaforo = FALSE; 00254 _depura("END Asiento1View::on_mui_fecha_returnPressed", 0); 00255 }
| void Asiento1View::mui_ordenasiento_pulsadoIntro | ( | ) | [slot] |
Al pulsar return sobre el número de asiento se procede como si fuese una carga de dicho asiento.
Definition at line 824 of file asiento1view.cpp.
References _depura(), and boton_cargarasiento().
Referenced by eventos_mui_ordenasiento::eventFilter().
00824 { 00825 _depura("Asiento1View::mui_ordenasiento_pulsadoIntro", 0); 00826 boton_cargarasiento(); 00827 _depura("END Asiento1View::mui_ordenasiento_pulsadoIntro", 0); 00828 }
| void Asiento1View::boton_cargarasiento | ( | ) | [virtual, slot] |
Definition at line 306 of file asiento1view.cpp.
References _depura(), postgresiface2::cargacursor(), Asiento1::cargar(), FichaBc::empresaBase(), cursor2::eof(), iniciar_asiento_nuevo(), Ui_AsientoBase::mui_ordenasiento, Asiento1::pintar(), and cursor2::valor().
Referenced by mui_ordenasiento_pulsadoIntro().
00306 { 00307 _depura("Asiento1View::boton_cargarasiento", 0); 00308 QString idas = ""; 00309 QString query = "SELECT idasiento FROM asiento WHERE ordenasiento = " + mui_ordenasiento->text() + " ORDER BY ordenasiento DESC"; 00310 cursor2 *curs = empresaBase()->cargacursor(query); 00311 if (!curs->eof()) { 00312 idas = curs->valor("idasiento"); 00313 cargar(idas); 00314 } else { 00316 if (QMessageBox::question(this, 00317 tr("Asiento inexistente."), 00318 tr("Desea crear un nuevo asiento en esa posicion?"), 00319 tr("&Si"), tr("&No"), 0, 0, 1) == 0) { 00320 iniciar_asiento_nuevo(mui_ordenasiento->text()); 00321 } // end if 00322 pintar(); 00323 } // end if 00324 delete curs; 00325 _depura("END Asiento1View::boton_cargarasiento", 0); 00326 }
1.5.1