postgresiface2 Class Reference

#include <postgresiface2.h>

Inheritance diagram for postgresiface2:

EmpresaBase Company Empresa EmpresaTPV

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.
cursor2cargacursor (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)
cursor2cargacuenta (int idcuenta, QString ccuenta="")
cursor2cargaasiento (int idasiento)
 Esta funcion carga de la base de datos el asiento con idasiento especificado.
cursor2cargaapuntes (int tidasiento)
cursor2cargaborradores (int tidasiento)
cursor2cargacuentas (int padre)
cursor2cargagrupos ()
 Esta funcion carga de la base de datos los grupos.
cursor2cargasaldoscuentafecha (int, QString)
cursor2cargaapuntesctafecha (int, QString, QString)
cursor2cargacuentascodigo (int, QString, QString)
cursor2cargaasientosfecha (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)
cursor2cargaempresas ()
 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.

Detailed Description

Definition at line 115 of file postgresiface2.h.


Constructor & Destructor Documentation

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 }


Member Function Documentation

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.

Parameters:
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.
Returns:
Si todo va bien devuelve 0, en caso contrario devuelve 1.

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.

Returns:
Si todo ha funcionado bien devuelve un 0, en caso contrario devuelve un 1.

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.

Returns:

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.

Returns:

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.

Parameters:
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.

Parameters:
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 
)

Parameters:
idcuenta 
idasiento 
concepto 
descripcion 
debe 
haber 
fecha 
idcontrapartida 
idtipoiva 
idccoste 
idcanal 
Returns:

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 
)

Parameters:
idborrador 
idcuenta 
idebe 
ihaber 
concepto 
fecha 
contrapartida 
idtipoiva 
idccoste 
idcanal 
Returns:

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 = "" 
)

Parameters:
idcuenta 
ccuenta 
Returns:

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.

Parameters:
idasiento 
Returns:

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  ) 

Parameters:
tidasiento 
Returns:

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  ) 

Parameters:
tidasiento 
Returns:

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  ) 

Parameters:
padre 
Returns:

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.

Returns:

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 
)

Parameters:
idcuenta 
fecha 
Returns:

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 
)

Parameters:
tidcuenta 
fechainicial 
fechafinal 
Returns:

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 
)

Parameters:
padre 
codigoinicial 
codigofinal 
Returns:

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.

Parameters:
fechini 
fechfin 
Returns:

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  ) 

Parameters:
idasiento 
Returns:

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  ) 

Parameters:
idasiento 
Returns:

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  ) 

Parameters:
idborrador 
Returns:

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  ) 

Parameters:
idasiento 
Returns:

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  ) 

Parameters:
idcuenta 
Returns:

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 
)

Parameters:
idcuenta 
desccuenta 
codigo 
cimputacion 
cbloqueada 
idgrupo 
cactivo 
nombreent 
cifent 
dir 
cp 
tel 
comm 
banco 
email 
web 
tipocuenta 
cnodebe 
cnohaber 
Returns:

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 
)

Parameters:
desccuenta 
codigo 
padre 
idgrupo 
nombreent 
cifent 
dir 
cp 
tel 
comm 
banco 
email 
web 
tipocuenta 
cnodebe 
cnohaber 
Returns:

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.

Returns:

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).

Parameters:
cadena 
Returns:

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 (  ) 

Finaliza la conexión con la base de datos.

Definition at line 357 of file postgresiface2.cpp.

References _depura(), and conn.

00357                               {
00358     _depura("postgresiface2::terminar", 0);
00359     PQfinish(conn);
00360     _depura("END postgresiface2::terminar", 0);
00361 }

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.

Parameters:
nombre Nombre de la propiedad.
Returns:
Valor 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.

Parameters:
cod 
Returns:

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 "".

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.

Parameters:
tabla La tabla que se quiere consultar.
permiso El tipo de permiso "SELECT", "INSERT" o "UPDATE".
Returns:
TRUE si se tiene permiso, FALSE si no se lo tiene.

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 }


Field Documentation

QString postgresiface2::pghost [private]

Definition at line 117 of file postgresiface2.h.

Referenced by inicializa().

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]

Representa la conexión.

Definition at line 124 of file postgresiface2.h.

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().


The documentation for this class was generated from the following files:
Generated on Sat Dec 15 00:02:06 2007 for BulmaGes by  doxygen 1.5.1