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

View File

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

View File

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

View File

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

View File

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