diff --git a/Source/Base/Base.res b/Source/Base/Base.res index 8b251f31..1641339f 100644 Binary files a/Source/Base/Base.res and b/Source/Base/Base.res differ diff --git a/Source/Base/Utiles/uReferenciasUtils.pas b/Source/Base/Utiles/uReferenciasUtils.pas index b5d41354..05b2d92d 100644 --- a/Source/Base/Utiles/uReferenciasUtils.pas +++ b/Source/Base/Utiles/uReferenciasUtils.pas @@ -17,16 +17,21 @@ uses function CompararReferencias(const ARef1, ARef2 : String) : Integer; var Aux1, Aux2 : String; + AuxInt1, AuxInt2: Double; Rpl : Char; begin Rpl := ' '; Aux1 := StrReplaceButChars(ARef1, AnsiDecDigits, Rpl); Aux1 := StrRemoveChars(Aux1, AnsiWhiteSpace); Aux2 := StrReplaceButChars(ARef2, AnsiDecDigits, Rpl); - Aux2 := StrRemoveChars(Aux2, AnsiWhiteSpace); + Aux2 := StrRemoveChars(Aux2, AnsiWhiteSpace); if StrIsDigit(Aux1) and StrIsDigit(Aux2) then - Result := VarCompare(StrToIntSafe(Aux1), StrToIntSafe(Aux2)) + begin + AuxInt1 := StrToFloatSafe(Aux1); + AuxInt2 := StrToFloatSafe(Aux2); + Result := VarCompare(AuxInt1, AuxInt2) + end else Result := VarCompare(Aux1, Aux2) end; diff --git a/Source/Cliente/FactuGES.res b/Source/Cliente/FactuGES.res index 885c5563..6fc88ef0 100644 Binary files a/Source/Cliente/FactuGES.res and b/Source/Cliente/FactuGES.res differ diff --git a/Source/Modulos/Albaranes de cliente/Reports/uRptAlbaranesCliente_Server.pas b/Source/Modulos/Albaranes de cliente/Reports/uRptAlbaranesCliente_Server.pas index f81f75a3..dee5da5d 100644 --- a/Source/Modulos/Albaranes de cliente/Reports/uRptAlbaranesCliente_Server.pas +++ b/Source/Modulos/Albaranes de cliente/Reports/uRptAlbaranesCliente_Server.pas @@ -107,15 +107,12 @@ var i: Integer; begin Result := Binary.Create; - //FConnection.BeginTransaction; <--- Creo que no va a hacer falta. - try //Vamos generando todos y cada uno de los albaranes recibidos for i := 0 to AListaID.Count - 1 do _GenerarAlbaran(AListaID.Items[i]); frxReport.PreviewPages.SaveToStream(Result); finally - //FConnection.RollbackTransaction; <--- Creo que no va a hacer falta. end; end; @@ -125,8 +122,6 @@ var i: Integer; begin Result := Binary.Create; - //FConnection.BeginTransaction; <--- Creo que no va a hacer falta. - try //Vamos generando todos y cada uno de los presupuestos recibidos for i := 0 to ListaID.Count - 1 do @@ -135,23 +130,27 @@ begin frxPDFExport1.Stream := Result; frxReport.Export(frxPDFExport1) finally - //FConnection.RollbackTransaction; <--- Creo que no va a hacer falta. end; end; procedure TRptAlbaranesCliente._GenerarAlbaran(const AID: Integer); begin - tbl_Cabecera.Active := False; - tbl_Detalles.Active := False; + FConnection.BeginTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO" + try + tbl_Cabecera.Active := False; + tbl_Detalles.Active := False; - tbl_Cabecera.ParamByName('ID').AsInteger := AID; - tbl_Detalles.ParamByName('ID_ALBARAN').AsInteger := AID; + tbl_Cabecera.ParamByName('ID').AsInteger := AID; + tbl_Detalles.ParamByName('ID_ALBARAN').AsInteger := AID; - tbl_Cabecera.Active := True; - tbl_Detalles.Active := True; + tbl_Cabecera.Active := True; + tbl_Detalles.Active := True; - frxReport.LoadFromFile(DarRutaInformes + rptInforme, True); - frxReport.PrepareReport(False); + frxReport.LoadFromFile(DarRutaInformes + rptInforme, True); + frxReport.PrepareReport(False); + finally + FConnection.RollbackTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO" + end; end; function TRptAlbaranesCliente.GenerarEtiquetas(const AID: Integer; withRefCliente: Boolean): Binary; diff --git a/Source/Modulos/Albaranes de cliente/Reports/uRptWordAlbaranCliente.pas b/Source/Modulos/Albaranes de cliente/Reports/uRptWordAlbaranCliente.pas index bf728288..ff4cbe1f 100644 --- a/Source/Modulos/Albaranes de cliente/Reports/uRptWordAlbaranCliente.pas +++ b/Source/Modulos/Albaranes de cliente/Reports/uRptWordAlbaranCliente.pas @@ -229,22 +229,27 @@ procedure TRptWordAlbaranCliente._GenerarAlbaran(const AID: String); var ACopiaPlantilla : String; begin - tbl_Cabecera.ParamByName('ID').AsString := AID; - tbl_Detalles.ParamByName('ID_ALBARAN').AsString := AID; - - tbl_Cabecera.Active := True; - tbl_Detalles.Active := True; - - FCodigoAlbaran := AID; - - ACopiaPlantilla := DarFicheroTemporal; - CopiarFichero(FPlantilla, ACopiaPlantilla); - FPlantilla := ACopiaPlantilla; + FConnection.BeginTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO" try - if RecuperarEmpresa(tbl_Cabecera.FieldByName('ID_EMPRESA').AsInteger, tbl_Empresa) then - Generar; + tbl_Cabecera.ParamByName('ID').AsString := AID; + tbl_Detalles.ParamByName('ID_ALBARAN').AsString := AID; + + tbl_Cabecera.Active := True; + tbl_Detalles.Active := True; + + FCodigoAlbaran := AID; + + ACopiaPlantilla := DarFicheroTemporal; + CopiarFichero(FPlantilla, ACopiaPlantilla); + FPlantilla := ACopiaPlantilla; + try + if RecuperarEmpresa(tbl_Cabecera.FieldByName('ID_EMPRESA').AsInteger, tbl_Empresa) then + Generar; + finally + SysUtils.DeleteFile(ACopiaPlantilla); + end; finally - SysUtils.DeleteFile(ACopiaPlantilla); + FConnection.RollbackTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO" end; end; diff --git a/Source/Modulos/Contactos/Reports/uRptEtiquetasContacto_Server.pas b/Source/Modulos/Contactos/Reports/uRptEtiquetasContacto_Server.pas index b82986d0..7786460b 100644 --- a/Source/Modulos/Contactos/Reports/uRptEtiquetasContacto_Server.pas +++ b/Source/Modulos/Contactos/Reports/uRptEtiquetasContacto_Server.pas @@ -66,7 +66,6 @@ var begin Result := Binary.Create; - FConnection.BeginTransaction; AStream := TMemoryStream.Create; diff --git a/Source/Modulos/Contactos/Reports/uRptFichasEmpleado_Server.pas b/Source/Modulos/Contactos/Reports/uRptFichasEmpleado_Server.pas index 5b78434f..0e441e38 100644 --- a/Source/Modulos/Contactos/Reports/uRptFichasEmpleado_Server.pas +++ b/Source/Modulos/Contactos/Reports/uRptFichasEmpleado_Server.pas @@ -64,8 +64,6 @@ var i: Integer; begin Result := Binary.Create; - - //FConnection.BeginTransaction; <--- Creo que no va a hacer falta. try //Vamos generando todos y cada uno de las fichas de empleado for i := 0 to ListaID.Count - 1 do @@ -73,7 +71,6 @@ begin frxReport.PreviewPages.SaveToStream(Result); finally - //FConnection.RollbackTransaction; <--- Creo que no va a hacer falta. end; end; @@ -83,7 +80,7 @@ var dsMaster: IDADataset; begin AStream := TMemoryStream.Create; - + FConnection.BeginTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO" try dsMaster := schReport.NewDataset(FConnection, ds_InformeFichaEmpleado, ['ID'], [ID]); @@ -95,6 +92,7 @@ begin frxReport.PrepareReport(False); finally + FConnection.RollbackTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO" AStream.Free; dsMaster := Nil; end; diff --git a/Source/Modulos/Facturas de cliente/Reports/uRptFacturasCliente_Server.pas b/Source/Modulos/Facturas de cliente/Reports/uRptFacturasCliente_Server.pas index f4147466..f6558711 100644 --- a/Source/Modulos/Facturas de cliente/Reports/uRptFacturasCliente_Server.pas +++ b/Source/Modulos/Facturas de cliente/Reports/uRptFacturasCliente_Server.pas @@ -139,8 +139,6 @@ var i: Integer; begin Result := Binary.Create; - //FConnection.BeginTransaction; <--- Creo que no va a hacer falta. - try //Vamos generando todos y cada una de las facturas recibidas for i := 0 to ListaID.Count - 1 do @@ -148,7 +146,6 @@ begin frxReport.PreviewPages.SaveToStream(Result); finally - //FConnection.RollbackTransaction; <--- Creo que no va a hacer falta. end; end; @@ -158,8 +155,6 @@ var i: Integer; begin Result := Binary.Create; - //FConnection.BeginTransaction; <--- Creo que no va a hacer falta. - try //Vamos generando todos y cada una de las facturas recibidas for i := 0 to ListaID.Count - 1 do @@ -168,7 +163,6 @@ begin frxPDFExport1.Stream := Result; frxReport.Export(frxPDFExport1) finally - //FConnection.RollbackTransaction; <--- Creo que no va a hacer falta. end; end; @@ -177,7 +171,6 @@ var ATipoInforme: String; begin - //DESGLOSADO POR CLIENTE EN ESTE INFORME NO SE DESGLOSARÁ POR CLIENTE if Desglosado then ATipoInforme := rptInformeIVADesglosado @@ -240,20 +233,25 @@ end; procedure TRptFacturasCliente._GenerarFactura(const ID: Integer); begin - tbl_Cabecera.Active := False; - tbl_Detalles.Active := False; - tbl_Vencimientos.Active := False; + FConnection.BeginTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO" + try + tbl_Cabecera.Active := False; + tbl_Detalles.Active := False; + tbl_Vencimientos.Active := False; - tbl_Cabecera.ParamByName('ID').AsInteger := ID; - tbl_Detalles.ParamByName('ID_FACTURA').AsInteger := ID; - tbl_Vencimientos.ParamByName('ID_FACTURA').AsInteger := ID; + tbl_Cabecera.ParamByName('ID').AsInteger := ID; + tbl_Detalles.ParamByName('ID_FACTURA').AsInteger := ID; + tbl_Vencimientos.ParamByName('ID_FACTURA').AsInteger := ID; - tbl_Cabecera.Active := True; - tbl_Detalles.Active := True; - tbl_Vencimientos.Active := True; + tbl_Cabecera.Active := True; + tbl_Detalles.Active := True; + tbl_Vencimientos.Active := True; - frxReport.LoadFromFile(DarRutaInformes + rptFacturaCliente, True); - frxReport.PrepareReport(False); + frxReport.LoadFromFile(DarRutaInformes + rptFacturaCliente, True); + frxReport.PrepareReport(False); + finally + FConnection.RollbackTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO" + end; end; function TRptFacturasCliente._GenerarInforme(const TipoInforme: String; @@ -265,7 +263,7 @@ var begin Result := Binary.Create; - //FConnection.BeginTransaction; <--- Creo que no va a hacer falta. + FConnection.BeginTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO" try @@ -342,7 +340,7 @@ begin frxReport.PreviewPages.SaveToStream(Result); finally - //FConnection.RollbackTransaction; <--- Creo que no va a hacer falta. + FConnection.RollbackTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO" end; end; diff --git a/Source/Modulos/Facturas de cliente/Reports/uRptWordFacturaCliente.pas b/Source/Modulos/Facturas de cliente/Reports/uRptWordFacturaCliente.pas index 3619bcdc..6aee2f1c 100644 --- a/Source/Modulos/Facturas de cliente/Reports/uRptWordFacturaCliente.pas +++ b/Source/Modulos/Facturas de cliente/Reports/uRptWordFacturaCliente.pas @@ -352,26 +352,31 @@ procedure TRptWordFacturaCliente._GenerarFactura(const AID: String); var ACopiaPlantilla : String; begin - tbl_Cabecera.ParamByName('ID').AsString := AID; - tbl_Detalles.ParamByName('ID_FACTURA').AsString := AID; - tbl_Vencimientos.ParamByName('ID_FACTURA').AsString := AID; + FConnection.BeginTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO" + try + tbl_Cabecera.ParamByName('ID').AsString := AID; + tbl_Detalles.ParamByName('ID_FACTURA').AsString := AID; + tbl_Vencimientos.ParamByName('ID_FACTURA').AsString := AID; - tbl_Cabecera.Active := True; - tbl_Detalles.Active := True; - tbl_Vencimientos.Active := True; + tbl_Cabecera.Active := True; + tbl_Detalles.Active := True; + tbl_Vencimientos.Active := True; - FCodigoFactura := AID; + FCodigoFactura := AID; - if RecuperarEmpresa(tbl_Cabecera.FieldByName('ID_EMPRESA').AsInteger, tbl_Empresa) then - begin - ACopiaPlantilla := DarFicheroTemporal; - CopiarFichero(FPlantilla, ACopiaPlantilla); - FPlantilla := ACopiaPlantilla; - try - Generar; - finally - SysUtils.DeleteFile(ACopiaPlantilla); + if RecuperarEmpresa(tbl_Cabecera.FieldByName('ID_EMPRESA').AsInteger, tbl_Empresa) then + begin + ACopiaPlantilla := DarFicheroTemporal; + CopiarFichero(FPlantilla, ACopiaPlantilla); + FPlantilla := ACopiaPlantilla; + try + Generar; + finally + SysUtils.DeleteFile(ACopiaPlantilla); + end; end; + finally + FConnection.RollbackTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO" end; end; diff --git a/Source/Modulos/Facturas de proveedor/Reports/uRptFacturasProveedor_Server.pas b/Source/Modulos/Facturas de proveedor/Reports/uRptFacturasProveedor_Server.pas index 199780e3..8ee56d5f 100644 --- a/Source/Modulos/Facturas de proveedor/Reports/uRptFacturasProveedor_Server.pas +++ b/Source/Modulos/Facturas de proveedor/Reports/uRptFacturasProveedor_Server.pas @@ -195,7 +195,7 @@ var begin Result := Binary.Create; - //FConnection.BeginTransaction; <--- Creo que no va a hacer falta. + FConnection.BeginTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO" try @@ -272,7 +272,7 @@ begin frxReport.PreviewPages.SaveToStream(Result); finally - //FConnection.RollbackTransaction; <--- Creo que no va a hacer falta. + FConnection.RollbackTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO" end; end; diff --git a/Source/Modulos/Pedidos a proveedor/Reports/uRptPedidosProveedor_Server.pas b/Source/Modulos/Pedidos a proveedor/Reports/uRptPedidosProveedor_Server.pas index 79388cb9..1a60acd1 100644 --- a/Source/Modulos/Pedidos a proveedor/Reports/uRptPedidosProveedor_Server.pas +++ b/Source/Modulos/Pedidos a proveedor/Reports/uRptPedidosProveedor_Server.pas @@ -154,8 +154,6 @@ begin Result := Binary.Create; FImprimirPrecio := ImprimirPrecio; FImprimirRefProveedor := ImprimirRefProveedor; - - //FConnection.BeginTransaction; <--- Creo que no va a hacer falta. try //Vamos generando todos y cada uno de los pedidos recibidos for i := 0 to ListaID.Count - 1 do @@ -163,7 +161,6 @@ begin frxReport.PreviewPages.SaveToStream(Result); finally - //FConnection.RollbackTransaction; <--- Creo que no va a hacer falta. end; end; @@ -176,7 +173,7 @@ var begin Result := Binary.Create; - //FConnection.BeginTransaction; <--- Creo que no va a hacer falta. + FConnection.BeginTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO" try @@ -253,23 +250,28 @@ begin frxReport.PreviewPages.SaveToStream(Result); finally - //FConnection.RollbackTransaction; <--- Creo que no va a hacer falta. + FConnection.RollbackTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO" end; end; procedure TRptPedidosProveedor._GenerarPedido(const ID: Integer); begin - tbl_Cabecera.Active := False; - tbl_Detalles.Active := False; + FConnection.BeginTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO" + try + tbl_Cabecera.Active := False; + tbl_Detalles.Active := False; - tbl_Cabecera.ParamByName('ID').AsInteger := ID; - tbl_Detalles.ParamByName('ID_PEDIDO').AsInteger := ID; + tbl_Cabecera.ParamByName('ID').AsInteger := ID; + tbl_Detalles.ParamByName('ID_PEDIDO').AsInteger := ID; - tbl_Cabecera.Active := True; - tbl_Detalles.Active := True; + tbl_Cabecera.Active := True; + tbl_Detalles.Active := True; - frxReport.LoadFromFile(DarRutaInformes + rptInforme, True); - frxReport.PrepareReport(False); + frxReport.LoadFromFile(DarRutaInformes + rptInforme, True); + frxReport.PrepareReport(False); + finally + FConnection.RollbackTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO" + end; end; function TRptPedidosProveedor.GenerarPedidoEnPDF( @@ -281,8 +283,6 @@ begin Result := Binary.Create; FImprimirPrecio := ImprimirPrecio; FImprimirRefProveedor := ImprimirRefProveedor; - - //FConnection.BeginTransaction; <--- Creo que no va a hacer falta. try //Vamos generando todos y cada uno de los albaranes recibidos for i := 0 to ListaID.Count - 1 do @@ -291,7 +291,6 @@ begin frxPDFExport1.Stream := Result; frxReport.Export(frxPDFExport1) finally - //FConnection.RollbackTransaction; <--- Creo que no va a hacer falta. end; end; diff --git a/Source/Modulos/Pedidos a proveedor/Reports/uRptWordPedidoProveedor.pas b/Source/Modulos/Pedidos a proveedor/Reports/uRptWordPedidoProveedor.pas index 72ccb14f..2e6e9618 100644 --- a/Source/Modulos/Pedidos a proveedor/Reports/uRptWordPedidoProveedor.pas +++ b/Source/Modulos/Pedidos a proveedor/Reports/uRptWordPedidoProveedor.pas @@ -247,24 +247,29 @@ procedure TRptWordPedidoProveedor._GenerarPedido(const AID: String); var ACopiaPlantilla : String; begin - tbl_Cabecera.ParamByName('ID').AsString := AID; - tbl_Detalles.ParamByName('ID_PEDIDO').AsString := AID; + FConnection.BeginTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO" + try + tbl_Cabecera.ParamByName('ID').AsString := AID; + tbl_Detalles.ParamByName('ID_PEDIDO').AsString := AID; - tbl_Cabecera.Active := True; - tbl_Detalles.Active := True; + tbl_Cabecera.Active := True; + tbl_Detalles.Active := True; - FCodigoPedido := AID; + FCodigoPedido := AID; - if RecuperarEmpresa(tbl_Cabecera.FieldByName('ID_EMPRESA').AsInteger, tbl_Empresa) then - begin - ACopiaPlantilla := DarFicheroTemporal; - CopiarFichero(FPlantilla, ACopiaPlantilla); - FPlantilla := ACopiaPlantilla; - try - Generar; - finally - SysUtils.DeleteFile(ACopiaPlantilla); + if RecuperarEmpresa(tbl_Cabecera.FieldByName('ID_EMPRESA').AsInteger, tbl_Empresa) then + begin + ACopiaPlantilla := DarFicheroTemporal; + CopiarFichero(FPlantilla, ACopiaPlantilla); + FPlantilla := ACopiaPlantilla; + try + Generar; + finally + SysUtils.DeleteFile(ACopiaPlantilla); + end; end; + finally + FConnection.RollbackTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO" end; end; diff --git a/Source/Modulos/Presupuestos de cliente/Reports/uRptPresupuestosCliente_Server.pas b/Source/Modulos/Presupuestos de cliente/Reports/uRptPresupuestosCliente_Server.pas index ff9d6252..1017705d 100644 --- a/Source/Modulos/Presupuestos de cliente/Reports/uRptPresupuestosCliente_Server.pas +++ b/Source/Modulos/Presupuestos de cliente/Reports/uRptPresupuestosCliente_Server.pas @@ -125,8 +125,6 @@ var i: Integer; begin Result := Binary.Create; - //FConnection.BeginTransaction; <--- Creo que no va a hacer falta. - try //Vamos generando todos y cada uno de los presupuestos recibidos for i := 0 to ListaID.Count - 1 do @@ -135,7 +133,6 @@ begin frxPDFExport1.Stream := Result; frxReport.Export(frxPDFExport1) finally - //FConnection.RollbackTransaction; <--- Creo que no va a hacer falta. end; end; @@ -162,8 +159,6 @@ var i: Integer; begin Result := Binary.Create; - //FConnection.BeginTransaction; <--- Creo que no va a hacer falta. - try //Vamos generando todos y cada uno de los presupuestos recibidos for i := 0 to ListaID.Count - 1 do @@ -171,7 +166,6 @@ begin frxReport.PreviewPages.SaveToStream(Result); finally - //FConnection.RollbackTransaction; <--- Creo que no va a hacer falta. end; end; @@ -184,7 +178,7 @@ var begin Result := Binary.Create; - //FConnection.BeginTransaction; <--- Creo que no va a hacer falta. + FConnection.BeginTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO" try @@ -261,29 +255,34 @@ begin frxReport.PreviewPages.SaveToStream(Result); finally - //FConnection.RollbackTransaction; <--- Creo que no va a hacer falta. + FConnection.RollbackTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO" end; end; procedure TRptPresupuestosCliente._GenerarPresupuesto(const AID: Integer); begin - tbl_Cabecera.Active := False; - tbl_Capitulos.Active := False; - tbl_Detalles.Active := False; - tbl_Resumen.Active := False; - - tbl_Cabecera.ParamByName('ID').AsInteger := AID; - tbl_Capitulos.ParamByName('ID_PRESUPUESTO').AsInteger := AID; - tbl_Detalles.ParamByName('ID_PRESUPUESTO').AsInteger := AID; - tbl_Resumen.ParamByName('ID_PRESUPUESTO').AsInteger := AID; + FConnection.BeginTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO" + try + tbl_Cabecera.Active := False; + tbl_Capitulos.Active := False; + tbl_Detalles.Active := False; + tbl_Resumen.Active := False; - tbl_Cabecera.Active := True; - tbl_Capitulos.Active := True; - tbl_Detalles.Active := True; - tbl_Resumen.Active := True; + tbl_Cabecera.ParamByName('ID').AsInteger := AID; + tbl_Capitulos.ParamByName('ID_PRESUPUESTO').AsInteger := AID; + tbl_Detalles.ParamByName('ID_PRESUPUESTO').AsInteger := AID; + tbl_Resumen.ParamByName('ID_PRESUPUESTO').AsInteger := AID; - frxReport.LoadFromFile(DarRutaInformes + rptInforme, True); - frxReport.PrepareReport(False); + tbl_Cabecera.Active := True; + tbl_Capitulos.Active := True; + tbl_Detalles.Active := True; + tbl_Resumen.Active := True; + + frxReport.LoadFromFile(DarRutaInformes + rptInforme, True); + frxReport.PrepareReport(False); + finally + FConnection.RollbackTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO" + end; end; end. diff --git a/Source/Modulos/Presupuestos de cliente/Reports/uRptWordCertificadoTrabajo_Server.pas b/Source/Modulos/Presupuestos de cliente/Reports/uRptWordCertificadoTrabajo_Server.pas index d115f327..e938cad3 100644 --- a/Source/Modulos/Presupuestos de cliente/Reports/uRptWordCertificadoTrabajo_Server.pas +++ b/Source/Modulos/Presupuestos de cliente/Reports/uRptWordCertificadoTrabajo_Server.pas @@ -187,24 +187,29 @@ procedure TRptWordCertificadoTrabajo._GenerarCertificado(const AID: Integer); var ACopiaPlantilla: string; begin - tbl_Cabecera.ParamByName('ID').AsInteger := AID; - tbl_Capitulos.ParamByName('ID_PRESUPUESTO').AsInteger := AID; + FConnection.BeginTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO" + try + tbl_Cabecera.ParamByName('ID').AsInteger := AID; + tbl_Capitulos.ParamByName('ID_PRESUPUESTO').AsInteger := AID; - tbl_Cabecera.Active := True; - tbl_Capitulos.Active := True; + tbl_Cabecera.Active := True; + tbl_Capitulos.Active := True; - FCodigoPresupuesto := AID; + FCodigoPresupuesto := AID; - if RecuperarEmpresa(tbl_Cabecera.FieldByName('ID_EMPRESA').AsInteger, tbl_Empresa) then - begin - ACopiaPlantilla := DarFicheroTemporal; - CopiarFichero(FPlantilla, ACopiaPlantilla); - FPlantilla := ACopiaPlantilla; - try - Generar; - finally - SysUtils.DeleteFile(ACopiaPlantilla); + if RecuperarEmpresa(tbl_Cabecera.FieldByName('ID_EMPRESA').AsInteger, tbl_Empresa) then + begin + ACopiaPlantilla := DarFicheroTemporal; + CopiarFichero(FPlantilla, ACopiaPlantilla); + FPlantilla := ACopiaPlantilla; + try + Generar; + finally + SysUtils.DeleteFile(ACopiaPlantilla); + end; end; + finally + FConnection.RollbackTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO" end; end; diff --git a/Source/Modulos/Presupuestos de cliente/Reports/uRptWordPresupuestoCliente.pas b/Source/Modulos/Presupuestos de cliente/Reports/uRptWordPresupuestoCliente.pas index fe51ce72..8bab7848 100644 --- a/Source/Modulos/Presupuestos de cliente/Reports/uRptWordPresupuestoCliente.pas +++ b/Source/Modulos/Presupuestos de cliente/Reports/uRptWordPresupuestoCliente.pas @@ -498,24 +498,29 @@ procedure TRptWordPresupuestoCliente._GenerarPresupuesto(const AID: String); var ACopiaPlantilla: string; begin - tbl_Cabecera.ParamByName('ID').AsString := AID; - tbl_Detalles.ParamByName('ID_PRESUPUESTO').AsString := AID; + FConnection.BeginTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO" + try + tbl_Cabecera.ParamByName('ID').AsString := AID; + tbl_Detalles.ParamByName('ID_PRESUPUESTO').AsString := AID; - tbl_Cabecera.Active := True; - tbl_Detalles.Active := True; + tbl_Cabecera.Active := True; + tbl_Detalles.Active := True; - FCodigoPresupuesto := AID; + FCodigoPresupuesto := AID; - if RecuperarEmpresa(tbl_Cabecera.FieldByName('ID_EMPRESA').AsInteger, tbl_Empresa) then - begin - ACopiaPlantilla := DarFicheroTemporal; - CopiarFichero(FPlantilla, ACopiaPlantilla); - FPlantilla := ACopiaPlantilla; - try - Generar; - finally - SysUtils.DeleteFile(ACopiaPlantilla); + if RecuperarEmpresa(tbl_Cabecera.FieldByName('ID_EMPRESA').AsInteger, tbl_Empresa) then + begin + ACopiaPlantilla := DarFicheroTemporal; + CopiarFichero(FPlantilla, ACopiaPlantilla); + FPlantilla := ACopiaPlantilla; + try + Generar; + finally + SysUtils.DeleteFile(ACopiaPlantilla); + end; end; + finally + FConnection.RollbackTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO" end; end; diff --git a/Source/Modulos/Recibos de cliente/Reports/uRptRecibosCliente_Server.pas b/Source/Modulos/Recibos de cliente/Reports/uRptRecibosCliente_Server.pas index 8ab54f51..0b0095bd 100644 --- a/Source/Modulos/Recibos de cliente/Reports/uRptRecibosCliente_Server.pas +++ b/Source/Modulos/Recibos de cliente/Reports/uRptRecibosCliente_Server.pas @@ -78,15 +78,12 @@ var i: Integer; begin Result := Binary.Create; - - //FConnection.BeginTransaction; <--- Creo que no va a hacer falta. try //Vamos generando todos y cada uno de los albaranes recibidos for i := 0 to ListaID.Count - 1 do _GenerarRecibo(ListaID.Items[i]); frxReport.PreviewPages.SaveToStream(Result); finally - //FConnection.RollbackTransaction; <--- Creo que no va a hacer falta. end; end; @@ -150,7 +147,7 @@ var begin Result := Binary.Create; - //FConnection.BeginTransaction; <--- Creo que no va a hacer falta. + FConnection.BeginTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO" try @@ -226,24 +223,29 @@ begin frxReport.PreviewPages.SaveToStream(Result); finally - //FConnection.RollbackTransaction; <--- Creo que no va a hacer falta. + FConnection.RollbackTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO" end; end; procedure TRptRecibosCliente._GenerarRecibo(const ID: Integer); begin - tbl_Cabecera.Active := False; - tbl_Compensados.Active := False; + FConnection.BeginTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO" + try + tbl_Cabecera.Active := False; + tbl_Compensados.Active := False; - tbl_Cabecera.ParamByName('ID').AsInteger := ID; - tbl_Compensados.ParamByName('ID_RECIBO').AsInteger := ID; + tbl_Cabecera.ParamByName('ID').AsInteger := ID; + tbl_Compensados.ParamByName('ID_RECIBO').AsInteger := ID; - tbl_Cabecera.Active := True; - tbl_Compensados.Active := True; + tbl_Cabecera.Active := True; + tbl_Compensados.Active := True; - frxReport.LoadFromFile(DarRutaInformes + rptInforme, True); - frxReport.PrepareReport(False); + frxReport.LoadFromFile(DarRutaInformes + rptInforme, True); + frxReport.PrepareReport(False); + finally + FConnection.RollbackTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO" + end; end; end. diff --git a/Source/Modulos/Recibos de proveedor/Reports/uRptRecibosProveedor_Server.pas b/Source/Modulos/Recibos de proveedor/Reports/uRptRecibosProveedor_Server.pas index e8dd19d1..d3c31629 100644 --- a/Source/Modulos/Recibos de proveedor/Reports/uRptRecibosProveedor_Server.pas +++ b/Source/Modulos/Recibos de proveedor/Reports/uRptRecibosProveedor_Server.pas @@ -130,7 +130,7 @@ var begin Result := Binary.Create; - //FConnection.BeginTransaction; <--- Creo que no va a hacer falta. + FConnection.BeginTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO" try @@ -206,7 +206,7 @@ begin frxReport.PreviewPages.SaveToStream(Result); finally - //FConnection.RollbackTransaction; <--- Creo que no va a hacer falta. + FConnection.RollbackTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO" end; end; diff --git a/Source/Servidor/FactuGES_Server.RES b/Source/Servidor/FactuGES_Server.RES index b8be5fa2..a4f770bf 100644 Binary files a/Source/Servidor/FactuGES_Server.RES and b/Source/Servidor/FactuGES_Server.RES differ