Remesas de cliente

git-svn-id: https://192.168.0.254/svn/Proyectos.Noviseda_FactuGES2/trunk@57 f33bb606-9f5c-448d-9c99-757f00063c96
This commit is contained in:
David Arranz 2010-01-25 11:57:21 +00:00
parent 04a9086456
commit e3b2b12a6a
5 changed files with 45 additions and 34 deletions

View File

@ -96,7 +96,7 @@ uses
schRecibosClienteClient_Intf, uIEditorRemesasCliente, uIEditorRemesaCliente, schRecibosClienteClient_Intf, uIEditorRemesasCliente, uIEditorRemesaCliente,
Dialogs, uDataModuleRemesasCliente, uDataModuleUsuarios, uDAInterfaces, Dialogs, uDataModuleRemesasCliente, uDataModuleUsuarios, uDAInterfaces,
uDataTableUtils, uDateUtils, uROTypes, DateUtils, Controls, Windows, uDataTableUtils, uDateUtils, uROTypes, DateUtils, Controls, Windows,
uBizRecibosCliente, Variants, uRemesasClienteReportController; uBizRecibosCliente, Variants, uRemesasClienteReportController, uIntegerListUtils;
{ TRemesasClienteController } { TRemesasClienteController }
@ -585,11 +585,11 @@ end;
procedure TRemesasClienteController.Preview(ARemesaCliente: IBizRemesaCliente; AllItems: Boolean = false); procedure TRemesasClienteController.Preview(ARemesaCliente: IBizRemesaCliente; AllItems: Boolean = false);
var var
AReportController : IRemesasClienteReportController; AReportController : IRemesasClienteReportController;
ID_Remesas: TStringList; ID_Remesas: TIntegerList;
begin begin
AReportController := TRemesasClienteReportController.Create; AReportController := TRemesasClienteReportController.Create;
ID_Remesas := TStringList.Create; ID_Remesas := TIntegerList.Create;
try try
//Si deseamos previsualizar todos los items del objeto albaran //Si deseamos previsualizar todos los items del objeto albaran
@ -600,31 +600,31 @@ begin
First; First;
while not EOF do while not EOF do
begin begin
ID_Remesas.Add(IntToStr(ARemesaCliente.ID)); ID_Remesas.Add(ARemesaCliente.ID);
Next; Next;
end; end;
end; end;
end end
//Solo previsualizamos el item seleccionado //Solo previsualizamos el item seleccionado
else else
ID_Remesas.Add(IntToStr(ARemesaCliente.ID)); ID_Remesas.Add(ARemesaCliente.ID);
AReportController.Preview(ID_Remesas.CommaText); AReportController.Preview(ID_Remesas);
finally finally
AReportController := NIL; AReportController := NIL;
ID_Remesas.Free; FreeAndNil(ID_Remesas);
end; end;
end; end;
procedure TRemesasClienteController.Print(ARemesaCliente: IBizRemesaCliente; AllItems: Boolean = false); procedure TRemesasClienteController.Print(ARemesaCliente: IBizRemesaCliente; AllItems: Boolean = false);
var var
AReportController : IRemesasClienteReportController; AReportController : IRemesasClienteReportController;
ID_Remesas: TStringList; ID_Remesas: TIntegerList;
begin begin
AReportController := TRemesasClienteReportController.Create; AReportController := TRemesasClienteReportController.Create;
ID_Remesas := TStringList.Create; ID_Remesas := TIntegerList.Create;
try try
//Si deseamos previsualizar todos los items del objeto albaran //Si deseamos previsualizar todos los items del objeto albaran
@ -635,16 +635,16 @@ begin
First; First;
while not EOF do while not EOF do
begin begin
ID_Remesas.Add(IntToStr(ARemesaCliente.ID)); ID_Remesas.Add(ARemesaCliente.ID);
Next; Next;
end; end;
end; end;
end end
//Solo previsualizamos el item seleccionado //Solo previsualizamos el item seleccionado
else else
ID_Remesas.Add(IntToStr(ARemesaCliente.ID)); ID_Remesas.Add(ARemesaCliente.ID);
AReportController.Print(ID_Remesas.CommaText); AReportController.Print(ID_Remesas);
finally finally
AReportController := NIL; AReportController := NIL;

View File

@ -4,16 +4,16 @@ interface
uses uses
Classes, SysUtils, uDADataTable, uControllerBase, uIDataModuleRemesasClienteReport, Classes, SysUtils, uDADataTable, uControllerBase, uIDataModuleRemesasClienteReport,
uBizRemesasCliente; uBizRemesasCliente, uIntegerListUtils;
type type
IRemesasClienteReportController = interface IRemesasClienteReportController = interface(IControllerBase)
['{EA6EAD10-E07B-45A9-9B5E-0D560E2B92DF}'] ['{EA6EAD10-E07B-45A9-9B5E-0D560E2B92DF}']
procedure Preview(const ID : String); procedure Preview(const ListaID : TIntegerList);
procedure Print(const ID : String); procedure Print(const ListaID : TIntegerList);
end; end;
TRemesasClienteReportController = class(TInterfacedObject, IRemesasClienteReportController) TRemesasClienteReportController = class(TControllerBase, IRemesasClienteReportController)
private private
FDataModule : IDataModuleRemesasClienteReport; FDataModule : IDataModuleRemesasClienteReport;
function CreateEditor(const AName: String; const IID: TGUID; out Intf): Boolean; function CreateEditor(const AName: String; const IID: TGUID; out Intf): Boolean;
@ -21,8 +21,8 @@ type
constructor Create; constructor Create;
destructor Destroy; override; destructor Destroy; override;
procedure Preview(const ID : String); procedure Preview(const ListaID : TIntegerList);
procedure Print(const ID : String); procedure Print(const ListaID : TIntegerList);
end; end;
@ -52,7 +52,7 @@ begin
inherited; inherited;
end; end;
procedure TRemesasClienteReportController.Preview(const ID : String); procedure TRemesasClienteReportController.Preview(const ListaID : TIntegerList);
var var
AStream: Binary; AStream: Binary;
AEditor : IEditorRemesasClientePreview; AEditor : IEditorRemesasClientePreview;
@ -61,16 +61,20 @@ begin
ShowHourglassCursor; ShowHourglassCursor;
try try
AStream := FDataModule.GetReport(ID); AStream := FDataModule.GetReport(ListaID);
try try
CreateEditor('EditorRemesasClientePreview', IEditorRemesasClientePreview, AEditor); CreateEditor('EditorRemesasClientePreview', IEditorRemesasClientePreview, AEditor);
if Assigned(AEditor) then if Assigned(AEditor) then
begin
try try
AEditor.Controller := Self;
AEditor.ListaID := ListaID;
AEditor.LoadFromStream(AStream); AEditor.LoadFromStream(AStream);
AEditor.Preview; AEditor.Preview;
finally finally
AEditor.Release; AEditor.Release;
end; end;
end;
finally finally
FreeAndNil(AStream); FreeAndNil(AStream);
AEditor := Nil; AEditor := Nil;
@ -80,7 +84,7 @@ begin
end; end;
end; end;
procedure TRemesasClienteReportController.Print(const ID : String); procedure TRemesasClienteReportController.Print(const ListaID : TIntegerList);
var var
AStream: Binary; AStream: Binary;
AEditor : IEditorRemesasClientePreview; AEditor : IEditorRemesasClientePreview;
@ -89,16 +93,20 @@ begin
ShowHourglassCursor; ShowHourglassCursor;
try try
AStream := FDataModule.GetReport(ID); AStream := FDataModule.GetReport(ListaID);
try try
CreateEditor('EditorRemesasClientePreview', IEditorRemesasClientePreview, AEditor); CreateEditor('EditorRemesasClientePreview', IEditorRemesasClientePreview, AEditor);
if Assigned(AEditor) then if Assigned(AEditor) then
begin
try try
AEditor.Controller := Self;
AEditor.ListaID := ListaID;
AEditor.LoadFromStream(AStream); AEditor.LoadFromStream(AStream);
AEditor.Print; AEditor.Print;
finally finally
AEditor.Release; AEditor.Release;
end; end;
end;
finally finally
FreeAndNil(AStream); FreeAndNil(AStream);
AEditor := Nil; AEditor := Nil;

View File

@ -14,12 +14,12 @@ inherited DataModuleRemesasCliente: TDataModuleRemesasCliente
Top = 84 Top = 84
end end
object rda_RemesasCliente: TDARemoteDataAdapter object rda_RemesasCliente: TDARemoteDataAdapter
DataStreamer = Bin2DataStreamer
GetSchemaCall.RemoteService = RORemoteService GetSchemaCall.RemoteService = RORemoteService
GetDataCall.RemoteService = RORemoteService GetDataCall.RemoteService = RORemoteService
UpdateDataCall.RemoteService = RORemoteService UpdateDataCall.RemoteService = RORemoteService
GetScriptsCall.RemoteService = RORemoteService GetScriptsCall.RemoteService = RORemoteService
RemoteService = RORemoteService RemoteService = RORemoteService
DataStreamer = Bin2DataStreamer
Left = 51 Left = 51
Top = 151 Top = 151
end end
@ -147,8 +147,6 @@ inherited DataModuleRemesasCliente: TDataModuleRemesasCliente
Params = <> Params = <>
StreamingOptions = [soDisableEventsWhileStreaming] StreamingOptions = [soDisableEventsWhileStreaming]
RemoteDataAdapter = rda_RemesasCliente RemoteDataAdapter = rda_RemesasCliente
DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch]
MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
LogicalName = 'RemesasCliente' LogicalName = 'RemesasCliente'
IndexDefs = <> IndexDefs = <>
Left = 208 Left = 208
@ -171,8 +169,6 @@ inherited DataModuleRemesasCliente: TDataModuleRemesasCliente
Params = <> Params = <>
StreamingOptions = [soDisableEventsWhileStreaming] StreamingOptions = [soDisableEventsWhileStreaming]
RemoteDataAdapter = rda_RemesasCliente RemoteDataAdapter = rda_RemesasCliente
DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch]
MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
LogicalName = 'ListaAnosRemesas' LogicalName = 'ListaAnosRemesas'
IndexDefs = <> IndexDefs = <>
Left = 328 Left = 328

View File

@ -9,7 +9,7 @@ uses
uDADesigntimeCall, uDataModuleBase, uDADesigntimeCall, uDataModuleBase,
uIDataModuleRemesasCliente, uIDataModuleRemesasClienteReport, uBizRemesasCliente, uIDataModuleRemesasCliente, uIDataModuleRemesasClienteReport, uBizRemesasCliente,
uDARemoteDataAdapter, uDADataStreamer, uDABin2DataStreamer, uDAInterfaces, uDARemoteDataAdapter, uDADataStreamer, uDABin2DataStreamer, uDAInterfaces,
uDAMemDataTable; uDAMemDataTable, uIntegerListUtils;
type type
TDataModuleRemesasCliente = class(TDataModuleBase, IDataModuleRemesasCliente, IDataModuleRemesasClienteReport) TDataModuleRemesasCliente = class(TDataModuleBase, IDataModuleRemesasCliente, IDataModuleRemesasClienteReport)
@ -31,7 +31,7 @@ type
function NewItem : IBizRemesaCliente; function NewItem : IBizRemesaCliente;
// Report // Report
function GetReport(const ID: String): Binary; function GetReport(const ListaID: TIntegerList): Binary;
function GetAnosItems : TStringList; function GetAnosItems : TStringList;
end; end;
@ -57,9 +57,16 @@ begin
RORemoteService.Message := dmConexion.Message; RORemoteService.Message := dmConexion.Message;
end; end;
function TDataModuleRemesasCliente.GetReport(const ID: String): Binary; function TDataModuleRemesasCliente.GetReport(const ListaID: TIntegerList): Binary;
var
AParam : TIntegerArray;
begin begin
// Result := (RORemoteService as IsrvRemesasCliente).GenerateReport(ID); AParam := ListaID.ToIntegerArray;
try
Result := (RORemoteService as IsrvRemesasCliente).GenerarInforme(AParam);
finally
FreeANDNIL(AParam);
end;
end; end;
function TDataModuleRemesasCliente.NewItem: IBizRemesaCliente; function TDataModuleRemesasCliente.NewItem: IBizRemesaCliente;

View File

@ -3,12 +3,12 @@ unit uIDataModuleRemesasClienteReport;
interface interface
uses uses
SysUtils, Classes, uROTypes; SysUtils, Classes, uROTypes, uIntegerListUtils;
type type
IDataModuleRemesasClienteReport = interface IDataModuleRemesasClienteReport = interface
['{6BFFFC92-D3E0-465C-8259-645B9FE9E446}'] ['{6BFFFC92-D3E0-465C-8259-645B9FE9E446}']
function GetReport(const ID: String): Binary; function GetReport(const ID: TIntegerList): Binary;
end; end;
implementation implementation