QString Factura::NuevoNumeroFactura() { QSqlQuery cab_fac(QSqlDatabase::database("empresa")); QString cNum,cSerie; QString cNumFac; int inum; Configuracion *oConfig = new Configuracion(); oConfig->CargarDatos(); cab_fac.prepare("Select cFactura from cab_fac where cFactura <> '"+QObject::tr("BORRADOR")+"' order by cFactura desc limit 0,1"); if(cab_fac.exec()) { cab_fac.next(); cNumFac = cab_fac.value(0).toString(); cNum = cNumFac.right(oConfig->nDigitosFactura); cSerie = oConfig->cSerie; inum = cNum.toInt(); inum++; cNum = cNum.number(inum); while (cNum.length()< oConfig->nDigitosFactura) { cNum.prepend("0"); } } else { QMessageBox::critical(NULL, "error:", cab_fac.lastError().text()); } delete oConfig; cNumFac = cSerie + cNum; return cNumFac; }
QString Cliente::NuevoCodigoCliente() { Configuracion *oConfig = new Configuracion(); oConfig->CargarDatos(); QString cCodigo; QString cNum; int nCodigo; QSqlQuery *qClientes = new QSqlQuery(QSqlDatabase::database("empresa")); if(qClientes->exec("select cCodigoCliente from clientes order by cCodigoCliente desc limit 1")) { if (qClientes->next()) { QSqlRecord registro = qClientes->record(); cCodigo = registro.field("cCodigoCliente").value().toString(); nCodigo = cCodigo.toInt(); nCodigo ++; cCodigo = QString::number(nCodigo); } } if (nCodigo == 0 || nCodigo == 1) { cNum = "1"; while (cNum.length()< (oConfig->nDigitosCuentasContables - oConfig->cCuentaClientes.length()) ) { cNum.prepend("0"); } cCodigo = oConfig->cCuentaClientes + cNum; } return cCodigo; }
// Metodos utilidad Clase void Factura::AnadirFactura() { Configuracion *oConf = new Configuracion(); oConf->CargarDatos(); this->nPorcentajeIVA1 = oConf->nIVA1; this->nPorcentajeIVA2 = oConf->nIVA2; this->nPorcentajeIVA3 = oConf->nIVA3; this->nPorcentajeIVA4 = oConf->nIVA4 ; this->lRecargoEquivalencia = 0; delete oConf; QSqlQuery cab_fac(QSqlDatabase::database("empresa")); cab_fac.prepare("INSERT INTO cab_fac (cCodigoCliente,cFactura,dFecha,dFechaCobro,iId_Cliente,cCliente,cDireccion,cDireccion2," "cCp,cPoblacion,cProvincia,cPais,cCif,lRecargoEquivalencia,rSubtotal,nDto,nDtoPP,rImporteDescuento,rImporteDescuentoPP," "rBase,nIva,rImporteIva,rTotal,lImpresa,lCobrada,lContabilizada,id_FormaPago,cFormaPago,tComentario," "rBase1,rBase2,rBase3,rBase4,nPorcentajeIVA1,nPorcentajeIVA2,nPorcentajeIVA3,nPorcentajeIVA4,rIVA1,rIVA2,rIVA3,rIVA4," "rTotal1,rTotal2,rTotal3,rTotal4,nRec1,nRec2,nRec3,nRec4,rRecargoEq1,rRecargoEq2,rRecargoEq3,rRecargoEq4," "rTotalRecargoEq,rEntregadoaCuenta,rImportePendiente,cCodigoEntidad,cOficinaEntidad,cDCCuenta,cNumeroCuenta,cPedidoCliente)" " VALUES (:cCodigoCliente,:cFactura,:dFecha,:dFechaCobro,:iId_Cliente,:cCliente,:cDireccion,:cDireccion2," ":cCp,:cPoblacion,:cProvincia,:cPais,:cCif,:lRecargoEquivalencia,:rSubtotal,:nDto,:nDtoPP,:rImporteDescuento,:rImporteDescuentoPP," ":rBase,:nIva,:rImporteIva,:rTotal,:lImpresa,:lCobrada,:lContabilizada,:id_FormaPago,:cFormaPago,:tComentario," ":rBase1,:rBase2,:rBase3,:rBase4,:nPorcentajeIVA1,:nPorcentajeIVA2,:nPorcentajeIVA3,:nPorcentajeIVA4,:rIVA1,:rIVA2,:rIVA3,:rIVA4," ":rTotal1,:rTotal2,:rTotal3,:rTotal4,:nRec1,:nRec2,:nRec3,:nRec4,:rRecargoEq1,:rRecargoEq2,:rRecargoEq3,:rRecargoEq4," ":rTotalRecargoEq,:rEntregadoaCuenta,:rImportePendiente,:cCodigoEntidad,:cOficinaEntidad,:cDCCuenta,:cNumeroCuenta,:cPedidoCliente)"); cab_fac.bindValue(":cCodigoCliente",this->cCodigoCliente); cab_fac.bindValue(":cFactura",this->cFactura); cab_fac.bindValue(":dFecha",this->dFecha); cab_fac.bindValue(":dFechaCobro",this->dFechaCobro); cab_fac.bindValue(":iId_Cliente", this->iId_Cliente); cab_fac.bindValue(":cCliente",this->cCliente); cab_fac.bindValue(":cDireccion",this->cDireccion); cab_fac.bindValue(":cDireccion2",this->cDireccion2); cab_fac.bindValue(":cCp",this->cCp); cab_fac.bindValue(":cPoblacion",this->cPoblacion); cab_fac.bindValue(":cProvincia",this->cProvincia); cab_fac.bindValue(":cPais",this->cPais); cab_fac.bindValue(":cCif",this->cCif); cab_fac.bindValue(":lRecargoEquivalencia",this->lRecargoEquivalencia); cab_fac.bindValue(":rSubtotal",this->rSubtotal); cab_fac.bindValue(":nDto",this->nDto); cab_fac.bindValue(":nDtoPP",this->nDtoPP); cab_fac.bindValue(":rImporteDescuento",this->rImporteDescuento); cab_fac.bindValue(":rImporteDescuentoPP",this->rImporteDescuentoPP); cab_fac.bindValue(":rBase",this->rBase); cab_fac.bindValue(":nIva",this->nIva); cab_fac.bindValue(":rImporteIva",this->rImporteIva); cab_fac.bindValue(":rTotal",this->rTotal); cab_fac.bindValue(":lImpresa",this->lImpresa); cab_fac.bindValue(":lCobrada",this->lCobrada); cab_fac.bindValue(":lContabilizada",this->lContablilizada); cab_fac.bindValue(":id_FormaPago",this->id_FormaPago); cab_fac.bindValue(":cFormaPago",this->cFormaPago); cab_fac.bindValue(":tComentario",this->tComentario); cab_fac.bindValue(":rBase1",this->rBase1); cab_fac.bindValue(":rBase2",this->rBase2); cab_fac.bindValue(":rBase3",this->rBase3); cab_fac.bindValue(":rBase4",this->rBase4); cab_fac.bindValue(":nPorcentajeIVA1",this->nPorcentajeIVA1); cab_fac.bindValue(":nPorcentajeIVA2",this->nPorcentajeIVA2); cab_fac.bindValue(":nPorcentajeIVA3",this->nPorcentajeIVA3); cab_fac.bindValue(":nPorcentajeIVA4",this->nPorcentajeIVA4); cab_fac.bindValue(":rIVA1",this->rIVA1); cab_fac.bindValue(":rIVA2",this->rIVA2); cab_fac.bindValue(":rIVA3",this->rIVA3); cab_fac.bindValue(":rIVA4",this->rIVA4); cab_fac.bindValue(":rTotal1",this->rTotal1); cab_fac.bindValue(":rTotal2",this->rTotal2); cab_fac.bindValue(":rTotal3",this->rTotal3); cab_fac.bindValue(":rTotal4",this->rTotal4); cab_fac.bindValue(":nRec1",this->nRec1); cab_fac.bindValue(":nRec2",this->nRec2); cab_fac.bindValue(":nRec3",this->nRec3); cab_fac.bindValue(":nRec4",this->nRec4); cab_fac.bindValue(":rRecargoEq1",this->rRecargoEq1); cab_fac.bindValue(":rRecargoEq2",this->rRecargoEq2); cab_fac.bindValue(":rRecargoEq3",this->rRecargoEq3); cab_fac.bindValue(":rRecargoEq4",this->rRecargoEq4); cab_fac.bindValue(":rTotalRecargoEq",this->rTotalRecargoEq); cab_fac.bindValue(":rEntregadoaCuenta",this->rEntregadoaCuenta); cab_fac.bindValue(":rImportePendiente",this->rImportePendiente); cab_fac.bindValue(":cCodigoEntidad",this->cCodigoEntidad); cab_fac.bindValue(":cOficinaEntidad",this->cOficinaEntidad); cab_fac.bindValue(":cDCCuenta",this->cDCCuenta); cab_fac.bindValue(":cNumeroCuenta",this->cNumeroCuenta); cab_fac.bindValue(":cPedidoCliente",this->cPedidoCliente); if(!cab_fac.exec()){ QMessageBox::critical(NULL,"error al guardar datos Factura:", cab_fac.lastError().text()); } else { this->id = cab_fac.lastInsertId().toInt(); QString cSQL = "Select * from cab_fac where id ="+QString::number(this->id); RecuperarFactura(cSQL); } }