From 752998ca90740037a58eaef53f1d666026f8ace5 Mon Sep 17 00:00:00 2001 From: roberto Date: Wed, 15 Oct 2008 18:44:22 +0000 Subject: [PATCH] Modulo nuevo para los informes estadisticos e informes que ya tenian anteriormente git-svn-id: https://192.168.0.254/svn/Proyectos.Tecsitel_FactuGES2/trunk@681 0c75b7a4-871f-7646-8a2f-f78d34cc349f --- Source/Servicios/FactuGES.RODL | 26 ++++++++++++ Source/Servicios/FactuGES_Intf.pas | 62 +++++++++++++++++++++++++++++ Source/Servicios/FactuGES_Invk.pas | 50 +++++++++++++++++++++++ Source/Servicios/RODLFILE.res | Bin 29663 -> 30600 bytes 4 files changed, 138 insertions(+) diff --git a/Source/Servicios/FactuGES.RODL b/Source/Servicios/FactuGES.RODL index 3d5ae562..409a1036 100644 --- a/Source/Servicios/FactuGES.RODL +++ b/Source/Servicios/FactuGES.RODL @@ -537,6 +537,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Source/Servicios/FactuGES_Intf.pas b/Source/Servicios/FactuGES_Intf.pas index ec2a1f42..4e94163c 100644 --- a/Source/Servicios/FactuGES_Intf.pas +++ b/Source/Servicios/FactuGES_Intf.pas @@ -51,6 +51,7 @@ const IsrvObras_IID : TGUID = '{39277224-A0BD-4249-9ACA-39D238798B25}'; IsrvProvinciasPoblaciones_IID : TGUID = '{551D8756-51AE-4929-B235-107CD7B05C38}'; IsrvGestorDocumentos_IID : TGUID = '{2FFB4EEA-F314-442C-920A-E1D37F378929}'; + IsrvGestorInformes_IID : TGUID = '{9ACA4D42-EA9A-4D2C-B233-19CD299EAE91}'; { Event ID's } @@ -84,6 +85,7 @@ type IsrvObras = interface; IsrvProvinciasPoblaciones = interface; IsrvGestorDocumentos = interface; + IsrvGestorInformes = interface; TRdxEmpresasArray = class; TIntegerArray = class; @@ -742,6 +744,27 @@ type function EliminarID(const Almacen: TRdxAlmacenes; const ID: Integer): Boolean; end; + { IsrvGestorInformes } + IsrvGestorInformes = interface(IDataAbstractService) + ['{9ACA4D42-EA9A-4D2C-B233-19CD299EAE91}'] + function GetInformeIVAClientes(const IdEmpresa: Integer; const FechaInicio: DateTime; const FechaFin: DateTime; const ListaIDClientes: TIntegerArray; + const Desglosado: Boolean; const ImporteMinimo: Currency): Binary; + end; + + { CosrvGestorInformes } + CosrvGestorInformes = class + class function Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvGestorInformes; + end; + + { TsrvGestorInformes_Proxy } + TsrvGestorInformes_Proxy = class(TDataAbstractService_Proxy, IsrvGestorInformes) + protected + function __GetInterfaceName:string; override; + + function GetInformeIVAClientes(const IdEmpresa: Integer; const FechaInicio: DateTime; const FechaFin: DateTime; const ListaIDClientes: TIntegerArray; + const Desglosado: Boolean; const ImporteMinimo: Currency): Binary; + end; + implementation uses @@ -2075,6 +2098,43 @@ begin end end; +{ CosrvGestorInformes } + +class function CosrvGestorInformes.Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvGestorInformes; +begin + result := TsrvGestorInformes_Proxy.Create(aMessage, aTransportChannel); +end; + +{ TsrvGestorInformes_Proxy } + +function TsrvGestorInformes_Proxy.__GetInterfaceName:string; +begin + result := 'srvGestorInformes'; +end; + +function TsrvGestorInformes_Proxy.GetInformeIVAClientes(const IdEmpresa: Integer; const FechaInicio: DateTime; const FechaFin: DateTime; const ListaIDClientes: TIntegerArray; + const Desglosado: Boolean; const ImporteMinimo: Currency): Binary; +begin + try + result := nil; + __Message.InitializeRequestMessage(__TransportChannel, 'FactuGES', __InterfaceName, 'GetInformeIVAClientes'); + __Message.Write('IdEmpresa', TypeInfo(Integer), IdEmpresa, []); + __Message.Write('FechaInicio', TypeInfo(DateTime), FechaInicio, [paIsDateTime]); + __Message.Write('FechaFin', TypeInfo(DateTime), FechaFin, [paIsDateTime]); + __Message.Write('ListaIDClientes', TypeInfo(FactuGES_Intf.TIntegerArray), ListaIDClientes, []); + __Message.Write('Desglosado', TypeInfo(Boolean), Desglosado, []); + __Message.Write('ImporteMinimo', TypeInfo(Currency), ImporteMinimo, []); + __Message.Finalize; + + __TransportChannel.Dispatch(__Message); + + __Message.Read('Result', TypeInfo(Binary), result, []); + finally + __Message.UnsetAttributes(__TransportChannel); + __Message.FreeStream; + end +end; + initialization RegisterROClass(TRdxLoginInfo); RegisterROClass(TRdxEmpresasArray); @@ -2107,6 +2167,7 @@ initialization RegisterProxyClass(IsrvObras_IID, TsrvObras_Proxy); RegisterProxyClass(IsrvProvinciasPoblaciones_IID, TsrvProvinciasPoblaciones_Proxy); RegisterProxyClass(IsrvGestorDocumentos_IID, TsrvGestorDocumentos_Proxy); + RegisterProxyClass(IsrvGestorInformes_IID, TsrvGestorInformes_Proxy); finalization @@ -2141,5 +2202,6 @@ finalization UnregisterProxyClass(IsrvObras_IID); UnregisterProxyClass(IsrvProvinciasPoblaciones_IID); UnregisterProxyClass(IsrvGestorDocumentos_IID); + UnregisterProxyClass(IsrvGestorInformes_IID); end. diff --git a/Source/Servicios/FactuGES_Invk.pas b/Source/Servicios/FactuGES_Invk.pas index b0d731e3..ae6760dc 100644 --- a/Source/Servicios/FactuGES_Invk.pas +++ b/Source/Servicios/FactuGES_Invk.pas @@ -221,6 +221,13 @@ type procedure Invoke_EliminarID(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); end; + TsrvGestorInformes_Invoker = class(TDataAbstractService_Invoker) + private + protected + published + procedure Invoke_GetInformeIVAClientes(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); + end; + implementation uses @@ -1151,5 +1158,48 @@ begin end; end; +{ TsrvGestorInformes_Invoker } + +procedure TsrvGestorInformes_Invoker.Invoke_GetInformeIVAClientes(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); +{ function GetInformeIVAClientes(const IdEmpresa: Integer; const FechaInicio: DateTime; const FechaFin: DateTime; const ListaIDClientes: TIntegerArray; + const Desglosado: Boolean; const ImporteMinimo: Currency): Binary; } +var + IdEmpresa: Integer; + FechaInicio: DateTime; + FechaFin: DateTime; + ListaIDClientes: FactuGES_Intf.TIntegerArray; + Desglosado: Boolean; + ImporteMinimo: Currency; + lResult: Binary; + __lObjectDisposer: TROObjectDisposer; +begin + ListaIDClientes := nil; + lResult := nil; + try + __Message.Read('IdEmpresa', TypeInfo(Integer), IdEmpresa, []); + __Message.Read('FechaInicio', TypeInfo(DateTime), FechaInicio, [paIsDateTime]); + __Message.Read('FechaFin', TypeInfo(DateTime), FechaFin, [paIsDateTime]); + __Message.Read('ListaIDClientes', TypeInfo(FactuGES_Intf.TIntegerArray), ListaIDClientes, []); + __Message.Read('Desglosado', TypeInfo(Boolean), Desglosado, []); + __Message.Read('ImporteMinimo', TypeInfo(Currency), ImporteMinimo, []); + + lResult := (__Instance as IsrvGestorInformes).GetInformeIVAClientes(IdEmpresa, FechaInicio, FechaFin, ListaIDClientes, Desglosado, ImporteMinimo); + + __Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvGestorInformes', 'GetInformeIVAClientesResponse'); + __Message.Write('Result', TypeInfo(Binary), lResult, []); + __Message.Finalize; + __Message.UnsetAttributes(__Transport); + + finally + __lObjectDisposer := TROObjectDisposer.Create(__Instance); + try + __lObjectDisposer.Add(ListaIDClientes); + __lObjectDisposer.Add(lResult); + finally + __lObjectDisposer.Free(); + end; + end; +end; + initialization end. diff --git a/Source/Servicios/RODLFILE.res b/Source/Servicios/RODLFILE.res index 084f1aef2faedd210a3e9973d0f7420905d903c1..887aef760fb67d933815fbba040c20d72510b4cb 100644 GIT binary patch delta 357 zcmZ{eyGq1B07Y35Ttry6+Csq)L93C>Bgu@g!ekyxifv@IunXBy1Dj+?vWVDN+9}Kz z_zB{V_ys;HE74Ezfg%=mw>aE$9-dnludOR*j-K4OFR6VDyW0a(H)RzUhh>$U+I99~ z*>}&V!aC461jNTaAOuAq;@AU}QwRn1Bo={vLc8mX3r-|KKyk(akw}0DVGJM>5;3N@ zV)mMD?lj+qc%O?&W{T$5B|NP{9}3_r?g1hY2P}vvfJ!qRLa762yYodm9;nc5}? z$e#C>*R)BGleoyztaKfjG|A|6YWnWSGNUXv7P?!jUyRO*{{VYASZMzg+52Jm`MfAi qeKaZSWL(--Z^gbXZ8&j0Evv>1vm(p?=)|n5Op#hnn%mC!uJaCn+;K+$ delta 20 ccmeBp&v^ei;{*k!{^E^FZ<9CgNWZ`j0B2