Servidor -> repaso a la generación de reports (BeginTransaction/RollbackTransaction) y limpieza de warnings.

git-svn-id: https://192.168.0.254/svn/Proyectos.Acana_FactuGES2/trunk@327 f4e31baf-9722-1c47-927c-6f952f962d4b
This commit is contained in:
David Arranz 2008-11-12 16:06:28 +00:00
parent 2cb6934575
commit 878cd1f5af
7 changed files with 84 additions and 150 deletions

View File

@ -76,17 +76,11 @@ var
i: Integer; i: Integer;
begin begin
Result := Binary.Create; Result := Binary.Create;
//FConnection.BeginTransaction; <--- Creo que no va a hacer falta.
try
//Vamos generando todos y cada uno de los presupuestos recibidos //Vamos generando todos y cada uno de los presupuestos recibidos
for i := 0 to ListaID.Count - 1 do for i := 0 to ListaID.Count - 1 do
_GenerarAlbaran(ListaID.Items[i]); _GenerarAlbaran(ListaID.Items[i]);
frxReport.PreviewPages.SaveToStream(Result); frxReport.PreviewPages.SaveToStream(Result);
finally
//FConnection.RollbackTransaction; <--- Creo que no va a hacer falta.
end;
end; end;
function TRptAlbaranesCliente.GenerarAlbaranEnPDF( function TRptAlbaranesCliente.GenerarAlbaranEnPDF(
@ -95,22 +89,19 @@ var
i: Integer; i: Integer;
begin begin
Result := Binary.Create; Result := Binary.Create;
//FConnection.BeginTransaction; <--- Creo que no va a hacer falta.
try
//Vamos generando todos y cada uno de los presupuestos recibidos //Vamos generando todos y cada uno de los presupuestos recibidos
for i := 0 to ListaID.Count - 1 do for i := 0 to ListaID.Count - 1 do
_GenerarAlbaran(ListaID.Items[i]); _GenerarAlbaran(ListaID.Items[i]);
frxPDFExport1.Stream := Result; frxPDFExport1.Stream := Result;
frxReport.Export(frxPDFExport1) frxReport.Export(frxPDFExport1)
finally
//FConnection.RollbackTransaction; <--- Creo que no va a hacer falta.
end;
end; end;
procedure TRptAlbaranesCliente._GenerarAlbaran(const ID: integer); procedure TRptAlbaranesCliente._GenerarAlbaran(const ID: integer);
begin begin
FConnection.BeginTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO"
try
tbl_Cabecera.ParamByName('ID').AsInteger := ID; tbl_Cabecera.ParamByName('ID').AsInteger := ID;
tbl_Detalles.ParamByName('ID_ALBARAN').AsInteger := ID; tbl_Detalles.ParamByName('ID_ALBARAN').AsInteger := ID;
tbl_Cabecera.Active := True; tbl_Cabecera.Active := True;
@ -118,6 +109,9 @@ begin
frxReport.LoadFromFile(DarRutaInformes + rptInfAlbaran, True); frxReport.LoadFromFile(DarRutaInformes + rptInfAlbaran, True);
frxReport.PrepareReport(False); frxReport.PrepareReport(False);
finally
FConnection.RollbackTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO"
end;
end; end;
function TRptAlbaranesCliente.GenerarEtiquetas(const AID: Integer; withRefCliente: Boolean): Binary; function TRptAlbaranesCliente.GenerarEtiquetas(const AID: Integer; withRefCliente: Boolean): Binary;

View File

@ -61,6 +61,8 @@ end;
procedure TRptComisiones.GenerarComision(const ID: integer); procedure TRptComisiones.GenerarComision(const ID: integer);
begin begin
FConnection.BeginTransaction;
try
tbl_Comisiones.ParamByName('ID').AsInteger := ID; tbl_Comisiones.ParamByName('ID').AsInteger := ID;
tbl_Facturas.ParamByName('ID').AsInteger := ID; tbl_Facturas.ParamByName('ID').AsInteger := ID;
tbl_Vendedores.ParamByName('ID').AsInteger := ID; tbl_Vendedores.ParamByName('ID').AsInteger := ID;
@ -70,6 +72,9 @@ begin
frxReport.LoadFromFile(DarRutaInformes + rptComision, True); frxReport.LoadFromFile(DarRutaInformes + rptComision, True);
frxReport.PrepareReport(False); frxReport.PrepareReport(False);
finally
FConnection.RollbackTransaction;
end;
end; end;
function TRptComisiones.GenerarComision(const AComisionID: String): Binary; function TRptComisiones.GenerarComision(const AComisionID: String): Binary;
@ -79,9 +84,7 @@ var
begin begin
Result := Binary.Create; Result := Binary.Create;
FConnection.BeginTransaction;
try
ID_Comisiones := TStringList.Create; ID_Comisiones := TStringList.Create;
ID_Comisiones.CommaText := AComisionID; ID_Comisiones.CommaText := AComisionID;
@ -90,10 +93,6 @@ begin
GenerarComision(StrToInt(ID_Comisiones.Strings[i])); GenerarComision(StrToInt(ID_Comisiones.Strings[i]));
frxReport.PreviewPages.SaveToStream(Result); frxReport.PreviewPages.SaveToStream(Result);
finally
FConnection.RollbackTransaction;
end;
end; end;
end. end.

View File

@ -70,12 +70,8 @@ function TRptFacturasCliente.GenerarFactura(const AFacturaID: String): Binary;
var var
ID_Facturas: TStringList; ID_Facturas: TStringList;
i: Integer; i: Integer;
begin begin
Result := Binary.Create; Result := Binary.Create;
FConnection.BeginTransaction;
try
ID_Facturas := TStringList.Create; ID_Facturas := TStringList.Create;
ID_Facturas.CommaText := AFacturaID; ID_Facturas.CommaText := AFacturaID;
@ -84,14 +80,13 @@ begin
GenerarFactura(StrToInt(ID_Facturas.Strings[i])); GenerarFactura(StrToInt(ID_Facturas.Strings[i]));
frxReport.PreviewPages.SaveToStream(Result); frxReport.PreviewPages.SaveToStream(Result);
finally
FConnection.RollbackTransaction;
end;
end; end;
procedure TRptFacturasCliente.GenerarFactura(const ID: integer); procedure TRptFacturasCliente.GenerarFactura(const ID: integer);
begin begin
FConnection.BeginTransaction;
try
tbl_FacturaCliente.ParamByName('ID').AsInteger := ID; tbl_FacturaCliente.ParamByName('ID').AsInteger := ID;
tbl_DetallesFacturaCliente.ParamByName('ID_FACTURA').AsInteger := ID; tbl_DetallesFacturaCliente.ParamByName('ID_FACTURA').AsInteger := ID;
tbl_Vencimientos.ParamByName('ID_FACTURA').AsInteger := ID; tbl_Vencimientos.ParamByName('ID_FACTURA').AsInteger := ID;
@ -104,6 +99,9 @@ begin
else else
frxReport.LoadFromFile(DarRutaInformes + rptFacturaClienteAbeto, True); frxReport.LoadFromFile(DarRutaInformes + rptFacturaClienteAbeto, True);
frxReport.PrepareReport(False); frxReport.PrepareReport(False);
finally
FConnection.RollbackTransaction;
end;
end; end;
end. end.

View File

@ -99,8 +99,6 @@ var
AConfiguracionService : IsrvConfiguracion; AConfiguracionService : IsrvConfiguracion;
Intf : IInterface; Intf : IInterface;
AClientID : TGUID; AClientID : TGUID;
Ruta: String;
begin begin
CreateGUID(AClientID); CreateGUID(AClientID);
try try

View File

@ -74,17 +74,12 @@ var
i: Integer; i: Integer;
begin begin
Result := Binary.Create; Result := Binary.Create;
//FConnection.BeginTransaction; <--- Creo que no va a hacer falta.
try
//Vamos generando todos y cada uno de los presupuestos recibidos //Vamos generando todos y cada uno de los presupuestos recibidos
for i := 0 to ListaID.Count - 1 do for i := 0 to ListaID.Count - 1 do
_GenerarPresupuesto(ListaID.Items[i]); _GenerarPresupuesto(ListaID.Items[i]);
frxReport.PreviewPages.SaveToStream(Result); frxReport.PreviewPages.SaveToStream(Result);
finally
//FConnection.RollbackTransaction; <--- Creo que no va a hacer falta.
end;
end; end;
function TRptPresupuestosCliente.GenerarPresupuestoEnPDF( function TRptPresupuestosCliente.GenerarPresupuestoEnPDF(
@ -93,40 +88,19 @@ var
i: Integer; i: Integer;
begin begin
Result := Binary.Create; Result := Binary.Create;
//FConnection.BeginTransaction; <--- Creo que no va a hacer falta.
try
//Vamos generando todos y cada uno de los presupuestos recibidos //Vamos generando todos y cada uno de los presupuestos recibidos
for i := 0 to ListaID.Count - 1 do for i := 0 to ListaID.Count - 1 do
_GenerarPresupuesto(ListaID.Items[i]); _GenerarPresupuesto(ListaID.Items[i]);
frxPDFExport1.Stream := Result; frxPDFExport1.Stream := Result;
frxReport.Export(frxPDFExport1) frxReport.Export(frxPDFExport1)
finally
//FConnection.RollbackTransaction; <--- Creo que no va a hacer falta.
end;
end; end;
procedure TRptPresupuestosCliente._GenerarPresupuesto(const AID: Integer); procedure TRptPresupuestosCliente._GenerarPresupuesto(const AID: Integer);
{var
AStream: TMemoryStream;
dsMaster: IDADataset;
dsDetail: IDADataset;}
begin begin
//AStream := TMemoryStream.Create; FConnection.BeginTransaction;
try
// try
{dsMaster := schReport.NewDataset(FConnection, ds_InformeCabecera, ['ID'], [AID]);
dsDetail := schReport.NewDataset(FConnection, ds_InformeDetalles, ['ID'], [AID], False);
AStream.Clear;
Bin2DataStreamer.WriteDataset(AStream, dsMaster, [woRows, woSchema], -1);
Bin2DataStreamer.ReadDataset(AStream, tbl_Cabecera, TRUE, '', TRUE, TRUE);
AStream.Clear;
Bin2DataStreamer.WriteDataset(AStream, dsDetail, [woRows, woSchema], -1);
Bin2DataStreamer.ReadDataset(AStream, tbl_Detalles, TRUE, '', TRUE, TRUE);}
tbl_Cabecera.ParamByName('ID').AsInteger := AID; tbl_Cabecera.ParamByName('ID').AsInteger := AID;
tbl_Detalles.ParamByName('ID').AsInteger := AID; tbl_Detalles.ParamByName('ID').AsInteger := AID;
tbl_Cabecera.Active := True; tbl_Cabecera.Active := True;
@ -134,12 +108,9 @@ begin
frxReport.LoadFromFile(DarRutaInformes + rptInforme, True); frxReport.LoadFromFile(DarRutaInformes + rptInforme, True);
frxReport.PrepareReport(False); frxReport.PrepareReport(False);
finally
{ finally FConnection.RollbackTransaction;
//AStream.Free; end;
dsMaster := Nil;
dsDetail := Nil;
end;}
end; end;
end. end.

View File

@ -67,9 +67,7 @@ var
begin begin
Result := Binary.Create; Result := Binary.Create;
FConnection.BeginTransaction;
try
ID_Recibos := TStringList.Create; ID_Recibos := TStringList.Create;
ID_Recibos.CommaText := ID; ID_Recibos.CommaText := ID;
@ -78,33 +76,12 @@ begin
GenerarRecibo(StrToInt(ID_Recibos.Strings[i])); GenerarRecibo(StrToInt(ID_Recibos.Strings[i]));
frxReport.PreviewPages.SaveToStream(Result); frxReport.PreviewPages.SaveToStream(Result);
finally
FConnection.RollbackTransaction;
end;
end; end;
procedure TRptRecibosCliente.GenerarRecibo(const ID: Integer); procedure TRptRecibosCliente.GenerarRecibo(const ID: Integer);
{var
dsMaster: IDADataset;
dsCompensados : IDADataset;
AStream: TMemoryStream;
}
begin begin
// AStream := TMemoryStream.Create; FConnection.BeginTransaction;
try try
// dsMaster := schReport.NewDataset(FConnection, ds_InformeCabecera, ['ID'], [ID]);
// dsCompensados := schReport.NewDataset(FConnection, ds_InformeCompensados, ['ID_RECIBO'], [ID], False);
// AStream.Clear;
// DABINAdapter.WriteDataset(AStream, dsMaster, [woRows, woSchema], -1);
// DABINAdapter.ReadDataset(AStream, tbl_Cabecera, TRUE, '', TRUE, TRUE);
// AStream.Clear;
// DABINAdapter.WriteDataset(AStream, dsCompensados, [woRows, woSchema], -1);
// DABINAdapter.ReadDataset(AStream, tbl_Compensados, TRUE, '', TRUE, TRUE);
tbl_Cabecera.ParamByName('ID').AsInteger := ID; tbl_Cabecera.ParamByName('ID').AsInteger := ID;
tbl_Compensados.ParamByName('ID_RECIBO').AsInteger := ID; tbl_Compensados.ParamByName('ID_RECIBO').AsInteger := ID;
tbl_Cabecera.Active := True; tbl_Cabecera.Active := True;
@ -114,9 +91,7 @@ begin
frxReport.PrepareReport(False); frxReport.PrepareReport(False);
finally finally
// AStream.Free; FConnection.RollbackTransaction;
// dsMaster := Nil;
// dsCompensados := Nil;
end; end;
end; end;

View File

@ -52,7 +52,6 @@ end;
function TsrvConfiguracion.DarValor(const CODIGO: String; const ValorPorDefecto: String = ''): String; function TsrvConfiguracion.DarValor(const CODIGO: String; const ValorPorDefecto: String = ''): String;
var var
ADataSet : IDADataset; ADataSet : IDADataset;
ASchema : TDASchema;
ACurrentConn : IDAConnection; ACurrentConn : IDAConnection;
ACommand : IDASQLCommand; ACommand : IDASQLCommand;
begin begin