DBRecord Class Reference

#include <dbrecord.h>

Inheritance diagram for DBRecord:

Ficha Iva PromedioView SDBRecord Ticket cobropagoview FichaBc FichaBf PaisView TipoArticuloList AmortizacionView aplinteligentesview Asiento1 BalanceTreeView BalanceView BbloqFecha canalview CAnualesView ccosteview CuentaView DiarioView extractoview1 fpagoview listcuentasview1 propiedadesempresa ProyectoView RegistroIva tipoivaview AlbaranClienteView AlbaranProveedorView AlmacenView ArticuloView BancoView ClienteView CobroView ComercialClienteView Contrato Cuadrante1View CuadranteView EFactura EFacturaRecepcion FacturaProveedorView FacturaView FamiliasView FPagoView IncidenciaComercial Inventario ListAlmacenView ListConfiguracionView ListSerieFacturaView ListTasaIVAView ListTipoIVAView ListTiposTrabajoView ListZonaComercialView MovimientosView PagoView PedidoClienteView PedidoProveedorView PresupuestoView ProveedorView RutaComercial RutaComercialIncView TarifaListView TarifaView TrabajadorView VehiculoView ZView

Public Member Functions

 DBRecord (postgresiface2 *)
virtual ~DBRecord ()
void setconexionbase (postgresiface2 *comp)
postgresiface2conexionbase ()
int DBload (cursor2 *)
virtual int DBsave (QString &id)
virtual int setDBvalue (QString, QString)
QString DBvalue (QString)
bool exists (QString)
QString DBvalueprep (QString)
void setDBTableName (QString nom)
void setNuevo (bool n)
QString tableName ()
QString campoId ()
void setDBCampoId (QString nom)
int addDBCampo (QString, DBCampo::dbtype, int, QString)
void DBclear ()
QList< DBCampo * > * lista ()
virtual int borrar ()
virtual int guardar ()
virtual void vaciar ()
virtual void imprimir ()
virtual int cargar (QString)
 Esta funcion carga un articulo.

Protected Attributes

QList< DBCampo * > m_lista
postgresiface2m_conexionbase
QString m_tablename
QString m_campoid
bool m_nuevoCampo

Detailed Description

Definition at line 65 of file dbrecord.h.


Constructor & Destructor Documentation

DBRecord::DBRecord ( postgresiface2 con  ) 

Parameters:
con 

Definition at line 319 of file dbrecord.cpp.

References _depura(), m_conexionbase, m_nuevoCampo, and TRUE.

Referenced by Ticket::agregarLinea().

00319                                       {
00320     _depura("DBRecord::DBRecord", 0);
00321     m_conexionbase = con;
00322     m_nuevoCampo = TRUE;
00323     _depura("END DBRecord::DBRecord", 0);
00324 }

DBRecord::~DBRecord (  )  [virtual]

Definition at line 330 of file dbrecord.cpp.

References _depura(), and m_lista.

00330                     {
00331     _depura("DBRecord::~DBRecord", 0);
00332     m_lista.clear();
00333     _depura("END DBRecord::~DBRecord", 0);
00334 }


Member Function Documentation

void DBRecord::setconexionbase ( postgresiface2 comp  ) 

Parameters:
comp 

Definition at line 221 of file dbrecord.cpp.

References _depura(), and m_conexionbase.

00221                                                    {
00222     _depura("DBRecord::setconexionbase", 0);
00223     m_conexionbase = comp;
00224     _depura("END DBRecord::setconexionbase", 0);
00225 }

postgresiface2 * DBRecord::conexionbase (  ) 

Returns:

Definition at line 232 of file dbrecord.cpp.

References _depura(), and m_conexionbase.

00232                                        {
00233     _depura("DBRecord::conexionbase", 0);
00234     _depura("END DBRecord::conexionbase", 0);
00235     return m_conexionbase;
00236 }

int DBRecord::DBload ( cursor2 cur  ) 

Parameters:
cur 
Returns:

Al ser una carga consideramos que los cambios estan inicializados.

Definition at line 341 of file dbrecord.cpp.

References _depura(), DBCampo::DBDupPrimaryKey, DBCampo::DBNoLoad, DBCampo::DBPrimaryKey, FALSE, m_lista, m_nuevoCampo, DBCampo::nomcampo(), DBCampo::resetCambio(), DBCampo::restrictcampo(), DBCampo::set(), TRUE, and cursor2::valor().

Referenced by SubForm3::cargar(), cargar(), Inventario::cargar(), Contrato::cargar(), RutaComercial::cargar(), IncidenciaComercial::cargar(), Asiento1::cargar(), RegistroIva::cargar(), Ticket::guardar(), and Iva::Iva().

00341                                  {
00342     _depura("DBRecord::DBload", 0);
00343     m_nuevoCampo = FALSE;
00344 
00345     DBCampo *campo;
00346     int error = 0;
00347     for (int i = 0; i < m_lista.size(); ++i) {
00348         campo = m_lista.at(i);
00349         if (! (campo->restrictcampo() & DBCampo::DBNoLoad)) {
00350             QString nom = campo->nomcampo();
00351             QString val = cur->valor(nom);
00352             if ((campo->restrictcampo() & DBCampo::DBPrimaryKey) && (val == ""))
00353                 m_nuevoCampo = TRUE;
00354             if ((campo->restrictcampo() & DBCampo::DBDupPrimaryKey) && (val == ""))
00355                 m_nuevoCampo = TRUE;
00356             error += campo->set(val);
00358             campo->resetCambio();
00359         } // end if
00360     } // end for
00361     _depura("END DBRecord::DBload", 0);
00362     return error;
00363 }

int DBRecord::DBsave ( QString &  id  )  [virtual]

Parameters:
id 

Si el campo esta en DupPrimaryKey lo ponemos en query.

Si el campo es requerido y no esta entonces salimos sin dar error. No es lo mismo que los not null ya que estos si dan error

Si es el ID entonces lo asignamos porque ya tiene el valor correspondiente.

Reimplemented in SDBRecord.

Definition at line 386 of file dbrecord.cpp.

References _depura(), postgresiface2::cargacursor(), DBCampo::DBDupPrimaryKey, DBCampo::DBNoSave, DBCampo::DBPrimaryKey, DBCampo::DBRequired, postgresiface2::ejecuta(), FALSE, m_campoid, m_conexionbase, m_lista, m_nuevoCampo, m_tablename, DBCampo::nomcampo(), DBCampo::nompresentacion(), DBCampo::restrictcampo(), cursor2::valor(), DBCampo::valorcampo(), and DBCampo::valorcampoprep().

Referenced by SDBRecord::DBsave(), Iva::guardaIva(), Ticket::guardar(), PaisView::guardar(), Ficha::guardar(), guardar(), VehiculoView::guardar(), Inventario::guardar(), Contrato::guardar(), Asiento1::guardar(), AmortizacionView::guardar(), and RegistroIva::guardar().

00386                                 {
00387     _depura("DBRecord::DBsave - " + id, 0);
00388     try {
00389         DBCampo *campo;
00390         QString listcampos = "";
00391         QString listvalores = "";
00392         QString queryupdate = "";
00393         QString separador = "";
00394         QString separador1 = "";
00395         QString separadorwhere = "";
00396         QString querywhere = "";
00397         int err = 0;
00398         for (int i = 0; i < m_lista.size(); ++i) {
00399             campo = m_lista.at(i);
00400 
00402             if (campo->restrictcampo() & DBCampo::DBDupPrimaryKey) {
00403                 QString lin = campo->valorcampoprep(err);
00404                 if (err)
00405                     throw (-1);
00406                 querywhere += separadorwhere + campo->nompresentacion() + " = " + lin;
00407                 separadorwhere = " AND ";
00408             } // end if
00409 
00412             if (!(campo->restrictcampo() & DBCampo::DBNoSave)) {
00413                 if (campo->restrictcampo() & DBCampo::DBRequired) {
00414                     if (campo->valorcampo() == "")
00415                         return 0;
00416                 } // end if
00417                 if (campo->restrictcampo() & DBCampo::DBPrimaryKey) {
00418                     QString lin = campo->valorcampoprep(err);
00419                     if (err)
00420                         throw -1;
00421                     querywhere += separadorwhere + campo->nomcampo() + " = " + lin;
00422                     separadorwhere = " AND ";
00423                 } // end if
00424                 if (campo->valorcampoprep(err) != "") {
00425                     queryupdate += separador1 + campo->nomcampo() + "=" + campo->valorcampoprep(err);
00426                     separador1 = ", ";
00427                 } // end if
00428                 if (err)
00429                     throw -1;
00430                 if ((campo->valorcampoprep(err) != "NULL") && (campo->valorcampoprep(err) != "")) {
00431                     listcampos += separador + campo->nomcampo();
00432                     listvalores += separador + campo->valorcampoprep(err);
00433                     if (err)
00434                         throw -1;
00435                     separador = ", ";
00436                 } // end if
00438                 if (m_campoid == campo->nomcampo()) {
00439                     id = campo->valorcampo();
00440                 } // end if
00441             } // end if
00442         } // end for
00443         if (m_nuevoCampo) {
00444             QString query = "INSERT INTO " + m_tablename + " (" + listcampos + ") VALUES (" + listvalores + ")";
00445             m_conexionbase->ejecuta(query);
00446             _depura(query, 0);
00447             cursor2 *cur = m_conexionbase->cargacursor("SELECT " + m_campoid + " FROM " + m_tablename + " ORDER BY " + m_campoid + " DESC LIMIT 1");
00448             id = cur->valor(m_campoid);
00449             delete cur;
00450         } else {
00451             QString query = "UPDATE " + m_tablename + " SET " + queryupdate + " WHERE " + querywhere;
00452             _depura(query, 0);
00453             m_conexionbase->ejecuta(query);
00454         } // end if
00455         m_nuevoCampo = FALSE;
00456         return 0;
00457     } catch (...) {
00458         _depura("EXCEPTION DBRecord::DBsave", 0);
00459         throw -1;
00460     } // end try
00461     _depura("END DBRecord::DBSave", 0);
00462 }

int DBRecord::setDBvalue ( QString  nomb,
QString  valor 
) [virtual]

Parameters:
nomb 
valor 
Returns:

Definition at line 471 of file dbrecord.cpp.

References _depura(), m_lista, DBCampo::nomcampo(), and DBCampo::set().

Referenced by Ticket::agregarCantidad(), AlbaranClienteView::agregarFactura(), Ticket::agregarLinea(), TarifaView::cargar(), EmpresaTPV::cobrar(), PagosList::crear(), CobrosList::crear(), ListCompArticuloView::editFinished(), PedidoProveedorView::generarAlbaran(), PedidoClienteView::generarAlbaran(), AlbaranClienteView::generarFactura(), AlbaranProveedorView::generarFacturaProveedor(), PresupuestoView::generarPedidoCliente(), Iva::guardaIva(), Ticket::guardar(), SubForm3::guardar(), PaisView::guardar(), Ficha::guardar(), guardar(), VehiculoView::guardar(), TarifaView::guardar(), ContratoView::guardar(), Contrato::guardar(), RutaComercialView::guardar(), IncidenciaComercialView::guardar(), AmortizacionView::guardar(), EFQToolButtonImportar::importa_factura_ubl(), Ticket::insertarArticulo(), FacturaView::on_mui_agregaralbaran_clicked(), Abrevs::on_mui_aparcar_clicked(), AmortizacionView::on_mui_btcalcular_clicked(), Abrevs::on_mui_cliente_clicked(), PedidoClienteView::on_mui_cobrar_clicked(), FacturaView::on_mui_cobrar_clicked(), AlbaranClienteView::on_mui_cobrar_clicked(), ContratoView::on_mui_facturar_clicked(), Asiento1View::on_mui_fecha_returnPressed(), RegistroIvaView::on_mui_generarPrevisiones_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(), PedidoProveedorView::on_mui_pagar_clicked(), AlbaranProveedorView::on_mui_pagar_clicked(), myplugclipboard::pegaODS(), myplugclipboard::pegaSXC(), Ticket::ponerCantidad(), Ticket::ponerPrecio(), Asiento1View::prepguardar(), ListCompArticuloView::pressedAsterisk(), FacturaProveedorView::s_nuevoPago(), RegistroIva::setbaseimp(), Iva::setbaseiva(), RegistroIva::setcif(), SubForm3::setColumnValue(), RegistroIva::setcontrapartida(), SubForm3::setDBvalue(), RegistroIva::setfactemitida(), RegistroIva::setfactura(), Inventario::setfechainventario(), RegistroIva::setfemisionregistroiva(), RegistroIva::setffactura(), Asiento1::setidasiento(), RegistroIva::setidborrador(), SubForm2Bt::setIdCliente(), SubForm2Bf::setIdCliente(), RegistroIva::setidfpago(), Inventario::setidinventario(), Iva::setidiva(), SubForm2Bt::setIdProveedor(), SubForm2Bf::setIdProveedor(), RegistroIva::setidregistroiva(), Iva::setidregistroiva(), Iva::setidtipoiva(), RegistroIva::setincregistro(), RegistroIva::setiva(), Iva::setivaiva(), Inventario::setnominventario(), RegistroIva::setnumorden(), RegistroIva::setplan349(), RegistroIva::setrectificaaregistroiva(), RegistroIva::setregularizacion(), RegistroIva::setserieregistroiva(), Ticket::Ticket(), and Trabajadores::trabajadorClicked().

00471                                                     {
00472     _depura("DBRecord::setDBvalue", 0);
00473     DBCampo *campo;
00474     int error = 0;
00475     int i = 0;
00476     campo = m_lista.value(i);
00477     while (campo && campo->nomcampo() != nomb)
00478         campo = m_lista.value(++i) ;
00479     if (!campo) {
00480         _depura("Campo " + nomb + " no encontrado", 2);
00481         return -1;
00482     } // end if
00483     if (campo->nomcampo() == nomb)
00484         error = campo->set(valor);
00485     _depura("END DBRecord::setDBvalue", 0);
00486     return error;
00487 }

QString DBRecord::DBvalue ( QString  nomb  ) 

Parameters:
nomb 
Returns:

Definition at line 495 of file dbrecord.cpp.

References _depura(), m_lista, DBCampo::nomcampo(), and DBCampo::valorcampo().

Referenced by Asiento1::abrir(), Ticket::agregarCantidad(), AlbaranClienteView::agregarFactura(), ArticuloView_cargar(), ArticuloView_guardar_post(), Asiento1_guardaAsiento1_post(), RegistroIva::baseimp(), Iva::baseiva(), Inventario::borrar(), Contrato::borrar(), Asiento1::borrar(), RegistroIva::borrar(), Iva::borrar(), FichaBf::calculaypintatotales(), Ficha::cargar(), VehiculoView::cargar(), TarifaView::cargar(), ContratoView::cargar(), RutaComercialView::cargar(), RutaComercialIncView::cargar(), IncidenciaComercialView::cargar(), IncidenciaComercial::cargar(), AmortizacionView::cargar(), ProveedorView::cargarPost(), ProyectoView::cargarPost(), Asiento1::cerrar(), RegistroIva::cif(), TicketQToolButton::click(), ImpQToolButton::click(), EFQToolButton::click(), EmpresaTPV::cobrar(), Iva::codigo(), RegistroIva::contrapartida(), SubForm3::DBvalue(), PresupuestoView::detalleArticulos(), Asiento1::estadoAsiento1(), EFQToolButton::exporta_factura_ubl(), RegistroIva::factemitida(), RegistroIva::factura(), RegistroIva::femisionregistroiva(), RegistroIva::ffactura(), Ficha_cargar(), Ficha_guardar_Post(), PedidoProveedorView::generarAlbaran(), PedidoClienteView::generarAlbaran(), AlbaranClienteView::generarFactura(), AlbaranProveedorView::generarFacturaProveedor(), FichaBf::generaRML(), PresupuestoView::generarPedidoCliente(), TarifaView::guardar(), RegistroIvaView::guardar(), PresupuestoView::guardarPost(), PedidoProveedorView::guardarPost(), PedidoClienteView::guardarPost(), FacturaView::guardarPost(), FacturaProveedorView::guardarPost(), ArticuloView::guardarPost(), AlbaranProveedorView::guardarPost(), AlbaranClienteView::guardarPost(), Cuadrante1View::guardarPost(), ProyectoView::guardarPost(), Asiento1::idasiento(), RegistroIva::idborrador(), Iva::idcuenta(), RegistroIva::idfpago(), Iva::idiva(), RegistroIva::idregistroiva(), Iva::idregistroiva(), Iva::idtipoiva(), Ticket::imprimir(), PedidoProveedorView::imprimir(), FacturaProveedorView::imprimirFacturaProveedor(), RegistroIva::incregistro(), Ticket::insertarArticulo(), RegistroIva::iva(), Iva::ivaiva(), PaisView::mostrarplantilla(), Iva::nombretipoiva(), RegistroIva::numorden(), TarifaView::on_mui_actualizar_clicked(), FacturaView::on_mui_agregaralbaran_clicked(), Abrevs::on_mui_aparcar_clicked(), InventarioView::on_mui_borrar2_clicked(), TarifaView::on_mui_borrar_clicked(), PedidoClienteView::on_mui_cobrar_clicked(), FacturaView::on_mui_cobrar_clicked(), AlbaranClienteView::on_mui_cobrar_clicked(), ArticuloView::on_mui_codigocompletoarticulo_editingFinished(), ContratoView::on_mui_facturar_clicked(), CobroView::on_mui_imprimir_clicked(), ClienteView::on_mui_informe_clicked(), SubForm2Bf::on_mui_list_pressedMinus(), PedidoProveedorView::on_mui_pagar_clicked(), AlbaranProveedorView::on_mui_pagar_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(), Inventario::pintaInventario(), MTicket::pintar(), TarifaView::pintar(), Contrato::pintar(), Asiento1::pintar(), RegistroIva::pintaRegistroIva(), RegistroIva::plan349(), RegistroIva::rectificaaregistroiva(), RegistroIva::regularizacion(), FacturaProveedorView::s_nuevoPago(), AlbaranClienteView::s_verpresupuesto(), RegistroIva::serieregistroiva(), SubForm2Bf_on_mui_list_editFinished(), SubForm3::sumarCampo(), Ticket_pintar(), Tickets::ticketClicked(), Tickets::Tickets(), Trabajadores::trabajadorClicked(), Ficha::trataExists(), Ficha::trataIfQuery(), FichaBf::trataLineasDescuento(), FichaBf::trataLineasDetalle(), Ficha::trataQuery(), Ficha::trataTags(), and FichaBf::trataTotales().

00495                                       {
00496     _depura("DBRecord::value", 0, nomb);
00497     DBCampo *campo;
00498     int i = 0;
00499     campo = m_lista.value(i);
00500     while (campo && campo->nomcampo() != nomb)
00501         campo = m_lista.value(++i);
00502     if (!campo) {
00503         _depura("Campo " + nomb + " no encontrado", 2);
00504         return "";
00505     } // end if
00506     if (campo->nomcampo() == nomb) {
00507         return campo->valorcampo();
00508     } // end if
00509     _depura("END DBRecord::value", 0, nomb);
00510     return "";
00511 }

bool DBRecord::exists ( QString  nomb  ) 

Parameters:
nomb 
Returns:

Definition at line 519 of file dbrecord.cpp.

References _depura(), FALSE, m_lista, DBCampo::nomcampo(), and TRUE.

Referenced by FichaBf::calculaypintatotales(), Ficha::cargaSpecs(), FichaBf::generaRML(), SubForm2Bc::on_mui_list_cellChanged(), SubForm2Bc::on_mui_list_pressedAsterisk(), Ficha::trataExists(), Ficha::trataIfQuery(), FichaBf::trataLineasDescuento(), FichaBf::trataLineasDetalle(), Ficha::trataQuery(), Ficha::trataTags(), and FichaBf::trataTotales().

00519                                   {
00520     _depura("DBRecord::exists", 0, nomb);
00521     DBCampo *campo;
00522     int i = 0;
00523     campo = m_lista.value(i);
00524     while (campo && campo->nomcampo() != nomb)
00525         campo = m_lista.value(++i);
00526     if (!campo) {
00527         return FALSE;
00528     } // end if
00529     if (campo->nomcampo() == nomb) {
00530         return TRUE;
00531     } // end if
00532     _depura("END DBRecord::exists", 0, nomb);
00533     return FALSE;
00534 }

QString DBRecord::DBvalueprep ( QString  nomb  ) 

Parameters:
nomb 
Returns:

Definition at line 542 of file dbrecord.cpp.

References _depura(), m_lista, mensajeAviso(), DBCampo::nomcampo(), and DBCampo::valorcampoprep().

00542                                           {
00543     _depura("DBRecord::DBvalueprep", 0);
00544     DBCampo *campo;
00545     int i = 0;
00546     campo = m_lista.value(i);
00547     while (campo && campo->nomcampo() != nomb)
00548         campo = m_lista.value(++i);
00549     if (!campo) {
00550         mensajeAviso("No se ha encontrado el campo '" + nomb + "'.");
00551         return "";
00552     } // end if
00553     if (campo->nomcampo() == nomb) {
00554         int err;
00555         return campo->valorcampoprep(err);
00556     } // end if
00557     _depura("END DBRecord::DBvalueprep", 0);
00558     return "";
00559 }

void DBRecord::setDBTableName ( QString  nom  ) 

Parameters:
nom 

Reimplemented in Ficha.

Definition at line 243 of file dbrecord.cpp.

References _depura(), and m_tablename.

Referenced by Ticket::agregarLinea(), SubForm3::borrar(), Iva::definetabla(), SubForm3::newSDBRecord(), Ficha::setDBTableName(), and Ticket::Ticket().

00243                                          {
00244     _depura("DBRecord::setDBTableName", 0);
00245     m_tablename = nom;
00246     _depura("END DBRecord::setDBTableName", 0);
00247 }

void DBRecord::setNuevo ( bool  n  ) 

Parameters:
n 

Definition at line 254 of file dbrecord.cpp.

References _depura(), and m_nuevoCampo.

Referenced by SubForm3::borrar().

00254                               {
00255     _depura("DBRecord::setNuevo", 0);
00256     m_nuevoCampo = n;
00257     _depura("END DBRecord::setNuevo", 0);
00258 }

QString DBRecord::tableName (  ) 

Returns:

Definition at line 265 of file dbrecord.cpp.

References _depura(), and m_tablename.

Referenced by SubForm3::borrar(), FichaCfg::FichaCfg(), Ficha::meteWindow(), EQToolButton::pintaMenu(), and EQToolButton::trataMenu().

00265                             {
00266     _depura("DBRecord::tableName", 0);
00267     _depura("END DBRecord::tableName", 0);
00268     return m_tablename;
00269 }

QString DBRecord::campoId (  ) 

Returns:

Definition at line 276 of file dbrecord.cpp.

References _depura(), and m_campoid.

Referenced by SubForm3::borrar(), and FichaCfg::FichaCfg().

00276                           {
00277     _depura("DBRecord::campoId", 0);
00278     _depura("END DBRecord::campoId", 0);
00279     return m_campoid;
00280 }

void DBRecord::setDBCampoId ( QString  nom  ) 

Parameters:
nom 

Definition at line 287 of file dbrecord.cpp.

References _depura(), and m_campoid.

Referenced by Ticket::agregarLinea(), AlbaranClienteView::AlbaranClienteView(), AlbaranProveedorView::AlbaranProveedorView(), AlmacenView::AlmacenView(), AmortizacionView::AmortizacionView(), ArticuloView::ArticuloView(), Asiento1::Asiento1(), SubForm3::borrar(), ccosteview::ccosteview(), ClienteView::ClienteView(), CobroView::CobroView(), Contrato::Contrato(), Cuadrante1View::Cuadrante1View(), CuentaView::CuentaView(), Iva::definetabla(), FacturaProveedorView::FacturaProveedorView(), FacturaView::FacturaView(), IncidenciaComercial::IncidenciaComercial(), Inventario::Inventario(), ListConfiguracionView::ListConfiguracionView(), SubForm3::newSDBRecord(), PagoView::PagoView(), PaisView::PaisView(), PedidoClienteView::PedidoClienteView(), PedidoProveedorView::PedidoProveedorView(), PresupuestoView::PresupuestoView(), ProveedorView::ProveedorView(), ProyectoView::ProyectoView(), RegistroIva::RegistroIva(), RutaComercial::RutaComercial(), TarifaView::TarifaView(), Ticket::Ticket(), VehiculoView::VehiculoView(), and ZView::ZView().

00287                                        {
00288     _depura("DBRecord::setDBCampoId", 0);
00289     m_campoid = nom;
00290     _depura("END DBRecord::setDBCampoId", 0);
00291 }

int DBRecord::addDBCampo ( QString  nom,
DBCampo::dbtype  typ,
int  res,
QString  nomp = "" 
)

Parameters:
nom 
typ 
res 
nomp 
Returns:

Reimplemented in SDBRecord.

Definition at line 570 of file dbrecord.cpp.

References _depura(), m_conexionbase, m_lista, and DBCampo::set().

Referenced by Ticket::agregarLinea(), AlbaranClienteView::AlbaranClienteView(), AlbaranProveedorView::AlbaranProveedorView(), AlmacenView::AlmacenView(), AlmacenView_AlmacenView(), AmortizacionView::AmortizacionView(), ArticuloView::ArticuloView(), Asiento1::Asiento1(), Ficha::cargaSpecs(), ccosteview::ccosteview(), ClienteView::ClienteView(), ClienteView_ClienteView(), ClienteView_ClienteView_Post(), CobroView::CobroView(), Contrato::Contrato(), Cuadrante1View::Cuadrante1View(), CuentaView::CuentaView(), Iva::definetabla(), FacturaProveedorView::FacturaProveedorView(), FacturaView::FacturaView(), IncidenciaComercial::IncidenciaComercial(), Inventario::Inventario(), PagoView::PagoView(), PaisView::PaisView(), PedidoClienteView::PedidoClienteView(), PedidoProveedorView::PedidoProveedorView(), PresupuestoView::PresupuestoView(), ProveedorView::ProveedorView(), ProyectoView::ProyectoView(), RegistroIva::RegistroIva(), RutaComercial::RutaComercial(), TarifaView::TarifaView(), Ticket::Ticket(), TrabajadorView_TrabajadorView_Post(), VehiculoView::VehiculoView(), and ZView::ZView().

00570                                                                                    {
00571     _depura("DBRecord::addDBCampo", 0);
00572     DBCampo *camp = new DBCampo(m_conexionbase, nom, typ, res, nomp);
00573     camp->set
00574     ("");
00575     m_lista.append(camp);
00576     _depura("END DBRecord::addDBCampo", 0);
00577     return 0;
00578 }

void DBRecord::DBclear (  ) 

Definition at line 369 of file dbrecord.cpp.

References _depura(), m_lista, m_nuevoCampo, DBCampo::set(), and TRUE.

Referenced by Contrato::vaciaContrato(), Inventario::vaciaInventario(), Iva::vaciaIva(), vaciar(), Asiento1::vaciar(), and RegistroIva::vaciaRegistroIva().

00369                        {
00370     _depura("DBRecord::DBclear", 0);
00371     m_nuevoCampo = TRUE;
00372     DBCampo *campo;
00373     for(int i = 0; i < m_lista.size(); ++i) {
00374         campo = m_lista.at(i);
00375         campo->set
00376         ("");
00377     } // end for
00378     _depura("END DBRecord::DBclear", 0);
00379 }

QList< DBCampo * > * DBRecord::lista (  ) 

Returns:

Definition at line 298 of file dbrecord.cpp.

References _depura(), and m_lista.

Referenced by SubForm3::borrar(), SubForm3::cargar(), FichaCfg::FichaCfg(), SubForm3::newSDBRecord(), SubForm3::nuevoRegistro(), and SubForm3::ponItemColorFondo().

00298                                   {
00299     _depura("DBRecord::lista", 0);
00300     _depura("END DBRecord::lista", 0);
00301     return &m_lista;
00302 }

int DBRecord::borrar (  )  [virtual]

Returns:

Reimplemented in Iva, RegistroIva, RegistroIvaView, AmortizacionView, Contrato, ContratoView, Inventario, FamiliasView, and Ficha.

Definition at line 585 of file dbrecord.cpp.

References _depura(), DBCampo::DBDupPrimaryKey, DBCampo::DBNoSave, DBCampo::DBPrimaryKey, postgresiface2::ejecuta(), FALSE, m_conexionbase, m_lista, m_nuevoCampo, m_tablename, mensajeInfo(), DBCampo::nomcampo(), DBCampo::nompresentacion(), DBCampo::restrictcampo(), and DBCampo::valorcampoprep().

Referenced by SubForm3::borrar(), Ficha::borrar(), Contrato::borrar(), Ticket::borrarArticulo(), and SubForm3::guardar().

00585                      {
00586     _depura("DBRecord::borrar", 0);
00587     try {
00588         DBCampo *campo;
00589         QString separadorwhere = "";
00590         QString querywhere = "";
00591 
00592         for (int i = 0; i < m_lista.size(); ++i) {
00593             campo = m_lista.at(i);
00594             if (campo->restrictcampo() & DBCampo::DBDupPrimaryKey) {
00595                 int err;
00596                 QString lin = campo->valorcampoprep(err);
00597                 if (err)
00598                     throw -1;
00599                 querywhere += separadorwhere + campo->nompresentacion() + " = " + lin;
00600                 separadorwhere = " AND ";
00601             } // end if
00602 
00603             if (!(campo->restrictcampo() & DBCampo::DBNoSave)) {
00604                 if (campo->restrictcampo() & DBCampo::DBPrimaryKey) {
00605                     int err;
00606                     QString lin = campo->valorcampoprep(err);
00607                     if (err)
00608                         throw -1;
00609                     querywhere += separadorwhere + campo->nomcampo() + " = " + lin;
00610                     separadorwhere = " AND ";
00611                 } // end if
00612             } // end if
00613         } // end for
00614 
00615         if (m_nuevoCampo == FALSE) {
00616             m_conexionbase->ejecuta("DELETE FROM " + m_tablename + " WHERE " + querywhere);
00617         } // end if
00618 
00619         _depura("END DBRecord::borrar", 0);
00620         return 0;
00621     } catch (...) {
00622         mensajeInfo("se produjo un error al borrar el elemento");
00623         _depura("DBRecord::borrar() Error al borrar elemento", 3);
00624         throw -1;
00625     }
00626 }

int DBRecord::guardar (  )  [virtual]

Returns:

Reimplemented in RegistroIva, RegistroIvaView, AmortizacionView, Asiento1, ccosteview, extractoview1, fpagoview, IncidenciaComercialView, RutaComercialView, Contrato, ContratoView, Inventario, TarifaView, VehiculoView, BancoView, FamiliasView, FPagoView, TipoArticuloList, Ficha, PaisView, and Ticket.

Definition at line 633 of file dbrecord.cpp.

References _depura(), DBsave(), m_campoid, mensajeError(), and setDBvalue().

Referenced by SubForm3::guardar(), and TarifaView::guardar().

00633                       {
00634     _depura("DBRecord::guardar", 0);
00635     QString id;
00636     try {
00637         DBsave(id);
00638         setDBvalue(m_campoid, id);
00639         _depura("END DBRecord::guardar", 0);
00640         return 0;
00641     } catch (...) {
00642         mensajeError("DBRecord:: Se ha producido un error al guardar los datos.");
00643         throw -100;
00644     } // end try
00645 }

void DBRecord::vaciar (  )  [virtual]

Reimplemented in Asiento1, and extractoview1.

Definition at line 308 of file dbrecord.cpp.

References _depura(), and DBclear().

Referenced by TarifaView::on_mui_crear_clicked().

00308                       {
00309     _depura("DBRecord::vaciar", 0);
00310     DBclear();
00311     _depura("END DBRecord::vaciar", 0);
00312 }

void DBRecord::imprimir (  )  [virtual]

Reimplemented in BalanceView, CAnualesView, BancoView, FichaBf, PedidoProveedorView, TrabajadorView, and Ticket.

Definition at line 670 of file dbrecord.cpp.

References _depura(), CONF_DIR_OPENREPORTS, CONF_DIR_USER, confpr, invocaPDF(), m_lista, m_tablename, DBCampo::nomcampo(), DBCampo::nompresentacion(), configuracion::valor(), and DBCampo::valorcampo().

Referenced by Ficha::on_customContextMenuRequested(), and Ficha::on_mui_imprimir_clicked().

00670                         {
00672 
00673     _depura("DBRecord::imprimir", 0);
00674     DBCampo *campo;
00675     QString archivo = confpr->valor(CONF_DIR_OPENREPORTS) + "ficha.rml";
00676     QString archivod = confpr->valor(CONF_DIR_USER) + "ficha.rml";
00677     QString archivologo = confpr->valor(CONF_DIR_OPENREPORTS) + "logo.jpg";
00678 
00680 #ifdef WINDOWS
00681 
00682     archivo = "copy " + archivo + " " + archivod;
00683 #else
00684 
00685     archivo = "cp " + archivo + " " + archivod;
00686 #endif
00687 
00688     system (archivo.toAscii().constData());
00689 
00691 #ifdef WINDOWS
00692 
00693     archivologo = "copy " + archivologo + " " + confpr->valor(CONF_DIR_USER) + "logo.jpg";
00694 #else
00695 
00696     archivologo = "cp " + archivologo + " " + confpr->valor(CONF_DIR_USER) + "logo.jpg";
00697 #endif
00698 
00699     system(archivologo.toAscii().constData());
00700 
00701     QFile file;
00702     file.setFileName(archivod);
00703     file.open(QIODevice::ReadOnly);
00704     QTextStream stream(&file);
00705     QString buff = stream.readAll();
00706     file.close();
00707     QString fitxersortidatxt = "";
00708 
00710     for (int i = 0; i < m_lista.size(); ++i) {
00711         campo = m_lista.at(i);
00712         fitxersortidatxt += "<tr>\n";
00713         fitxersortidatxt += "   <td>" + campo->nomcampo() + "</td>\n";
00714         fitxersortidatxt += "   <td>" + campo->nompresentacion() + "</td>\n";
00715         fitxersortidatxt += "   <td>" + campo->valorcampo() + "</td>\n";
00716         fitxersortidatxt += "</tr>";
00717     } // end for
00718 
00719     buff.replace("[ficha]", m_tablename);
00720     buff.replace("[story]", fitxersortidatxt);
00721 
00722     if (file.open(QIODevice::WriteOnly)) {
00723         QTextStream stream(&file);
00724         stream << buff;
00725         file.close();
00726     } // end if
00727 
00728     invocaPDF("ficha");
00729     _depura("END DBRecord::imprimir", 0);
00730 }

int DBRecord::cargar ( QString  id  )  [virtual]

Esta funcion carga un articulo.

Parameters:
id 
Returns:

Reimplemented in RegistroIva, RegistroIvaView, AmortizacionView, Asiento1, IncidenciaComercial, IncidenciaComercialView, RutaComercial, RutaComercialView, Contrato, ContratoView, Inventario, PromedioView, TarifaView, VehiculoView, and Ficha.

Definition at line 654 of file dbrecord.cpp.

References _depura(), postgresiface2::cargacursor(), DBload(), cursor2::eof(), m_campoid, m_conexionbase, and m_tablename.

Referenced by Ficha::cargar(), VehiculoView::cargar(), TarifaView::cargar(), and AmortizacionView::cargar().

00654                                {
00655     _depura("DBRecord::cargar", 0);
00656     QString query = "SELECT * FROM " + m_tablename + " WHERE " + m_campoid + " = " + id;
00657     cursor2 *cur = m_conexionbase->cargacursor(query);
00658     if (!cur->eof()) {
00659         DBload(cur);
00660     } // end if
00661     delete cur;
00662     _depura("END DBRecord::cargar", 0);
00663     return 0;
00664 }


Field Documentation

QList<DBCampo *> DBRecord::m_lista [protected]

Definition at line 67 of file dbrecord.h.

Referenced by SDBRecord::addDBCampo(), addDBCampo(), borrar(), DBclear(), DBload(), DBsave(), DBvalue(), DBvalueprep(), exists(), imprimir(), lista(), Ficha::pintar(), Ficha::recogeValores(), SDBRecord::refresh(), setDBvalue(), and ~DBRecord().

postgresiface2* DBRecord::m_conexionbase [protected]

Definition at line 68 of file dbrecord.h.

Referenced by SDBRecord::addDBCampo(), addDBCampo(), borrar(), cargar(), conexionbase(), DBRecord(), DBsave(), and setconexionbase().

QString DBRecord::m_tablename [protected]

Definition at line 69 of file dbrecord.h.

Referenced by borrar(), cargar(), DBsave(), FichaBf::generaRML(), imprimir(), FichaBf::imprimir(), setDBTableName(), and tableName().

QString DBRecord::m_campoid [protected]

Definition at line 70 of file dbrecord.h.

Referenced by campoId(), Ficha::cargar(), cargar(), DBsave(), Ficha::guardar(), guardar(), and setDBCampoId().

bool DBRecord::m_nuevoCampo [protected]

Definition at line 71 of file dbrecord.h.

Referenced by borrar(), DBclear(), DBload(), DBRecord(), DBsave(), and setNuevo().


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