#include <postgresiface2.h>
Inheritance diagram for postgresiface2:

Public Member Functions | |
| postgresiface2 () | |
| Constructor de la clase que inicializa variables. | |
| ~postgresiface2 () | |
| Destructor de la clase que libera memoria. | |
| int | inicializa (QString nomdb) |
| La clase debe ser inicializada con algunos parámetros para poder funcionar. | |
| int | begin () |
| Inicia una transacción. | |
| void | commit () |
| Termina una transacción. | |
| void | rollback () |
| Termina una transacción de forma abrupta. | |
| cursor2 * | cargacursor (QString query, QString nomcursor="", int limit=0, int offset=0) |
| Carga el cursor con una consulta. | |
| int | ejecuta (QString) |
| Ejecuta una sentencia de código SQL en la base de datos. | |
| int | nuevoborrador (int idcuenta, int idasiento, QString concepto, QString descripcion, float debe, float haber, QString fecha, int idcontrapartida, int idtipoiva, int idccoste, int idcanal) |
| int | modificaborrador (int idborrador, int idcuenta, float idebe, float ihaber, QString concepto, QString fecha, int contrapartida, int idtipoiva, int idccoste, int idcanal) |
| cursor2 * | cargacuenta (int idcuenta, QString ccuenta="") |
| cursor2 * | cargaasiento (int idasiento) |
| Esta funcion carga de la base de datos el asiento con idasiento especificado. | |
| cursor2 * | cargaapuntes (int tidasiento) |
| cursor2 * | cargaborradores (int tidasiento) |
| cursor2 * | cargacuentas (int padre) |
| cursor2 * | cargagrupos () |
| Esta funcion carga de la base de datos los grupos. | |
| cursor2 * | cargasaldoscuentafecha (int, QString) |
| cursor2 * | cargaapuntesctafecha (int, QString, QString) |
| cursor2 * | cargacuentascodigo (int, QString, QString) |
| cursor2 * | cargaasientosfecha (QString, QString) |
| Esta funcion carga de la base de datos los asientos. | |
| int | cierraasiento (int idasiento) |
| int | borrarasiento (int idasiento) |
| int | borrarborrador (int idborrador) |
| int | abreasiento (int idasiento) |
| int | borrarcuenta (int idcuenta) |
| int | modificacuenta (int idcuenta, QString desccuenta, QString codigo, bool cimputacion, bool cbloqueada, int idgrupo, bool cactivo, QString, QString, QString, QString, QString, QString, QString, QString, QString, int, bool, bool) |
| int | nuevacuenta (QString desccuenta, QString codigo, int padre, int idgrupo, QString, QString, QString, QString, QString, QString, QString, QString, QString, int, bool, bool) |
| cursor2 * | cargaempresas () |
| Carga en un query las empresas especificadas. | |
| void | terminar () |
| Finaliza la conexión con la base de datos. | |
| QString | propiedadempresa (QString) |
| QString | searchParent (QString) |
| Returns the parent of a determinated account code. | |
| QString | nameDB () |
| Returns the name of the database opened, if none as open then returns "". | |
| bool | has_table_privilege (QString tabla, QString permiso) |
| Returns table privileges of current user. | |
Static Public Member Functions | |
| static QString | sanearCadena (QString cadena) |
| Busca en una cadena código malicioso para SQL y lo elimina (previene el SQLInjection). | |
Private Member Functions | |
| int | formatofecha () |
| Establece en la base de datos cual va a ser el formato de fecha a utilizar. | |
Private Attributes | |
| QString | pghost |
| QString | pgport |
| Indica cual es el host de las bases de datos. | |
| QString | pgoptions |
| Indica por que puerto acceder a dicho host. | |
| QString | pgtty |
| Indica las opciones especiales que pueda tener la conexion. | |
| QString | dbName |
| Indica algunos parámetros de la conexión (Desgraciadamente no se cuales). | |
| int | nFields |
| Indica el nombre de la base de datos con la que se conecta. | |
| PGconn * | conn |
| Indica el número de campos que tiene algo (no se que). | |
| int | open |
| Representa la conexión. | |
| bool | m_transaccion |
| Indica si el postgresiface esta abierto o no. | |
Definition at line 115 of file postgresiface2.h.
| postgresiface2::postgresiface2 | ( | ) |
Constructor de la clase que inicializa variables.
Definition at line 347 of file postgresiface2.cpp.
References _depura(), FALSE, and m_transaccion.
00347 { 00348 _depura("postgresiface2::postgresiface2", 0); 00349 m_transaccion = FALSE; 00350 _depura("END postgresiface2::postgresiface2", 0); 00351 }
| postgresiface2::~postgresiface2 | ( | ) |
Destructor de la clase que libera memoria.
close the connection to the database and cleanup.
Definition at line 368 of file postgresiface2.cpp.
References _depura(), and conn.
00368 { 00369 _depura("postgresiface2::~postgresiface2", 0); 00371 PQfinish(conn); 00372 _depura("END postgresiface2::~postgresiface2", 0); 00373 }
| int postgresiface2::formatofecha | ( | ) | [private] |
Establece en la base de datos cual va a ser el formato de fecha a utilizar.
Establecemos la codificacion por defecto a UNICODE. Pero con los problemas que está teniendo el UNICODE lo vamos a dejar en SQL_ASCII QUE funciona bastante mejor.
Definition at line 428 of file postgresiface2.cpp.
References _depura(), and conn.
Referenced by inicializa().
00428 { 00429 _depura("postgresiface2::formatofecha", 0); 00430 QString query = ""; 00431 PGresult *res; 00432 query = "SET DATESTYLE TO SQL, European"; 00433 res = PQexec(conn, query.toAscii().data()); 00434 if (!res || PQresultStatus(res) != PGRES_COMMAND_OK) { 00435 _depura( "Cambio del formato de fecha command failed"); 00436 } // end if 00437 PQclear(res); 00438 00442 query = "SET client_encoding = 'UTF8'"; 00443 res = PQexec(conn, query.toAscii().data()); 00444 if (!res || PQresultStatus(res) != PGRES_COMMAND_OK) { 00445 _depura( "Cambio del formato de codificacion"); 00446 } // end if 00447 PQclear(res); 00448 _depura("END postgresiface2::formatofecha", 0); 00449 return 0; 00450 }
| int postgresiface2::inicializa | ( | QString | nomdb | ) |
La clase debe ser inicializada con algunos parámetros para poder funcionar.
Inicializa la conexión con la base de datos mediante los parámetro especificados. Precisamente no lo hace el constructor debido a la ausencia de dichos datos.
| nomdb | Indica el nombre de la base de datos. | |
| user | Indica el usuario que hace la operacion a ojos de la base de datos. | |
| passwd | Indica la contrasenya que utiliza el usuario para autentificarse. |
host name of the backend server.
port of the backend server.
special options to start up the backend server.
debugging tty for the backend server.
Antes no resolvia bien en caso de querer hacer conexiones al ordenador local. Ahora si se pone -- se considera conexion local.
Definition at line 383 of file postgresiface2.cpp.
References _depura(), CONF_ALERTAS_DB, CONF_LOGIN_USER, CONF_PASSWORD_USER, CONF_PUERTO, CONF_SERVIDOR, confpr, conn, dbName, formatofecha(), pghost, pgoptions, pgport, pgtty, and configuracion::valor().
Referenced by BConfiguracion::BotonContaplus(), abreempresaview::guardaArchivo(), EmpresaBase::init(), Mod300ps::Mod300ps(), Mod300ps::rellena_identificacion(), BConfiguracion::s_importexportbulmafact(), abreempresaview::trataEmpresa(), and logpass::validar().
00383 { 00384 _depura("postgresiface2::inicializa", 0, nomdb); 00385 dbName = nomdb; 00386 pghost = confpr->valor(CONF_SERVIDOR); 00387 pgport = confpr->valor(CONF_PUERTO); 00388 pgoptions = ""; 00389 pgtty = ""; 00390 QString conexion; 00391 00392 QString user = confpr->valor(CONF_LOGIN_USER); 00393 QString passwd = confpr->valor(CONF_PASSWORD_USER); 00396 if (pghost != "--") 00397 conexion = "host = " + pghost; 00398 conexion += " port = " + pgport; 00399 conexion += " dbname = " + dbName; 00400 if (user != "") 00401 conexion += " user = " + user; 00402 if (passwd != "") 00403 conexion += " password = " + passwd; 00404 00405 _depura(conexion, 0); 00406 conn = PQconnectdb(conexion.toAscii().data()); 00407 if (PQstatus(conn) == CONNECTION_BAD) { 00408 _depura("La conexion con la base de datos '" + dbName + "' ha fallado.\n", 0); 00409 if (passwd != "" && confpr->valor(CONF_ALERTAS_DB) == "Yes") { 00410 _depura(PQerrorMessage(conn), 2); 00411 } else { 00412 _depura(PQerrorMessage(conn), 0); 00413 } // end if 00414 return 1; 00415 } // end if 00416 _depura("La conexion con la base de datos ha ido bien, ahora vamos a por la fecha", 0); 00417 formatofecha(); 00418 _depura("END postgresiface2::inicializa", 0, nomdb); 00419 return 0; 00420 }
| int postgresiface2::begin | ( | ) |
Inicia una transacción.
Con esta sentencia se inicia una transaccion en la base de datos Las transacciones lo que indican es que el usuario se ha apoderado de la base de datos durante un tiempo y que la operacion que va a transcurrir debe hacerse sin concurrencia.
Definition at line 457 of file postgresiface2.cpp.
References _depura(), conn, m_transaccion, and TRUE.
Referenced by libromayorprint::accept(), DiarioPrint::accept(), CambiaCtaView::accept(), CuadranteQTextDocument::addTrabajador(), Asiento1View::asiento_apertura(), Asiento1View::asiento_cierre(), Asiento1View::asiento_regularizacion(), adocumental::asociaasiento(), BalancePrintView::BalancePrintView(), Inventario::borrar(), Contrato::borrar(), Asiento1::borrar(), AmortizacionesView::borrar(), RegistroIva::borrar(), ListLinPrevCobro::borrar(), ListIva::borrar(), linprevcobro::borrar(), Iva::borrar(), ListProyectosView::borrar(), adocumental::boton_desasociar(), pgimportfiles::bulmages2Contaplus(), pgimportfiles::bulmages2XML(), RegistroIva::buscaborradorcliente(), RegistroIva::buscaborradoriva(), RegistroIva::buscaborradorservicio(), selectcanalview::cargacanales(), aplinteligentesview::cifcuenta(), pgimportfiles::contaplus2Bulmages(), aplinteligentesview::creaasiento(), StructureParser::endElement(), importainteligente::endElement(), ImportBalance::endElement1(), ImportBalance::endElement2(), Iva::guardaIva(), linprevcobro::guardalinprevcobro(), Ticket::guardar(), PaisView::guardar(), Ficha::guardar(), TipoArticuloList::guardar(), Inventario::guardar(), Contrato::guardar(), Asiento1::guardar(), RegistroIvaView::guardar(), mpatrimonialesview::inicializa(), DuplicarAsientoView::inicializa(), aplinteligentesview::inicializa(), adocumental::inicializa(), mpatrimonialview::inicializa1(), mpatrimonialesview::inicializatabla(), aplinteligentesview::inicializavariables(), Asiento1View::iniciar_asiento_nuevo(), DuplicarAsientoView::lostFocus(), Mod300ps::Mod300ps(), adocumental::newADocumental(), Listado347::on_m_boton_recalcular_clicked(), mpatrimonialview::on_mui_aceptar_clicked(), CAnualesPrintView::on_mui_aceptar_clicked(), extractoview1::on_mui_borrapunteo_clicked(), PaisView::on_mui_borrar_clicked(), TrabajadorView::on_mui_borrar_clicked(), BancoView::on_mui_borrar_clicked(), TarifaView::on_mui_borrar_clicked(), mpatrimonialesview::on_mui_borrar_clicked(), listcuentasview1::on_mui_borrar_clicked(), FPagoView::on_mui_borrar_clicked(), ccosteview::on_mui_borrar_clicked(), canalview::on_mui_borrar_clicked(), CuadranteView::on_mui_calendario_customContextMenuRequested(), extractoview1::on_mui_casacion_clicked(), PaisView::on_mui_crear_clicked(), TipoArticuloList::on_mui_crear_clicked(), FamiliasView::on_mui_crear_clicked(), FPagoView::on_mui_crear_clicked(), fpagoview::on_mui_crear_clicked(), ccosteview::on_mui_crear_clicked(), canalview::on_mui_crear_clicked(), TrabajadorView::on_mui_guardar_clicked(), propiedadesempresa::on_mui_guardar_clicked(), propiedadesempresa::on_mui_modificarplan_clicked(), mpatrimonialview::on_mui_nuevaresta_clicked(), mpatrimonialview::on_mui_nuevasuma_clicked(), tipoivaview::on_mui_nuevo2_clicked(), TrabajadorView::on_mui_nuevo_clicked(), BancoView::on_mui_nuevo_clicked(), regivaprintview::presentar(), ExtractoPrintView::presentar(), DiarioPrintView::presentar(), BalancePrintView::presentar(), BalanceTreeView::presentar(), resmensualview::presentar(), estadisticasview::presentar(), estadisticasview::presentarbarras(), resmensualview::presentarpie(), BalanceView::presentarSyS(), AmortizacionSubForm::procesaMenu(), adocumental::s_deleteADocumental(), adocumental::s_saveADocumental(), pluginCAnualesODS::saldoCuenta(), pluginCAnualesODS::saldoCuentaAnt(), searchParent(), pgimportfiles::searchParent(), CuadranteQTextDocument::setAlmFecha(), StructureParser::startElement(), importainteligente::startElement(), ImportBalance::startElement1(), StructureParser::StructureParser(), TrabajadorView_on_mui_guardar_clicked(), ImportBulmaFact::trataAlbaran(), ImportBulmaFact::trataFactura(), ImportBulmaFact::trataPedidoCliente(), ImportBulmaFact::trataPresupuesto(), and EmpresaTPV::z().
00457 { 00458 _depura("postgresiface2::begin", 0); 00459 if (m_transaccion) { 00460 _depura("Ya estamos dentro de una transaccion", 0); 00461 return -1; 00462 } // end if 00463 PGresult *res; 00464 res = PQexec(conn, "BEGIN"); 00465 if (!res || PQresultStatus(res) != PGRES_COMMAND_OK) { 00466 _depura("BEGIN command failed"); 00467 PQclear(res); 00468 return -1; 00469 } // end if 00470 PQclear(res); 00471 m_transaccion = TRUE; 00472 _depura("END postgresiface2::begin", 0); 00473 return(0); 00474 }
| void postgresiface2::commit | ( | ) |
Termina una transacción.
Definition at line 483 of file postgresiface2.cpp.
References _depura(), conn, FALSE, and m_transaccion.
Referenced by libromayorprint::accept(), DiarioPrint::accept(), CambiaCtaView::accept(), CuadranteQTextDocument::addTrabajador(), Asiento1View::asiento_apertura(), Asiento1View::asiento_cierre(), Asiento1View::asiento_regularizacion(), adocumental::asociaasiento(), BalancePrintView::BalancePrintView(), Inventario::borrar(), Contrato::borrar(), Asiento1::borrar(), AmortizacionesView::borrar(), RegistroIva::borrar(), ListLinPrevCobro::borrar(), ListIva::borrar(), linprevcobro::borrar(), Iva::borrar(), ListProyectosView::borrar(), adocumental::boton_desasociar(), pgimportfiles::bulmages2Contaplus(), pgimportfiles::bulmages2XML(), RegistroIva::buscaborradorcliente(), RegistroIva::buscaborradoriva(), RegistroIva::buscaborradorservicio(), selectcanalview::cargacanales(), aplinteligentesview::cifcuenta(), pgimportfiles::contaplus2Bulmages(), aplinteligentesview::creaasiento(), StructureParser::endElement(), importainteligente::endElement(), ImportBalance::endElement1(), ImportBalance::endElement2(), Iva::guardaIva(), linprevcobro::guardalinprevcobro(), Ticket::guardar(), PaisView::guardar(), Ficha::guardar(), TipoArticuloList::guardar(), Inventario::guardar(), Contrato::guardar(), Asiento1::guardar(), RegistroIvaView::guardar(), mpatrimonialesview::inicializa(), DuplicarAsientoView::inicializa(), aplinteligentesview::inicializa(), adocumental::inicializa(), mpatrimonialview::inicializa1(), mpatrimonialesview::inicializatabla(), aplinteligentesview::inicializavariables(), Asiento1View::iniciar_asiento_nuevo(), DuplicarAsientoView::lostFocus(), adocumental::newADocumental(), Listado347::on_m_boton_recalcular_clicked(), mpatrimonialview::on_mui_aceptar_clicked(), DuplicarAsientoView::on_mui_aceptar_clicked(), CAnualesPrintView::on_mui_aceptar_clicked(), extractoview1::on_mui_borrapunteo_clicked(), PaisView::on_mui_borrar_clicked(), TrabajadorView::on_mui_borrar_clicked(), BancoView::on_mui_borrar_clicked(), TarifaView::on_mui_borrar_clicked(), mpatrimonialesview::on_mui_borrar_clicked(), listcuentasview1::on_mui_borrar_clicked(), FPagoView::on_mui_borrar_clicked(), ccosteview::on_mui_borrar_clicked(), canalview::on_mui_borrar_clicked(), CuadranteView::on_mui_calendario_customContextMenuRequested(), extractoview1::on_mui_casacion_clicked(), PaisView::on_mui_crear_clicked(), TipoArticuloList::on_mui_crear_clicked(), FamiliasView::on_mui_crear_clicked(), FPagoView::on_mui_crear_clicked(), fpagoview::on_mui_crear_clicked(), ccosteview::on_mui_crear_clicked(), canalview::on_mui_crear_clicked(), TrabajadorView::on_mui_guardar_clicked(), propiedadesempresa::on_mui_guardar_clicked(), propiedadesempresa::on_mui_modificarplan_clicked(), mpatrimonialview::on_mui_nuevaresta_clicked(), mpatrimonialview::on_mui_nuevasuma_clicked(), tipoivaview::on_mui_nuevo2_clicked(), TrabajadorView::on_mui_nuevo_clicked(), BancoView::on_mui_nuevo_clicked(), regivaprintview::presentar(), ExtractoPrintView::presentar(), DiarioPrintView::presentar(), BalancePrintView::presentar(), BalanceTreeView::presentar(), resmensualview::presentar(), estadisticasview::presentar(), estadisticasview::presentarbarras(), resmensualview::presentarpie(), BalanceView::presentarSyS(), AmortizacionSubForm::procesaMenu(), adocumental::s_deleteADocumental(), adocumental::s_saveADocumental(), pluginCAnualesODS::saldoCuenta(), pluginCAnualesODS::saldoCuentaAnt(), searchParent(), pgimportfiles::searchParent(), CuadranteQTextDocument::setAlmFecha(), StructureParser::startElement(), importainteligente::startElement(), ImportBalance::startElement1(), StructureParser::StructureParser(), TrabajadorView_on_mui_guardar_clicked(), ImportBulmaFact::trataAlbaran(), ImportBulmaFact::trataFactura(), ImportBulmaFact::trataPedidoCliente(), ImportBulmaFact::trataPresupuesto(), and EmpresaTPV::z().
00483 { 00484 _depura("postgresiface2::commit", 0); 00485 if (!m_transaccion) { 00486 _depura("No estamos en ninguna transaccion", 0); 00487 return; 00488 } // end if 00489 PGresult *res; 00490 res = PQexec(conn, "COMMIT"); 00491 PQclear(res); 00492 m_transaccion = FALSE; 00493 _depura("postgresiface2::commit", 0); 00494 }
| void postgresiface2::rollback | ( | ) |
Termina una transacción de forma abrupta.
Definition at line 503 of file postgresiface2.cpp.
References _depura(), conn, FALSE, and m_transaccion.
Referenced by CuadranteQTextDocument::addTrabajador(), Asiento1View::asiento_apertura(), Asiento1View::asiento_cierre(), Asiento1View::asiento_regularizacion(), Inventario::borrar(), Contrato::borrar(), Asiento1::borrar(), RegistroIva::borrar(), ListIva::borrar(), Iva::borrar(), RegistroIva::buscaborradorcliente(), RegistroIva::buscaborradoriva(), RegistroIva::buscaborradorservicio(), pgimportfiles::contaplus2Bulmages(), aplinteligentesview::creaasiento(), Iva::guardaIva(), Ticket::guardar(), Ficha::guardar(), TipoArticuloList::guardar(), BancoView::guardar(), Inventario::guardar(), Contrato::guardar(), Asiento1::guardar(), RegistroIvaView::guardar(), Asiento1View::iniciar_asiento_nuevo(), PaisView::on_mui_borrar_clicked(), TrabajadorView::on_mui_borrar_clicked(), BancoView::on_mui_borrar_clicked(), TarifaView::on_mui_borrar_clicked(), FPagoView::on_mui_borrar_clicked(), ccosteview::on_mui_borrar_clicked(), PaisView::on_mui_crear_clicked(), TipoArticuloList::on_mui_crear_clicked(), FamiliasView::on_mui_crear_clicked(), FPagoView::on_mui_crear_clicked(), fpagoview::on_mui_crear_clicked(), TrabajadorView::on_mui_guardar_clicked(), tipoivaview::on_mui_nuevo2_clicked(), TrabajadorView::on_mui_nuevo_clicked(), BancoView::on_mui_nuevo_clicked(), BalanceView::presentarSyS(), and CuadranteQTextDocument::setAlmFecha().
00503 { 00504 _depura("postgresiface2::rollback", 0); 00505 if (!m_transaccion) { 00506 _depura("No estamos en ninguna transaccion", 0); 00507 return; 00508 } // end if 00509 PGresult *res; 00510 res = PQexec(conn, "ROLLBACK"); 00511 PQclear(res); 00512 m_transaccion = FALSE; 00513 _depura("END postgresiface2::rollback", 0); 00514 }
| cursor2 * postgresiface2::cargacursor | ( | QString | query, | |
| QString | nomcursor = "", |
|||
| int | limit = 0, |
|||
| int | offset = 0 | |||
| ) |
Carga el cursor con una consulta.
| Query | La sentencia SELECT en formato SQL. | |
| nomcursor | Nombre que desea asignar a la consulta. Puede estar vacia. |
Si hay establecidas clausulas limit o offset modificamos el query
Definition at line 525 of file postgresiface2.cpp.
References _depura(), and conn.
Referenced by abreasiento(), Empresa::Abrirasientos(), extractoview1::accept(), CuadranteQTextDocument::addTrabajador(), Asiento1_guardaAsiento1_post(), Asiento1View::asiento_apertura(), Asiento1View::asiento_cierre(), Asiento1View::asiento_regularizacion(), BalancePrintView::BalancePrintView(), Asiento1View::boton_cargarasiento(), pgimportfiles::bulmafact2XML(), pgimportfiles::bulmages2Contaplus(), pgimportfiles::bulmages2XML(), RegistroIva::buscaborradorcliente(), RegistroIva::buscaborradorservicio(), ImpCuadrante::buscaConflictos(), RegistroIva::buscafecha(), RegistroIva::buscaNumFactura(), Q19QToolButton::cabeceraOrdenante(), Q19QToolButton::cabeceraPresentador(), FichaBf::calculaypintatotales(), cargaapuntes(), cargaapuntesctafecha(), cargaasiento(), ListAsientos::cargaasientos(), cargaasientosfecha(), cargaborradores(), selectcanalview::cargacanales(), SelectCCosteView::cargacostes(), cargacuenta(), cargacuentas(), cargacuentascodigo(), cargaempresas(), cargagrupos(), ListIva::cargaListIva(), SubForm3::cargar(), DBRecord::cargar(), PromedioView::cargar(), Inventario::cargar(), Contrato::cargar(), RutaComercial::cargar(), IncidenciaComercial::cargar(), Asiento1::cargar(), AmortizacionView::cargar(), RegistroIva::cargar(), RegistroIvaView::cargarComboFPago(), cargasaldoscuentafecha(), Asiento1::cerrar(), ListLinPrevCobro::chargeBudgetLines(), cierraasiento(), aplinteligentesview::cifcuenta(), InformeQToolButton::click(), EmailQToolButton::click(), ImpQToolButton::click(), Q19QToolButton::cobroQ19(), pgimportfiles::contaplus2Bulmages(), ListLinPrevCobroView::contextMenu(), aplinteligentesview::creaasiento(), linprevcobro::creaPago(), Empresa::createMainWindows(), DBRecord::DBsave(), PresupuestoView::detalleArticulos(), CatalogoQToolButton::detalleArticulos(), ListCompArticuloView::editFinished(), StructureParser::endElement(), ImportBalance::endElement2(), EFQToolButton::escribe_linea_factura(), Asiento1::estadoAsiento1(), EFQToolButton::exporta_factura_ubl(), FichaCfg::FichaCfg(), ImpCuadrante::generar(), PedidoProveedorView::generarAlbaran(), PedidoClienteView::generarAlbaran(), InformeArtQToolButton::generarArticulos(), InformeQToolButton::generarCliente(), AlbaranClienteView::generarFactura(), AlbaranProveedorView::generarFacturaProveedor(), InformeCliente::generarInforme(), InformeReferencia::generarinforme(), FichaBf::generaRML(), PresupuestoView::generarPedidoCliente(), abreempresaview::guardaArchivo(), linprevcobro::guardalinprevcobro(), Ticket::guardar(), TipoArticuloList::guardar(), BancoView::guardar(), FPagoView::guardar(), ArticuloView::guardarPost(), has_table_privilege(), EFQToolButtonImportar::importa_factura_ubl(), CuadranteQTextDocument::impresion(), extractoview1::imprimeExtractoCuenta(), Ticket::imprimir(), PedidoProveedorView::imprimir(), FacturaProveedorView::imprimirFacturaProveedor(), Inventario::imprimirInventario(), propiedadesempresa::inicializa(), mpatrimonialesview::inicializa(), listcuentasview1::inicializa(), DuplicarAsientoView::inicializa(), BbloqFecha::inicializa(), aplinteligentesview::inicializa(), ListRegistroIvaView::inicializa(), adocumental::inicializa(), mpatrimonialview::inicializa1(), RegistroIva::inicializa1(), CuadranteView::inicializaCuadrante(), mpatrimonialesview::inicializatabla(), listcuentasview1::inicializatabla(), CuadranteView::inicializaTrabajadores(), aplinteligentesview::inicializavariables(), Asiento1View::iniciar_asiento_nuevo(), Ticket::insertarArticulo(), Ticket::insertarArticuloCodigo(), Ticket::insertarArticuloCodigoNL(), Iva::Iva(), linprevcobro::linprevcobro(), DuplicarAsientoView::lostFocus(), Mod300ps::Mod300ps(), TipoArticuloList::mostrarplantilla(), FamiliasView::mostrarplantilla(), canalview::mostrarplantilla(), CuentaView::nuevacuenta(), CuadranteQTextDocument::on_customContextMenuRequested(), Listado347::on_m_boton_recalcular_clicked(), BusquedaCliente::on_m_cifcliente_textChanged(), BusquedaProveedor::on_m_cifproveedor_textChanged(), BusquedaArticulo::on_m_codigocompletoarticulo_textChanged(), BusquedaFamilia::on_m_codigocompletofamilia_textChanged(), BusquedaTipoArticulo::on_m_codtipo_articulo_textChanged(), BusquedaReferencia::on_mui_abrirtodo_clicked(), mpatrimonialview::on_mui_aceptar_clicked(), DuplicarAsientoView::on_mui_aceptar_clicked(), CAnualesPrintView::on_mui_aceptar_clicked(), extractoview1::on_mui_casacion_clicked(), Abrevs::on_mui_cliente_clicked(), ArticuloView::on_mui_codigocompletoarticulo_editingFinished(), correctorwidget::on_mui_corregir_clicked(), TipoArticuloList::on_mui_crear_clicked(), FamiliasView::on_mui_crear_clicked(), FPagoView::on_mui_crear_clicked(), fpagoview::on_mui_crear_clicked(), ccosteview::on_mui_crear_clicked(), canalview::on_mui_crear_clicked(), CuadranteView::on_mui_duplicar_clicked(), ContratoView::on_mui_facturar_clicked(), TrabajadorView::on_mui_guardar_clicked(), extractoview1::on_mui_guardarpunteo_clicked(), FamiliasView::on_mui_imprimir_clicked(), CobroView::on_mui_imprimir_clicked(), InventariosView::on_mui_imprimir_clicked(), CuadranteView::on_mui_imprimir_clicked(), listcuentasview1::on_mui_imprimir_clicked(), extractoview1::on_mui_imprimir_clicked(), SubForm2Bf::on_mui_list_cellChanged(), SubForm2Bc::on_mui_list_cellChanged(), SubForm2Bf::on_mui_list_pressedAsterisk(), SubForm2Bc::on_mui_list_pressedAsterisk(), SubForm2Bf::on_mui_list_pressedMinus(), propiedadesempresa::on_mui_modificarplan_clicked(), mpatrimonialview::on_mui_nuevaresta_clicked(), mpatrimonialview::on_mui_nuevasuma_clicked(), tipoivaview::on_mui_nuevo2_clicked(), TrabajadorView::on_mui_nuevo_clicked(), BancoView::on_mui_nuevo_clicked(), EFacturaRecepcion::on_mui_recibir_clicked(), FacturaView::on_mui_veralbaranes_clicked(), FacturaProveedorView::on_mui_veralbaranes_clicked(), AlbaranClienteView::on_mui_verpedidocliente_clicked(), AlbaranProveedorView::on_mui_verpedidosproveedor_clicked(), PedidoClienteView::on_mui_verpresupuesto_clicked(), Empresa::Ordenarasientos(), ListLinPrevCobroView::pintalistlinprevcobro(), MTicket::pintar(), TrabajadorView::pintar(), TipoArticuloList::pintar(), FamiliasView::pintar(), BancoView::pintar(), tipoivaview::pintar(), FPagoView::pintar(), fpagoview::pintar(), PresupuestoList::presentar(), PedidosProveedorList::presentar(), PedidosClienteList::presentar(), FacturasProveedorList::presentar(), FacturasList::presentar(), AlbaranesProveedor::presentar(), AlbaranClienteList::presentar(), regivaprintview::presentar(), extractoview1::presentar(), DiarioView::presentar(), DiarioPrintView::presentar(), BalancePrintView::presentar(), BalanceTreeView::presentar(), resmensualview::presentar(), estadisticasview::presentar(), estadisticasview::presentarbarras(), resmensualview::presentarpie(), BalanceView::presentarSyS(), ListCompArticuloView::pressedAsterisk(), AmortizacionSubForm::procesaMenu(), AsientosView::rellenaListaEjercicio(), ccosteview::repintar(), BusquedaArticuloDelegate::s_editTextChanged(), BusquedaCuentaDelegate::s_editTextChanged(), AlbaranClienteView::s_verpresupuesto(), pluginCAnualesODS::saldoCuenta(), pluginCAnualesODS::saldoCuentaAnt(), searchParent(), pgimportfiles::searchParent(), BusquedaTrabajadorDelegate::set(), BusquedaTipoIVADelegate::set(), BusquedaAlmacenDelegate::set(), BusquedaTipoTrabajoDelegate::set(), BusquedaCCosteDelegate::set(), BusquedaCanalDelegate::set(), CuadranteQTextDocument::setAlmFecha(), BusquedaCliente::setcifcliente(), BusquedaProveedor::setcifproveedor(), BusquedaArticulo::setcodigocompletoarticulo(), BusquedaFamilia::setcodigocompletofamilia(), linprevcobro::setcodigoctacliente(), BusquedaCuenta::setcodigocuenta(), linprevcobro::setcodigocuenta(), BusquedaSerieFactura::setcodigoserie_factura(), BusquedaTipoArticulo::setcodtipo_articulo(), BusquedaSerieFactura::setEmpresaBase(), BusquedaAlmacen::setEmpresaBase(), BusquedaAlmacen::setidalmacen(), BusquedaArticulo::setidarticulo(), BusquedaBanco::setidbanco(), BusquedaCCoste::setidc_coste(), BusquedaCanal::setidcanal(), SubForm2Bt::setIdCliente(), SubForm2Bf::setIdCliente(), BusquedaFormaPago::setIdCliente(), BusquedaCliente::setidcliente(), linprevcobro::setidctacliente(), BusquedaCuenta::setidcuenta(), linprevcobro::setidcuenta(), BusquedaFamilia::setidfamilia(), BusquedaFormaPago::setidforma_pago(), SubForm2Bt::setIdProveedor(), SubForm2Bf::setIdProveedor(), BusquedaProveedor::setidproveedor(), BusquedaFormaPago::setIdProveedor(), BusquedaProvincia::setIdProvincia(), BusquedaTarifa::setidtarifa(), BusquedaTipoArticulo::setidtipo_articulo(), BusquedaTipoIva::setidtipo_iva(), Iva::setidtipoiva(), BusquedaTipoTrabajo::setidtipotrabajo(), BusquedaTrabajador::setidtrabajador(), BusquedaZonaComercial::setidzonacomercial(), StructureParser::startElement(), importainteligente::startElement(), ImportBalance::startElement1(), SubForm2Bf_on_mui_list_editFinished(), Ticket_pintar(), ListLinAsiento1View::totaldebe(), Q19QToolButton::totalGeneral(), ListLinAsiento1View::totalhaber(), Q19QToolButton::totalOrdenante(), Trabajadores::trabajadorClicked(), Trabajadores::Trabajadores(), TrabajadorView_on_mui_lista_currentItemChanged_Post(), ImportBulmaFact::trataAlbaran(), ImportBulmaFact::trataAlmacen(), ImportBulmaFact::trataArticulo(), ImportBulmaFact::trataCliente(), abreempresaview::trataEmpresa(), ImportBulmaFact::trataFactura(), ImportBulmaFact::trataFamilia(), ImportBulmaFact::trataFormaPago(), Ficha::trataIfQuery(), ImportBulmaFact::trataPedidoCliente(), ImportBulmaFact::trataPresupuesto(), ImportBulmaFact::trataProveedor(), Ficha::trataQuery(), FichaBf::trataTotales(), EmpresaTPV::x(), and EmpresaTPV::z().
00525 { 00526 _depura ("postgresiface2::cargacursor", 0, query); 00527 cursor2 *cur = NULL; 00528 try { 00530 if (limit != 0) 00531 query += " LIMIT " + QString::number(limit); 00532 if (offset != 0) 00533 query += " OFFSET " + QString::number(offset); 00534 00535 cur = new cursor2(nomcursor, conn, query); 00536 } catch (...) { 00537 _depura("postgresiface2::cargacursor La base de datos genero un error: ", 0); 00538 delete cur; 00539 // throw -1; 00540 return NULL; 00541 } // end try 00542 _depura ("END postgresiface2::cargacursor", 0, nomcursor); 00543 return cur; 00544 }
| int postgresiface2::ejecuta | ( | QString | Query | ) |
Ejecuta una sentencia de código SQL en la base de datos.
| Query |
Prova de control de permisos.
Fi prova. Nota: 42501 = INSUFFICIENT PRIVILEGE en SQL Standard.
Definition at line 559 of file postgresiface2.cpp.
References _depura(), CONF_PRIVILEGIOS_USUARIO, confpr, conn, and configuracion::valor().
Referenced by CambiaCtaView::accept(), CuadranteQTextDocument::addTrabajador(), Asiento1View::asiento_apertura(), Asiento1View::asiento_cierre(), Asiento1View::asiento_regularizacion(), adocumental::asociaasiento(), DBRecord::borrar(), FamiliasView::borrar(), ArticuloList::borrar(), ListControlStockView::borrar(), Inventario::borrar(), Asiento1::borrar(), AmortizacionView::borrar(), AmortizacionesView::borrar(), RegistroIva::borrar(), ListLinPrevCobro::borrar(), ListIva::borrar(), linprevcobro::borrar(), Iva::borrar(), ListProyectosView::borrar(), borrarasiento(), borrarborrador(), borrarcuenta(), adocumental::boton_desasociar(), RegistroIva::buscaborradorcliente(), RegistroIva::buscaborradoriva(), RegistroIva::buscaborradorservicio(), pgimportfiles::contaplus2Bulmages(), ListLinPrevCobroView::contextMenu(), aplinteligentesview::creaasiento(), DBRecord::DBsave(), StructureParser::endElement(), importainteligente::endElement(), ImportBalance::endElement1(), ImportBalance::endElement2(), linprevcobro::guardalinprevcobro(), TipoArticuloList::guardar(), FamiliasView::guardar(), BancoView::guardar(), FPagoView::guardar(), fpagoview::guardar(), Asiento1View::iniciar_asiento_nuevo(), modificaborrador(), modificacuenta(), adocumental::newADocumental(), nuevacuenta(), nuevoborrador(), CuadranteQTextDocument::on_customContextMenuRequested(), mpatrimonialview::on_mui_aceptar_clicked(), DuplicarAsientoView::on_mui_aceptar_clicked(), extractoview1::on_mui_borrapunteo_clicked(), tipoivaview::on_mui_borrar2_clicked(), PaisView::on_mui_borrar_clicked(), TrabajadorView::on_mui_borrar_clicked(), TipoArticuloList::on_mui_borrar_clicked(), BancoView::on_mui_borrar_clicked(), mpatrimonialesview::on_mui_borrar_clicked(), FPagoView::on_mui_borrar_clicked(), fpagoview::on_mui_borrar_clicked(), ccosteview::on_mui_borrar_clicked(), canalview::on_mui_borrar_clicked(), CuadranteView::on_mui_calendario_customContextMenuRequested(), extractoview1::on_mui_cargarpunteos_clicked(), extractoview1::on_mui_casacion_clicked(), PaisView::on_mui_crear_clicked(), TipoArticuloList::on_mui_crear_clicked(), FamiliasView::on_mui_crear_clicked(), FPagoView::on_mui_crear_clicked(), fpagoview::on_mui_crear_clicked(), ccosteview::on_mui_crear_clicked(), canalview::on_mui_crear_clicked(), BbloqFecha::on_mui_crear_clicked(), CuadranteView::on_mui_duplicar_clicked(), tipoivaview::on_mui_guardar2_clicked(), TrabajadorView::on_mui_guardar_clicked(), EFactura::on_mui_guardar_clicked(), canalview::on_mui_guardar_clicked(), CuadranteView::on_mui_limpiar_clicked(), propiedadesempresa::on_mui_modificarplan_clicked(), tipoivaview::on_mui_nuevo2_clicked(), TrabajadorView::on_mui_nuevo_clicked(), BancoView::on_mui_nuevo_clicked(), BbloqFecha::on_mui_treeWidget_itemDoubleClicked(), BalanceTreeView::presentar(), estadisticasview::presentar(), estadisticasview::presentarbarras(), AmortizacionSubForm::procesaMenu(), Empresa::recalculasaldos(), adocumental::s_deleteADocumental(), adocumental::s_saveADocumental(), CuadranteQTextDocument::setAlmFecha(), StructureParser::startElement(), importainteligente::startElement(), ImportBalance::startElement1(), StructureParser::StructureParser(), TrabajadorView_on_mui_guardar_clicked(), ImportBulmaFact::trataAlbaran(), ImportBulmaFact::trataAlmacen(), ImportBulmaFact::trataArticulo(), ImportBulmaFact::trataCliente(), ImportBulmaFact::trataFactura(), ImportBulmaFact::trataFamilia(), ImportBulmaFact::trataFormaPago(), ImportBulmaFact::trataPedidoCliente(), ImportBulmaFact::trataPresupuesto(), ImportBulmaFact::trataProveedor(), EmpresaTPV::z(), and StructureParser::~StructureParser().
00559 { 00560 _depura("postgresiface2::ejecuta", 0, Query); 00561 PGresult *result = NULL; 00562 try { 00564 if (confpr->valor(CONF_PRIVILEGIOS_USUARIO) != "1" && (Query.left(6) == "DELETE" || Query.left(6) == "UPDATE" || Query.left(6) == "INSERT")) 00565 throw 42501; 00567 result = PQexec(conn, (const char *) Query.toUtf8()); 00568 if (!result || PQresultStatus(result) != PGRES_COMMAND_OK) 00569 throw -1; 00570 PQclear(result); 00571 _depura("postgresiface2::ejecuta", 0); 00572 return 0; 00573 } catch (int e) { 00574 if (e == 42501) { 00575 _depura("SQL command failed: " + Query); 00576 fprintf(stderr,"%s\n", PQerrorMessage(conn)); 00577 QString mensaje = "No tiene permisos suficientes para ejecutar el comando SQL:\n"; 00578 msgError(mensaje + (QString)PQerrorMessage(conn), Query + "\n" + (QString)PQerrorMessage(conn)); 00579 PQclear(result); 00580 throw -1; 00581 } else { 00582 _depura("SQL command failed: " + Query); 00583 fprintf(stderr,"%s\n", PQerrorMessage(conn)); 00584 QString mensaje = "Error al intentar modificar la base de datos:\n"; 00585 msgError(mensaje + (QString)PQerrorMessage(conn), Query + "\n" + (QString)PQerrorMessage(conn)); 00586 PQclear(result); 00587 throw -1; 00588 } // end if 00589 } catch (...) { 00590 throw -1; 00591 } // end try 00592 _depura("END postgresiface2::ejecuta", 0, Query); 00593 }
| int postgresiface2::nuevoborrador | ( | int | idcuenta, | |
| int | idasiento, | |||
| QString | concepto, | |||
| QString | descripcion, | |||
| float | debe, | |||
| float | haber, | |||
| QString | fecha, | |||
| int | idcontrapartida, | |||
| int | idtipoiva, | |||
| int | idccoste, | |||
| int | idcanal | |||
| ) |
| idcuenta | ||
| idasiento | ||
| concepto | ||
| descripcion | ||
| debe | ||
| haber | ||
| fecha | ||
| idcontrapartida | ||
| idtipoiva | ||
| idccoste | ||
| idcanal |
Definition at line 642 of file postgresiface2.cpp.
References _depura(), ejecuta(), and sanearCadena().
00642 { 00643 _depura("postgresiface2::nuevoborrador", 0); 00644 QString query = ""; 00645 QString textcuenta; 00646 QString textcontrapartida; 00647 QString textidccoste; 00648 QString textidcanal; 00649 if (idcuenta == 0) { 00650 textcuenta = "NULL"; 00651 } else { 00652 textcuenta.sprintf("%d", idcuenta); 00653 } // end if 00654 if (idcontrapartida == 0) { 00655 textcontrapartida = "NULL"; 00656 } else { 00657 textcontrapartida.sprintf("%d", idcontrapartida); 00658 } // end if 00659 if (idccoste == 0) { 00660 textidccoste = "NULL"; 00661 } else { 00662 textidccoste.sprintf("%d", idccoste); 00663 } // end if 00664 if (idcanal == 0) { 00665 textidcanal = "NULL"; 00666 } else { 00667 textidcanal.sprintf("%d", idcanal); 00668 } // end if 00669 query.sprintf("INSERT INTO borrador (idcuenta,idasiento,conceptocontable, descripcion, debe, haber, fecha, contrapartida, idtipoiva, idc_coste, idcanal) VALUES (%s, %d,'%s','%s', %2.2f, %2.2f,'%s', %s, %d, %s, %s)", 00670 sanearCadena(textcuenta).toAscii().data(), 00671 idasiento, 00672 sanearCadena(concepto).toAscii().data(), 00673 sanearCadena(descripcion).toAscii().data(), 00674 debe, 00675 haber, 00676 sanearCadena(fecha).toAscii().data(), 00677 sanearCadena(textcontrapartida).toAscii().data(), 00678 idtipoiva, 00679 sanearCadena(textidccoste).toAscii().data(), 00680 sanearCadena(textidcanal).toAscii().data()); 00681 _depura("END postgresiface2::nuevoborrador", 0); 00682 return (ejecuta(query)); 00683 }
| int postgresiface2::modificaborrador | ( | int | idborrador, | |
| int | idcuenta, | |||
| float | idebe, | |||
| float | ihaber, | |||
| QString | concepto, | |||
| QString | fecha, | |||
| int | contrapartida, | |||
| int | idtipoiva, | |||
| int | idccoste, | |||
| int | idcanal | |||
| ) |
| idborrador | ||
| idcuenta | ||
| idebe | ||
| ihaber | ||
| concepto | ||
| fecha | ||
| contrapartida | ||
| idtipoiva | ||
| idccoste | ||
| idcanal |
Definition at line 701 of file postgresiface2.cpp.
References _depura(), and ejecuta().
00701 { 00702 _depura("postgresiface2::modificaborrador", 0); 00703 QString query = ""; 00704 QString textidccoste; 00705 QString textcontrapartida; 00706 QString textocanal; 00707 if (idccoste == 0) { 00708 textidccoste = "NULL"; 00709 } else { 00710 textidccoste.sprintf("%d", idccoste); 00711 } // end if 00712 if (contrapartida == 0) { 00713 textcontrapartida = "NULL"; 00714 } else { 00715 textcontrapartida.sprintf("%d", contrapartida); 00716 } // end if 00717 if (idcanal == 0) { 00718 textocanal = "NULL"; 00719 } else { 00720 textocanal.sprintf("%d", idcanal); 00721 } // end if 00722 00723 query.sprintf("UPDATE borrador SET idcuenta = %d, debe = %2.2f, haber = %2.2f, conceptocontable = '%s', fecha = '%s', contrapartida = %s, idtipoiva = %d, idc_coste = %s, idcanal = %s WHERE idborrador = %d", idcuenta, idebe, ihaber, concepto.toAscii().data(), fecha.toAscii().data(), textcontrapartida.toAscii().data(), idtipoiva, textidccoste.toAscii().data(), textocanal.toAscii().data(), idborrador); 00724 _depura(query); 00725 _depura("END postgresiface2::modificaborrador", 0); 00726 return(ejecuta(query)); 00727 }
| cursor2 * postgresiface2::cargacuenta | ( | int | idcuenta, | |
| QString | ccuenta = "" | |||
| ) |
| idcuenta | ||
| ccuenta |
Definition at line 738 of file postgresiface2.cpp.
References _depura(), and cargacursor().
Referenced by DiarioPrint::accept(), ExtractoPrintView::presentar(), and BusquedaCuenta::s_lostFocus().
00738 { 00739 _depura("postgresiface2::cargacuenta", 0); 00740 QString query = ""; 00741 if ( idcuenta != 0) { 00742 query.sprintf("SELECT * FROM cuenta WHERE idcuenta = %d", idcuenta); 00743 } else { 00744 query.sprintf("SELECT * FROM cuenta WHERE codigo LIKE '%s' ORDER BY codigo", ccuenta.toAscii().data()); 00745 } // end if 00746 cursor2 *cur = cargacursor(query, "cargacuenta"); 00747 _depura("END postgresiface2::cargacuenta", 0); 00748 return cur; 00749 }
| cursor2 * postgresiface2::cargaasiento | ( | int | idasiento | ) |
Esta funcion carga de la base de datos el asiento con idasiento especificado.
| idasiento |
Definition at line 757 of file postgresiface2.cpp.
References _depura(), and cargacursor().
00757 { 00758 _depura("postgresiface2::cargaasiento", 0); 00759 QString query = ""; 00760 query.sprintf("SELECT * FROM asiento WHERE idasiento = %d", idasiento); 00761 cursor2 *cur = cargacursor(query, "cargaasiento"); 00762 _depura("END postgresiface2::cargaasiento", 0); 00763 return cur; 00764 }
| cursor2 * postgresiface2::cargaapuntes | ( | int | tidasiento | ) |
| tidasiento |
Definition at line 773 of file postgresiface2.cpp.
References _depura(), and cargacursor().
Referenced by DiarioPrint::accept().
00773 { 00774 _depura("postgresiface2::cargaapuntes", 0); 00775 QString query = ""; 00776 query.sprintf("SELECT * FROM apunte where idasiento = %d ORDER BY idapunte", tidasiento); 00777 cursor2 *cur = cargacursor(query, "cargaapuntes"); 00778 _depura("END postgresiface2::cargaapuntes", 0); 00779 return cur; 00780 }
| cursor2 * postgresiface2::cargaborradores | ( | int | tidasiento | ) |
| tidasiento |
Definition at line 789 of file postgresiface2.cpp.
References _depura(), and cargacursor().
00789 { 00790 _depura("postgresiface2::cargaborradores", 0); 00791 QString query = ""; 00792 query.sprintf("SELECT * FROM borrador where idasiento = %d ORDER BY idborrador", tidasiento); 00793 cursor2 *cur = cargacursor(query, "cargaborradores"); 00794 _depura("END postgresiface2::cargaborradores", 0); 00795 return cur; 00796 }
| cursor2 * postgresiface2::cargacuentas | ( | int | padre | ) |
| padre |
Definition at line 807 of file postgresiface2.cpp.
References _depura(), and cargacursor().
00807 { 00808 _depura("postgresiface2::cargacuentas", 0); 00809 QString query = ""; 00810 if (padre != 0 && padre != -1 && padre != -2) { 00811 query.sprintf("SELECT * FROM cuenta WHERE padre=%d ORDER BY padre", padre); 00812 } else if (padre == 0) { 00813 query.sprintf("SELECT * FROM cuenta WHERE padre isnull ORDER BY padre "); 00814 } else if (padre == -1) { 00815 query.sprintf("SELECT * FROM cuenta ORDER BY padre "); 00816 } else if (padre == -2) { 00817 query.sprintf("SELECT * FROM cuenta WHERE NOT padre isnull ORDER BY padre "); 00818 }// end if 00819 cursor2 *cur = cargacursor(query, "cargaborradores"); 00820 _depura("END postgresiface2::cargacuentas", 0); 00821 return cur; 00822 }
| cursor2 * postgresiface2::cargagrupos | ( | ) |
Esta funcion carga de la base de datos los grupos.
Definition at line 829 of file postgresiface2.cpp.
References _depura(), and cargacursor().
00829 { 00830 _depura("postgresiface2::cargagrupos", 0); 00831 QString query = "SELECT * FROM grupo"; 00832 cursor2 *cur = cargacursor(query, "cargagrupos"); 00833 _depura("END postgresiface2::cargagrupos", 0); 00834 return cur; 00835 }
| cursor2 * postgresiface2::cargasaldoscuentafecha | ( | int | idcuenta, | |
| QString | fecha | |||
| ) |
| idcuenta | ||
| fecha |
Definition at line 863 of file postgresiface2.cpp.
References _depura(), and cargacursor().
Referenced by libromayorprint::accept(), and ExtractoPrintView::presentar().
00863 { 00864 _depura("postgresiface2::cargasaldoscuentafecha", 0); 00865 QString query = ""; 00866 query.sprintf("SELECT sum(debe) as tdebe, sum(haber)as thaber FROM apunte WHERE idcuenta = %d AND fecha <'%s'",idcuenta, fecha.toAscii().data()); 00867 cursor2 *cur = cargacursor(query, "cargasaldoscuentafecha"); 00868 _depura("END postgresiface2::cargasaldoscuentafecha", 0); 00869 return(cur); 00870 }
| cursor2 * postgresiface2::cargaapuntesctafecha | ( | int | tidcuenta, | |
| QString | fechainicial, | |||
| QString | fechafinal | |||
| ) |
| tidcuenta | ||
| fechainicial | ||
| fechafinal |
Definition at line 846 of file postgresiface2.cpp.
References _depura(), and cargacursor().
Referenced by libromayorprint::accept(), and ExtractoPrintView::presentar().
00846 { 00847 _depura("ostgresiface2::cargaapuntesctafecha", 0); 00848 QString query = ""; 00849 query.sprintf("SELECT * FROM apunte where idcuenta = %d AND fecha >= '%s' AND fecha <= '%s' ORDER BY fecha",tidcuenta, fechainicial.toAscii().data(), fechafinal.toAscii().data()); 00850 cursor2 *cur = cargacursor(query, "cargasaldoscuentafecha"); 00851 _depura("END ostgresiface2::cargaapuntesctafecha", 0); 00852 return cur; 00853 }
| cursor2 * postgresiface2::cargacuentascodigo | ( | int | padre, | |
| QString | codigoinicial, | |||
| QString | codigofinal | |||
| ) |
| padre | ||
| codigoinicial | ||
| codigofinal |
Definition at line 901 of file postgresiface2.cpp.
References _depura(), and cargacursor().
Referenced by libromayorprint::accept(), and ExtractoPrintView::presentar().
00901 { 00902 _depura("postgresiface2::cargacuentascodigo", 0); 00903 QString query = ""; 00904 if (padre != 0 && padre != -1) { 00905 query.sprintf("SELECT * FROM cuenta WHERE padre = %d AND codigo >= '%s' AND codigo <= '%s' ORDER BY codigo", padre, codigoinicial.toAscii().data(), codigofinal.toAscii().data()); 00906 } else if (padre== 0) { 00907 query.sprintf("SELECT * FROM cuenta WHERE padre isnull AND codigo >= '%s' AND codigo <= '%s' ORDER BY codigo", codigoinicial.toAscii().data(), codigofinal.toAscii().data()); 00908 } else if (padre ==-1) { 00909 query.sprintf("SELECT * FROM cuenta WHERE codigo >= '%s' AND codigo <= '%s' ORDER BY codigo", codigoinicial.toAscii().data(), codigofinal.toAscii().data()); 00910 } // end if 00911 cursor2 *cur = cargacursor(query, "cargasaldoscuentafecha"); 00912 _depura("END postgresiface2::cargacuentascodigo", 0); 00913 return cur; 00914 }
| cursor2 * postgresiface2::cargaasientosfecha | ( | QString | fechini, | |
| QString | fechfin | |||
| ) |
Esta funcion carga de la base de datos los asientos.
| fechini | ||
| fechfin |
Definition at line 879 of file postgresiface2.cpp.
References _depura(), and cargacursor().
Referenced by DiarioPrint::accept(), and DiarioPrintView::presentar().
00879 { 00880 _depura("postgresiface2::cargaasientosfecha", 0); 00881 QString query = ""; 00882 query.sprintf("SELECT * FROM asiento WHERE fecha >= '%s' AND fecha <= '%s' ORDER BY fecha", fechini.toAscii().data(),fechfin.toAscii().data()); 00883 cursor2 *cur=cargacursor(query, "cargaasientosfecha"); 00884 _depura("END postgresiface2::cargaasientosfecha", 0); 00885 return cur; 00886 }
| int postgresiface2::cierraasiento | ( | int | idasiento | ) |
| idasiento |
Definition at line 922 of file postgresiface2.cpp.
References _depura(), and cargacursor().
Referenced by Asiento1::guardar().
00922 { 00923 _depura("postgresiface2::cierraasiento", 0); 00924 QString query; 00925 query.sprintf("SELECT cierraasiento(%d)", idasiento); 00926 cursor2 *cur = cargacursor(query, "abreasientos"); 00927 delete cur; 00928 _depura("END postgresiface2::cierraasiento", 0); 00929 return 1; 00930 }
| int postgresiface2::borrarasiento | ( | int | idasiento | ) |
| idasiento |
Definition at line 940 of file postgresiface2.cpp.
References _depura(), and ejecuta().
00940 { 00941 _depura("postgresiface2::borrarasiento", 0); 00942 QString query = ""; 00943 query.sprintf("DELETE FROM asiento WHERE idasiento = %d", idasiento); 00944 _depura("END postgresiface2::borrarasiento", 0); 00945 return (ejecuta(query)); 00946 }
| int postgresiface2::borrarborrador | ( | int | idborrador | ) |
| idborrador |
Definition at line 955 of file postgresiface2.cpp.
References _depura(), and ejecuta().
00955 { 00956 _depura("postgresiface2::borrarborrador", 0); 00957 QString query = ""; 00958 query.sprintf("DELETE FROM borrador WHERE idborrador = %d", idborrador); 00959 _depura("END postgresiface2::borrarborrador", 0); 00960 return (ejecuta(query)); 00961 }
| int postgresiface2::abreasiento | ( | int | idasiento | ) |
| idasiento |
Definition at line 985 of file postgresiface2.cpp.
References _depura(), and cargacursor().
Referenced by Asiento1::abrir().
00985 { 00986 _depura("postgresiface2::abreasiento", 0); 00987 _depura("Funcion abreasiento\n"); 00988 QString query = ""; 00989 query.sprintf("SELECT abreasiento(%d)", idasiento); 00990 cursor2 *cur = cargacursor(query, "abreasientos"); 00991 delete cur; 00992 _depura("END postgresiface2::abreasiento", 0); 00993 return 1; 00994 }
| int postgresiface2::borrarcuenta | ( | int | idcuenta | ) |
| idcuenta |
Definition at line 970 of file postgresiface2.cpp.
References _depura(), and ejecuta().
00970 { 00971 _depura("postgresiface2::borrarcuenta", 0); 00972 QString query = ""; 00973 query.sprintf("DELETE FROM cuenta WHERE idcuenta = %d", idcuenta); 00974 _depura("END postgresiface2::borrarcuenta", 0); 00975 return (ejecuta(query)); 00976 }
| int postgresiface2::modificacuenta | ( | int | idcuenta, | |
| QString | desccuenta, | |||
| QString | codigo, | |||
| bool | cimputacion, | |||
| bool | cbloqueada, | |||
| int | idgrupo, | |||
| bool | cactivo, | |||
| QString | nombreent, | |||
| QString | cifent, | |||
| QString | dir, | |||
| QString | cp, | |||
| QString | tel, | |||
| QString | comm, | |||
| QString | banco, | |||
| QString | email, | |||
| QString | web, | |||
| int | tipocuenta, | |||
| bool | cnodebe, | |||
| bool | cnohaber | |||
| ) |
| idcuenta | ||
| desccuenta | ||
| codigo | ||
| cimputacion | ||
| cbloqueada | ||
| idgrupo | ||
| cactivo | ||
| nombreent | ||
| cifent | ||
| dir | ||
| cp | ||
| tel | ||
| comm | ||
| banco | ||
| web | ||
| tipocuenta | ||
| cnodebe | ||
| cnohaber |
Definition at line 1019 of file postgresiface2.cpp.
References _depura(), and ejecuta().
01019 { 01020 _depura("postgresiface2::modificacuenta", 0); 01021 QString cadena; 01022 cadena.sprintf("%d", idcuenta); 01023 QString query = ""; 01024 QString bloqueada = cbloqueada ? (char *) "TRUE" : (char *) "FALSE"; 01025 QString activo = cactivo ? "TRUE" : "FALSE"; 01026 QString imputacion = cimputacion ? "TRUE" : "FALSE"; 01027 QString nodebe = cnodebe ? "TRUE" : "FALSE"; 01028 QString nohaber = cnohaber ? "TRUE" : "FALSE"; 01029 query.sprintf("UPDATE cuenta SET descripcion = '%s', codigo = '%s', imputacion = %s, bloqueada = %s, idgrupo = %d, activo = %s, nombreent_cuenta = '%s', cifent_cuenta = '%s', dirent_cuenta = '%s', cpent_cuenta = '%s', telent_cuenta = '%s', coment_cuenta = '%s', bancoent_cuenta = '%s', emailent_cuenta = '%s', webent_cuenta = '%s', tipocuenta = %d, nodebe = %s, nohaber = %s WHERE idcuenta = %d\n", desccuenta.toAscii().data(), codigo.toAscii().data(), imputacion.toAscii().data(), bloqueada.toAscii().data(),idgrupo, activo.toAscii().data(), nombreent.toAscii().data(), cifent.toAscii().data(), dir.toAscii().data(), cp.toAscii().data(), tel.toAscii().data(), comm.toAscii().data(), banco.toAscii().data(), email.toAscii().data(), web.toAscii().data(), tipocuenta,nodebe.toAscii().data(), nohaber.toAscii().data(), idcuenta); 01030 _depura(query); 01031 _depura("END postgresiface2::modificacuenta", 0); 01032 return (ejecuta(query)); 01033 }
| int postgresiface2::nuevacuenta | ( | QString | desccuenta, | |
| QString | codigo, | |||
| int | padre, | |||
| int | idgrupo, | |||
| QString | nombreent, | |||
| QString | cifent, | |||
| QString | dir, | |||
| QString | cp, | |||
| QString | tel, | |||
| QString | comm, | |||
| QString | banco, | |||
| QString | email, | |||
| QString | web, | |||
| int | tipocuenta, | |||
| bool | cnodebe, | |||
| bool | cnohaber | |||
| ) |
| desccuenta | ||
| codigo | ||
| padre | ||
| idgrupo | ||
| nombreent | ||
| cifent | ||
| dir | ||
| cp | ||
| tel | ||
| comm | ||
| banco | ||
| web | ||
| tipocuenta | ||
| cnodebe | ||
| cnohaber |
Definition at line 1056 of file postgresiface2.cpp.
References _depura(), ejecuta(), and sanearCadena().
01056 { 01057 _depura("postgresiface2::nuevacuenta", 0); 01058 QString query = ""; 01059 QString tpadre; 01060 if (padre == 0) { 01061 tpadre = "NULL"; 01062 } else { 01063 tpadre.sprintf("%d", padre); 01064 } // end if 01065 QString nodebe = cnodebe ? "TRUE" : "FALSE"; 01066 QString nohaber = cnohaber ? "TRUE" : "FALSE"; 01067 01068 query.sprintf("INSERT INTO cuenta (descripcion, padre,codigo, idgrupo, nombreent_cuenta, cifent_cuenta, dirent_cuenta, cpent_cuenta, telent_cuenta, coment_cuenta, bancoent_cuenta, emailent_cuenta, webent_cuenta, tipocuenta, nodebe, nohaber) VALUES('%s',%s,'%s',%d, '%s','%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %s, %s)", 01069 sanearCadena(desccuenta).toAscii().data(), 01070 sanearCadena(tpadre).toAscii().data(), 01071 sanearCadena(codigo).toAscii().data(), 01072 idgrupo, 01073 sanearCadena(nombreent).toAscii().data(), 01074 sanearCadena(cifent).toAscii().data(), 01075 sanearCadena(dir).toAscii().data(), 01076 sanearCadena(cp).toAscii().data(), 01077 sanearCadena(tel).toAscii().data() , 01078 sanearCadena(comm).toAscii().data(), 01079 sanearCadena(banco).toAscii().data(), 01080 sanearCadena(email).toAscii().data(), 01081 sanearCadena(web).toAscii().data(), 01082 tipocuenta, 01083 sanearCadena(nodebe).toAscii().data(), 01084 sanearCadena(nohaber).toAscii().data()); 01085 _depura("END postgresiface2::nuevacuenta", 0); 01086 return (ejecuta(query)); 01087 }
| cursor2 * postgresiface2::cargaempresas | ( | ) |
Carga en un query las empresas especificadas.
Definition at line 1094 of file postgresiface2.cpp.
References _depura(), and cargacursor().
01094 { 01095 _depura("postgresiface2::cargaempresas", 0); 01096 QString query; 01097 query = "SELECT * FROM empresa"; 01098 cursor2 *cur = cargacursor(query, "cargaempresas"); 01099 _depura("END postgresiface2::cargaempresas", 0); 01100 return cur; 01101 }
| QString postgresiface2::sanearCadena | ( | QString | cadena | ) | [static] |
Busca en una cadena código malicioso para SQL y lo elimina (previene el SQLInjection).
| cadena |
Reservamos (la función de postgres lo necesita) un buffer del doble de carácteres + 1 que la cadena original.
Definition at line 1111 of file postgresiface2.cpp.
References _depura().
Referenced by Asiento1_guardaAsiento1_post(), Asiento1View::asiento_apertura(), Asiento1View::asiento_cierre(), Asiento1View::asiento_regularizacion(), StructureParser::endElement(), linprevcobro::guardalinprevcobro(), TipoArticuloList::guardar(), FamiliasView::guardar(), BancoView::guardar(), FPagoView::guardar(), Asiento1View::iniciar_asiento_nuevo(), adocumental::newADocumental(), nuevacuenta(), nuevoborrador(), TrabajadorView::on_mui_guardar_clicked(), canalview::on_mui_guardar_clicked(), TrabajadorView_on_mui_guardar_clicked(), logpass::validar(), and DBCampo::valorcampoprep().
01111 { 01112 _depura("postgresiface2::sanearCadena", 0); 01113 int longitud = 0; 01114 char *buffer = ""; 01115 QString cadenaLimpia = ""; 01116 longitud = cadena.size(); 01119 buffer = (char *) malloc((sizeof(char) * longitud * 2) + 1); 01120 PQescapeString(buffer, cadena.toAscii().constData(), cadena.toAscii().size()); 01121 cadenaLimpia = QString::fromAscii(buffer); 01122 free(buffer); 01123 _depura("END postgresiface2::sanearCadena", 0); 01124 return cadenaLimpia; 01125 }
| void postgresiface2::terminar | ( | ) |
| QString postgresiface2::propiedadempresa | ( | QString | nombre | ) |
Devuelve el valor de una propiedad de la empresa Las propiedades de la empresa son valores asociados a esta de la forma Nombre = Valor. De esta forma se guardan datos como el nombre fiscal de la empresa, CIF, domicilio, etc.
| nombre | Nombre de la propiedad. |
Definition at line 1133 of file postgresiface2.cpp.
References _depura(), and conn.
Referenced by Mod300ps::rellena_identificacion().
01133 { 01134 _depura("postgresiface2::propiedadempresa", 0); 01135 PGresult *result; 01136 QString value; 01137 int num; 01138 QString Query = "select * from configuracion where nombre = '" + nombre + "'"; 01139 fprintf(stderr, "%s\n", Query.toAscii().data()); 01140 result = PQexec(conn, Query.toAscii().data()); 01141 if (!result || PQresultStatus(result) != PGRES_TUPLES_OK) { 01142 fprintf(stderr, "SQL command failed: %s\n", Query.toAscii().data()); 01143 fprintf(stderr, "%s\n", PQerrorMessage(conn)); 01144 PQclear(result); 01145 return ""; 01146 } // end if 01147 num = PQntuples(result); 01148 if (num > 1) { 01149 fprintf(stderr, "Aviso: Hay %d valores para el campo %s en la tabla configuracion\n", num, nombre.toAscii().data()); 01150 } // end if 01151 if (num == 0) { 01152 value = ""; 01153 } else { 01154 value = PQgetvalue(result, 0, 2); 01155 } // end if 01156 PQclear(result); 01157 _depura("END postgresiface2::propiedadempresa", 0); 01158 return value; 01159 }
| QString postgresiface2::searchParent | ( | QString | cod | ) |
Returns the parent of a determinated account code.
| cod |
Almacena el padre de la cuenta.
Definition at line 603 of file postgresiface2.cpp.
References _depura(), begin(), cargacursor(), commit(), cursor2::eof(), and cursor2::valor().
00603 { 00604 _depura("postgresiface2::searchParent", 0); 00605 QString padre = "NULL"; 00606 QString query; 00607 int i = 2; 00608 int fin = 0; 00609 while (!fin) { 00610 query = "SELECT * FROM cuenta WHERE codigo = '" + cod.left(i) + "'"; 00611 begin(); 00612 cursor2 *cur = cargacursor(query, "unquery"); 00613 commit(); 00614 if (!cur->eof()) { 00615 padre = cur->valor("codigo"); 00616 } else { 00617 fin = 1; 00618 } // end if 00619 delete cur; 00620 i++; 00621 } // end while 00622 _depura("END postgresiface2::searchParent", 0); 00623 return padre; 00624 }
| QString postgresiface2::nameDB | ( | ) |
Returns the name of the database opened, if none as open then returns "".
Definition at line 337 of file postgresiface2.cpp.
References _depura(), and dbName.
Referenced by Company::cargaConf(), Empresa::cargaConf(), EmpresaTPV::createMainWindows(), Company::createMainWindows(), Company::guardaConf(), Empresa::guardaConf(), and main().
00337 { 00338 _depura("postgresiface2::nameDB", 0); 00339 _depura("END postgresiface2::nameDB", 0); 00340 return dbName; 00341 }
| bool postgresiface2::has_table_privilege | ( | QString | tabla, | |
| QString | permiso | |||
| ) |
Returns table privileges of current user.
Comprueba si el usuario actual tiene permisos para actuar sobre una tabla y devuelve TRUE o FALSE.
| tabla | La tabla que se quiere consultar. | |
| permiso | El tipo de permiso "SELECT", "INSERT" o "UPDATE". |
Comprobamos que tengamos permisos para trabajar con articulos.
Definition at line 1167 of file postgresiface2.cpp.
References _depura(), cargacursor(), FALSE, TRUE, and cursor2::valor().
Referenced by Company::createMainWindows().
01167 { 01168 _depura("postgresiface2::has_table_privilege", 0); 01170 cursor2 *cur = cargacursor("SELECT has_table_privilege('" + tabla + "', '" + permiso + "') AS pins"); 01171 bool privileges = FALSE; 01172 if (cur) { 01173 if (cur->valor("pins") == "t") { 01174 privileges = TRUE; 01175 } // end if 01176 delete cur; 01177 } // end if 01178 _depura("END postgresiface2::has_table_privilege", 0); 01179 return privileges; 01180 }
QString postgresiface2::pghost [private] |
QString postgresiface2::pgport [private] |
Indica cual es el host de las bases de datos.
Definition at line 118 of file postgresiface2.h.
Referenced by inicializa().
QString postgresiface2::pgoptions [private] |
Indica por que puerto acceder a dicho host.
Definition at line 119 of file postgresiface2.h.
Referenced by inicializa().
QString postgresiface2::pgtty [private] |
Indica las opciones especiales que pueda tener la conexion.
Definition at line 120 of file postgresiface2.h.
Referenced by inicializa().
QString postgresiface2::dbName [private] |
Indica algunos parámetros de la conexión (Desgraciadamente no se cuales).
Definition at line 121 of file postgresiface2.h.
Referenced by inicializa(), and nameDB().
int postgresiface2::nFields [private] |
Indica el nombre de la base de datos con la que se conecta.
Definition at line 122 of file postgresiface2.h.
PGconn* postgresiface2::conn [private] |
Indica el número de campos que tiene algo (no se que).
Definition at line 123 of file postgresiface2.h.
Referenced by begin(), cargacursor(), commit(), ejecuta(), formatofecha(), inicializa(), propiedadempresa(), rollback(), terminar(), and ~postgresiface2().
int postgresiface2::open [private] |
bool postgresiface2::m_transaccion [private] |
Indica si el postgresiface esta abierto o no.
Definition at line 125 of file postgresiface2.h.
Referenced by begin(), commit(), postgresiface2(), and rollback().
1.5.1