unit FactuGES_Invk;

{----------------------------------------------------------------------------}
{ This unit was automatically generated by the RemObjects SDK after reading  }
{ the RODL file associated with this project .                               }
{                                                                            }
{ Do not modify this unit manually, or your changes will be lost when this   }
{ unit is regenerated the next time you compile the project.                 }
{----------------------------------------------------------------------------}

{$I Remobjects.inc}

interface

uses
  {vcl:} Classes,
  {RemObjects:} uROXMLIntf, uROServer, uROServerIntf, uROTypes, uROClientIntf,
  {Used RODL Intf's:} DataAbstract4_Intf,
  {Used RODL Invk's:} DataAbstract4_Invk,
  {Generated:} FactuGES_Intf;

type
  TsrvContactos_Invoker = class(TDataAbstractService_Invoker)
  private
  protected
  published
    procedure Invoke_GenerateEtiquetasReport(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
    procedure Invoke_DarTiendaDeUsuario(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
  end;

  TsrvLogin_Invoker = class(TDataAbstractService_Invoker)
  private
  protected
  published
    procedure Invoke_Login2(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
    procedure Invoke_Login(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
    procedure Invoke_Logout(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
    procedure Invoke_Ping(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
  end;

  TsrvInventario_Invoker = class(TDataAbstractService_Invoker)
  private
  protected
  published
  end;

  TsrvHistoricoMovimientos_Invoker = class(TDataAbstractService_Invoker)
  private
  protected
  published
  end;

  TsrvEmpresas_Invoker = class(TDataAbstractService_Invoker)
  private
  protected
  published
    procedure Invoke_DarTiendaUsuario(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
  end;

  TsrvConfiguracion_Invoker = class(TDataAbstractService_Invoker)
  private
  protected
  published
    procedure Invoke_darValor(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
  end;

  TsrvFamilias_Invoker = class(TDataAbstractService_Invoker)
  private
  protected
  published
  end;

  TsrvFormasPago_Invoker = class(TDataAbstractService_Invoker)
  private
  protected
  published
  end;

  TsrvTiposIVA_Invoker = class(TDataAbstractService_Invoker)
  private
  protected
  published
  end;

  TsrvUsuarios_Invoker = class(TDataAbstractService_Invoker)
  private
  protected
  published
  end;

  TsrvAlmacenes_Invoker = class(TDataAbstractService_Invoker)
  private
  protected
  published
  end;

  TsrvArticulos_Invoker = class(TDataAbstractService_Invoker)
  private
  protected
  published
  end;

  TsrvRecibosCliente_Invoker = class(TDataAbstractService_Invoker)
  private
  protected
  published
    procedure Invoke_GenerateReport(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
  end;

  TsrvRecibosProveedor_Invoker = class(TDataAbstractService_Invoker)
  private
  protected
  published
    procedure Invoke_GenerateReport(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
  end;

  TsrvRemesasCliente_Invoker = class(TDataAbstractService_Invoker)
  private
  protected
  published
    procedure Invoke_GenerateReport(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
  end;

  TsrvRemesasProveedor_Invoker = class(TDataAbstractService_Invoker)
  private
  protected
  published
    procedure Invoke_GenerateReport(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
  end;

  TsrvFacturasCliente_Invoker = class(TDataAbstractService_Invoker)
  private
  protected
  published
    procedure Invoke_GenerateReport(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
  end;

  TsrvFacturasProveedor_Invoker = class(TDataAbstractService_Invoker)
  private
  protected
  published
    procedure Invoke_GenerateReport(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
  end;

  TsrvPresupuestosCliente_Invoker = class(TDataAbstractService_Invoker)
  private
  protected
  published
    procedure Invoke_GenerarInforme(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
    procedure Invoke_GenerarInformeEnPDF(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
  end;

  TsrvPedidosProveedor_Invoker = class(TDataAbstractService_Invoker)
  private
  protected
  published
    procedure Invoke_GenerateReport(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
  end;

  TsrvAlbaranesCliente_Invoker = class(TDataAbstractService_Invoker)
  private
  protected
  published
    procedure Invoke_GenerarInforme(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
    procedure Invoke_GenerarInformeEtiquetas(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
  end;

  TsrvAlbaranesProveedor_Invoker = class(TDataAbstractService_Invoker)
  private
  protected
  published
    procedure Invoke_GenerateReport(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
  end;

  TsrvEjercicios_Invoker = class(TDataAbstractService_Invoker)
  private
  protected
  published
    procedure Invoke_GenerarPGC(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
    procedure Invoke_darEjercicioActivo(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
  end;

  TsrvReferencias_Invoker = class(TDataAbstractService_Invoker)
  private
  protected
  published
    procedure Invoke_DarNuevaReferencia(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
    procedure Invoke_IncrementarValorReferencia(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
  end;

  TsrvContabilidad_Invoker = class(TDataAbstractService_Invoker)
  private
  protected
  published
    procedure Invoke_TieneCuentaAsociada(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
    procedure Invoke_AnadirSubCuentaCliente(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
    procedure Invoke_AnadirSubCuentaProveedor(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
    procedure Invoke_DarNumOrdenAsiento(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
  end;

  TsrvUnidadesMedida_Invoker = class(TDataAbstractService_Invoker)
  private
  protected
  published
  end;

  TsrvComisiones_Invoker = class(TDataAbstractService_Invoker)
  private
  protected
  published
    procedure Invoke_GenerateReport(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
  end;

  TsrvProvinciasPoblaciones_Invoker = class(TROInvoker)
  private
  protected
  published
    procedure Invoke_DarListaProvincias(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
    procedure Invoke_DarListaPoblaciones(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
  end;

  TsrvGestorDocumentos_Invoker = class(TDataAbstractService_Invoker)
  private
  protected
  published
    procedure Invoke_DarListaFicheros(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
    procedure Invoke_DescargarFichero(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
    procedure Invoke_SubirFichero(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
    procedure Invoke_EliminarFichero(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
    procedure Invoke_EliminarID(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
  end;

implementation

uses
  {RemObjects:} uRORes, uROClient;

{ TsrvContactos_Invoker }

procedure TsrvContactos_Invoker.Invoke_GenerateEtiquetasReport(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function GenerateEtiquetasReport(const ContactosID: String): Binary; }
var
  ContactosID: String;
  lResult: Binary;
  __lObjectDisposer: TROObjectDisposer;
begin
  lResult := nil;
  try
    __Message.Read('ContactosID', TypeInfo(String), ContactosID, []);

    lResult := (__Instance as IsrvContactos).GenerateEtiquetasReport(ContactosID);

    __Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvContactos', 'GenerateEtiquetasReportResponse');
    __Message.Write('Result', TypeInfo(Binary), lResult, []);
    __Message.Finalize;
    __Message.UnsetAttributes(__Transport);

  finally
    __lObjectDisposer := TROObjectDisposer.Create(__Instance);
    try
      __lObjectDisposer.Add(lResult);
    finally
      __lObjectDisposer.Free();
    end;
  end;
end;

procedure TsrvContactos_Invoker.Invoke_DarTiendaDeUsuario(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function DarTiendaDeUsuario(const ID_Empresa: Integer; const ID_Usuario: Integer): Integer; }
var
  ID_Empresa: Integer;
  ID_Usuario: Integer;
  lResult: Integer;
begin
  try
    __Message.Read('ID_Empresa', TypeInfo(Integer), ID_Empresa, []);
    __Message.Read('ID_Usuario', TypeInfo(Integer), ID_Usuario, []);

    lResult := (__Instance as IsrvContactos).DarTiendaDeUsuario(ID_Empresa, ID_Usuario);

    __Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvContactos', 'DarTiendaDeUsuarioResponse');
    __Message.Write('Result', TypeInfo(Integer), lResult, []);
    __Message.Finalize;
    __Message.UnsetAttributes(__Transport);

  finally
  end;
end;

{ TsrvLogin_Invoker }

procedure TsrvLogin_Invoker.Invoke_Login2(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function Login2(const User: String; const Password: String; out LoginInfo: TRdxLoginInfo): Boolean; }
var
  User: String;
  Password: String;
  LoginInfo: FactuGES_Intf.TRdxLoginInfo;
  lResult: Boolean;
  __lObjectDisposer: TROObjectDisposer;
begin
  LoginInfo := nil;
  try
    __Message.Read('User', TypeInfo(String), User, []);
    __Message.Read('Password', TypeInfo(String), Password, []);

    lResult := (__Instance as IsrvLogin).Login2(User, Password, LoginInfo);

    __Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvLogin', 'Login2Response');
    __Message.Write('Result', TypeInfo(Boolean), lResult, []);
    __Message.Write('LoginInfo', TypeInfo(FactuGES_Intf.TRdxLoginInfo), LoginInfo, []);
    __Message.Finalize;
    __Message.UnsetAttributes(__Transport);

  finally
    __lObjectDisposer := TROObjectDisposer.Create(__Instance);
    try
      __lObjectDisposer.Add(LoginInfo);
    finally
      __lObjectDisposer.Free();
    end;
  end;
end;

procedure TsrvLogin_Invoker.Invoke_Login(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function Login(const User: String; const Password: String): Boolean; }
var
  User: String;
  Password: String;
  lResult: Boolean;
begin
  try
    __Message.Read('User', TypeInfo(String), User, []);
    __Message.Read('Password', TypeInfo(String), Password, []);

    lResult := (__Instance as IsrvLogin).Login(User, Password);

    __Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvLogin', 'LoginResponse');
    __Message.Write('Result', TypeInfo(Boolean), lResult, []);
    __Message.Finalize;
    __Message.UnsetAttributes(__Transport);

  finally
  end;
end;

procedure TsrvLogin_Invoker.Invoke_Logout(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ procedure Logout; }
begin
  try
    (__Instance as IsrvLogin).Logout;

    __Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvLogin', 'LogoutResponse');
    __Message.Finalize;

    __oResponseOptions := [roNoResponse];

  finally
  end;
end;

procedure TsrvLogin_Invoker.Invoke_Ping(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function Ping: Boolean; }
var
  lResult: Boolean;
begin
  try
    lResult := (__Instance as IsrvLogin).Ping;

    __Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvLogin', 'PingResponse');
    __Message.Write('Result', TypeInfo(Boolean), lResult, []);
    __Message.Finalize;
    __Message.UnsetAttributes(__Transport);

  finally
  end;
end;

{ TsrvEmpresas_Invoker }

procedure TsrvEmpresas_Invoker.Invoke_DarTiendaUsuario(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function DarTiendaUsuario(const ID_EMPRESA: Integer; const ID_USUARIO: Integer): Integer; }
var
  ID_EMPRESA: Integer;
  ID_USUARIO: Integer;
  lResult: Integer;
begin
  try
    __Message.Read('ID_EMPRESA', TypeInfo(Integer), ID_EMPRESA, []);
    __Message.Read('ID_USUARIO', TypeInfo(Integer), ID_USUARIO, []);

    lResult := (__Instance as IsrvEmpresas).DarTiendaUsuario(ID_EMPRESA, ID_USUARIO);

    __Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvEmpresas', 'DarTiendaUsuarioResponse');
    __Message.Write('Result', TypeInfo(Integer), lResult, []);
    __Message.Finalize;
    __Message.UnsetAttributes(__Transport);

  finally
  end;
end;

{ TsrvConfiguracion_Invoker }

procedure TsrvConfiguracion_Invoker.Invoke_darValor(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function darValor(const CODIGO: String; const ValorPorDefecto: String): String; }
var
  CODIGO: String;
  ValorPorDefecto: String;
  lResult: String;
begin
  try
    __Message.Read('CODIGO', TypeInfo(String), CODIGO, []);
    __Message.Read('ValorPorDefecto', TypeInfo(String), ValorPorDefecto, []);

    lResult := (__Instance as IsrvConfiguracion).darValor(CODIGO, ValorPorDefecto);

    __Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvConfiguracion', 'darValorResponse');
    __Message.Write('Result', TypeInfo(String), lResult, []);
    __Message.Finalize;
    __Message.UnsetAttributes(__Transport);

  finally
  end;
end;

{ TsrvRecibosCliente_Invoker }

procedure TsrvRecibosCliente_Invoker.Invoke_GenerateReport(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function GenerateReport(const ID: String): Binary; }
var
  ID: String;
  lResult: Binary;
  __lObjectDisposer: TROObjectDisposer;
begin
  lResult := nil;
  try
    __Message.Read('ID', TypeInfo(String), ID, []);

    lResult := (__Instance as IsrvRecibosCliente).GenerateReport(ID);

    __Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvRecibosCliente', 'GenerateReportResponse');
    __Message.Write('Result', TypeInfo(Binary), lResult, []);
    __Message.Finalize;
    __Message.UnsetAttributes(__Transport);

  finally
    __lObjectDisposer := TROObjectDisposer.Create(__Instance);
    try
      __lObjectDisposer.Add(lResult);
    finally
      __lObjectDisposer.Free();
    end;
  end;
end;

{ TsrvRecibosProveedor_Invoker }

procedure TsrvRecibosProveedor_Invoker.Invoke_GenerateReport(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function GenerateReport(const ID: Integer): Binary; }
var
  ID: Integer;
  lResult: Binary;
  __lObjectDisposer: TROObjectDisposer;
begin
  lResult := nil;
  try
    __Message.Read('ID', TypeInfo(Integer), ID, []);

    lResult := (__Instance as IsrvRecibosProveedor).GenerateReport(ID);

    __Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvRecibosProveedor', 'GenerateReportResponse');
    __Message.Write('Result', TypeInfo(Binary), lResult, []);
    __Message.Finalize;
    __Message.UnsetAttributes(__Transport);

  finally
    __lObjectDisposer := TROObjectDisposer.Create(__Instance);
    try
      __lObjectDisposer.Add(lResult);
    finally
      __lObjectDisposer.Free();
    end;
  end;
end;

{ TsrvRemesasCliente_Invoker }

procedure TsrvRemesasCliente_Invoker.Invoke_GenerateReport(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function GenerateReport(const ID: String): Binary; }
var
  ID: String;
  lResult: Binary;
  __lObjectDisposer: TROObjectDisposer;
begin
  lResult := nil;
  try
    __Message.Read('ID', TypeInfo(String), ID, []);

    lResult := (__Instance as IsrvRemesasCliente).GenerateReport(ID);

    __Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvRemesasCliente', 'GenerateReportResponse');
    __Message.Write('Result', TypeInfo(Binary), lResult, []);
    __Message.Finalize;
    __Message.UnsetAttributes(__Transport);

  finally
    __lObjectDisposer := TROObjectDisposer.Create(__Instance);
    try
      __lObjectDisposer.Add(lResult);
    finally
      __lObjectDisposer.Free();
    end;
  end;
end;

{ TsrvRemesasProveedor_Invoker }

procedure TsrvRemesasProveedor_Invoker.Invoke_GenerateReport(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function GenerateReport(const ID: String): Binary; }
var
  ID: String;
  lResult: Binary;
  __lObjectDisposer: TROObjectDisposer;
begin
  lResult := nil;
  try
    __Message.Read('ID', TypeInfo(String), ID, []);

    lResult := (__Instance as IsrvRemesasProveedor).GenerateReport(ID);

    __Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvRemesasProveedor', 'GenerateReportResponse');
    __Message.Write('Result', TypeInfo(Binary), lResult, []);
    __Message.Finalize;
    __Message.UnsetAttributes(__Transport);

  finally
    __lObjectDisposer := TROObjectDisposer.Create(__Instance);
    try
      __lObjectDisposer.Add(lResult);
    finally
      __lObjectDisposer.Free();
    end;
  end;
end;

{ TsrvFacturasCliente_Invoker }

procedure TsrvFacturasCliente_Invoker.Invoke_GenerateReport(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function GenerateReport(const FacturaID: String): Binary; }
var
  FacturaID: String;
  lResult: Binary;
  __lObjectDisposer: TROObjectDisposer;
begin
  lResult := nil;
  try
    __Message.Read('FacturaID', TypeInfo(String), FacturaID, []);

    lResult := (__Instance as IsrvFacturasCliente).GenerateReport(FacturaID);

    __Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvFacturasCliente', 'GenerateReportResponse');
    __Message.Write('Result', TypeInfo(Binary), lResult, []);
    __Message.Finalize;
    __Message.UnsetAttributes(__Transport);

  finally
    __lObjectDisposer := TROObjectDisposer.Create(__Instance);
    try
      __lObjectDisposer.Add(lResult);
    finally
      __lObjectDisposer.Free();
    end;
  end;
end;

{ TsrvFacturasProveedor_Invoker }

procedure TsrvFacturasProveedor_Invoker.Invoke_GenerateReport(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function GenerateReport(const FacturaID: String): Binary; }
var
  FacturaID: String;
  lResult: Binary;
  __lObjectDisposer: TROObjectDisposer;
begin
  lResult := nil;
  try
    __Message.Read('FacturaID', TypeInfo(String), FacturaID, []);

    lResult := (__Instance as IsrvFacturasProveedor).GenerateReport(FacturaID);

    __Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvFacturasProveedor', 'GenerateReportResponse');
    __Message.Write('Result', TypeInfo(Binary), lResult, []);
    __Message.Finalize;
    __Message.UnsetAttributes(__Transport);

  finally
    __lObjectDisposer := TROObjectDisposer.Create(__Instance);
    try
      __lObjectDisposer.Add(lResult);
    finally
      __lObjectDisposer.Free();
    end;
  end;
end;

{ TsrvPresupuestosCliente_Invoker }

procedure TsrvPresupuestosCliente_Invoker.Invoke_GenerarInforme(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function GenerarInforme(const ListaID: TIntegerArray): Binary; }
var
  ListaID: FactuGES_Intf.TIntegerArray;
  lResult: Binary;
  __lObjectDisposer: TROObjectDisposer;
begin
  ListaID := nil;
  lResult := nil;
  try
    __Message.Read('ListaID', TypeInfo(FactuGES_Intf.TIntegerArray), ListaID, []);

    lResult := (__Instance as IsrvPresupuestosCliente).GenerarInforme(ListaID);

    __Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvPresupuestosCliente', 'GenerarInformeResponse');
    __Message.Write('Result', TypeInfo(Binary), lResult, []);
    __Message.Finalize;
    __Message.UnsetAttributes(__Transport);

  finally
    __lObjectDisposer := TROObjectDisposer.Create(__Instance);
    try
      __lObjectDisposer.Add(ListaID);
      __lObjectDisposer.Add(lResult);
    finally
      __lObjectDisposer.Free();
    end;
  end;
end;

procedure TsrvPresupuestosCliente_Invoker.Invoke_GenerarInformeEnPDF(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function GenerarInformeEnPDF(const ListaID: TIntegerArray): Binary; }
var
  ListaID: FactuGES_Intf.TIntegerArray;
  lResult: Binary;
  __lObjectDisposer: TROObjectDisposer;
begin
  ListaID := nil;
  lResult := nil;
  try
    __Message.Read('ListaID', TypeInfo(FactuGES_Intf.TIntegerArray), ListaID, []);

    lResult := (__Instance as IsrvPresupuestosCliente).GenerarInformeEnPDF(ListaID);

    __Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvPresupuestosCliente', 'GenerarInformeEnPDFResponse');
    __Message.Write('Result', TypeInfo(Binary), lResult, []);
    __Message.Finalize;
    __Message.UnsetAttributes(__Transport);

  finally
    __lObjectDisposer := TROObjectDisposer.Create(__Instance);
    try
      __lObjectDisposer.Add(ListaID);
      __lObjectDisposer.Add(lResult);
    finally
      __lObjectDisposer.Free();
    end;
  end;
end;

{ TsrvPedidosProveedor_Invoker }

procedure TsrvPedidosProveedor_Invoker.Invoke_GenerateReport(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function GenerateReport(const ID: String): Binary; }
var
  ID: String;
  lResult: Binary;
  __lObjectDisposer: TROObjectDisposer;
begin
  lResult := nil;
  try
    __Message.Read('ID', TypeInfo(String), ID, []);

    lResult := (__Instance as IsrvPedidosProveedor).GenerateReport(ID);

    __Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvPedidosProveedor', 'GenerateReportResponse');
    __Message.Write('Result', TypeInfo(Binary), lResult, []);
    __Message.Finalize;
    __Message.UnsetAttributes(__Transport);

  finally
    __lObjectDisposer := TROObjectDisposer.Create(__Instance);
    try
      __lObjectDisposer.Add(lResult);
    finally
      __lObjectDisposer.Free();
    end;
  end;
end;

{ TsrvAlbaranesCliente_Invoker }

procedure TsrvAlbaranesCliente_Invoker.Invoke_GenerarInforme(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function GenerarInforme(const ListaID: TIntegerArray): Binary; }
var
  ListaID: FactuGES_Intf.TIntegerArray;
  lResult: Binary;
  __lObjectDisposer: TROObjectDisposer;
begin
  ListaID := nil;
  lResult := nil;
  try
    __Message.Read('ListaID', TypeInfo(FactuGES_Intf.TIntegerArray), ListaID, []);

    lResult := (__Instance as IsrvAlbaranesCliente).GenerarInforme(ListaID);

    __Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvAlbaranesCliente', 'GenerarInformeResponse');
    __Message.Write('Result', TypeInfo(Binary), lResult, []);
    __Message.Finalize;
    __Message.UnsetAttributes(__Transport);

  finally
    __lObjectDisposer := TROObjectDisposer.Create(__Instance);
    try
      __lObjectDisposer.Add(ListaID);
      __lObjectDisposer.Add(lResult);
    finally
      __lObjectDisposer.Free();
    end;
  end;
end;

procedure TsrvAlbaranesCliente_Invoker.Invoke_GenerarInformeEtiquetas(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function GenerarInformeEtiquetas(const ID: Integer; const withRefCliente: Boolean): Binary; }
var
  ID: Integer;
  withRefCliente: Boolean;
  lResult: Binary;
  __lObjectDisposer: TROObjectDisposer;
begin
  lResult := nil;
  try
    __Message.Read('ID', TypeInfo(Integer), ID, []);
    __Message.Read('withRefCliente', TypeInfo(Boolean), withRefCliente, []);

    lResult := (__Instance as IsrvAlbaranesCliente).GenerarInformeEtiquetas(ID, withRefCliente);

    __Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvAlbaranesCliente', 'GenerarInformeEtiquetasResponse');
    __Message.Write('Result', TypeInfo(Binary), lResult, []);
    __Message.Finalize;
    __Message.UnsetAttributes(__Transport);

  finally
    __lObjectDisposer := TROObjectDisposer.Create(__Instance);
    try
      __lObjectDisposer.Add(lResult);
    finally
      __lObjectDisposer.Free();
    end;
  end;
end;

{ TsrvAlbaranesProveedor_Invoker }

procedure TsrvAlbaranesProveedor_Invoker.Invoke_GenerateReport(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function GenerateReport(const ID: String): Binary; }
var
  ID: String;
  lResult: Binary;
  __lObjectDisposer: TROObjectDisposer;
begin
  lResult := nil;
  try
    __Message.Read('ID', TypeInfo(String), ID, []);

    lResult := (__Instance as IsrvAlbaranesProveedor).GenerateReport(ID);

    __Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvAlbaranesProveedor', 'GenerateReportResponse');
    __Message.Write('Result', TypeInfo(Binary), lResult, []);
    __Message.Finalize;
    __Message.UnsetAttributes(__Transport);

  finally
    __lObjectDisposer := TROObjectDisposer.Create(__Instance);
    try
      __lObjectDisposer.Add(lResult);
    finally
      __lObjectDisposer.Free();
    end;
  end;
end;

{ TsrvEjercicios_Invoker }

procedure TsrvEjercicios_Invoker.Invoke_GenerarPGC(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function GenerarPGC(const ID_EJERCICIO_COPIA: Integer; const ID_EJERCICIO: Integer): Boolean; }
var
  ID_EJERCICIO_COPIA: Integer;
  ID_EJERCICIO: Integer;
  lResult: Boolean;
begin
  try
    __Message.Read('ID_EJERCICIO_COPIA', TypeInfo(Integer), ID_EJERCICIO_COPIA, []);
    __Message.Read('ID_EJERCICIO', TypeInfo(Integer), ID_EJERCICIO, []);

    lResult := (__Instance as IsrvEjercicios).GenerarPGC(ID_EJERCICIO_COPIA, ID_EJERCICIO);

    __Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvEjercicios', 'GenerarPGCResponse');
    __Message.Write('Result', TypeInfo(Boolean), lResult, []);
    __Message.Finalize;
    __Message.UnsetAttributes(__Transport);

  finally
  end;
end;

procedure TsrvEjercicios_Invoker.Invoke_darEjercicioActivo(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function darEjercicioActivo(const ID_EMPRESA: Integer): Integer; }
var
  ID_EMPRESA: Integer;
  lResult: Integer;
begin
  try
    __Message.Read('ID_EMPRESA', TypeInfo(Integer), ID_EMPRESA, []);

    lResult := (__Instance as IsrvEjercicios).darEjercicioActivo(ID_EMPRESA);

    __Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvEjercicios', 'darEjercicioActivoResponse');
    __Message.Write('Result', TypeInfo(Integer), lResult, []);
    __Message.Finalize;
    __Message.UnsetAttributes(__Transport);

  finally
  end;
end;

{ TsrvReferencias_Invoker }

procedure TsrvReferencias_Invoker.Invoke_DarNuevaReferencia(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function DarNuevaReferencia(const NombreReferencia: String; const EmpresaID: Integer; const TiendaID: Integer): String; }
var
  NombreReferencia: String;
  EmpresaID: Integer;
  TiendaID: Integer;
  lResult: String;
begin
  try
    __Message.Read('NombreReferencia', TypeInfo(String), NombreReferencia, []);
    __Message.Read('EmpresaID', TypeInfo(Integer), EmpresaID, []);
    __Message.Read('TiendaID', TypeInfo(Integer), TiendaID, []);

    lResult := (__Instance as IsrvReferencias).DarNuevaReferencia(NombreReferencia, EmpresaID, TiendaID);

    __Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvReferencias', 'DarNuevaReferenciaResponse');
    __Message.Write('Result', TypeInfo(String), lResult, []);
    __Message.Finalize;
    __Message.UnsetAttributes(__Transport);

  finally
  end;
end;

procedure TsrvReferencias_Invoker.Invoke_IncrementarValorReferencia(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function IncrementarValorReferencia(const NombreReferencia: String; const Valor: String; const EmpresaID: Integer; const TiendaID: Integer): Boolean; }
var
  NombreReferencia: String;
  Valor: String;
  EmpresaID: Integer;
  TiendaID: Integer;
  lResult: Boolean;
begin
  try
    __Message.Read('NombreReferencia', TypeInfo(String), NombreReferencia, []);
    __Message.Read('Valor', TypeInfo(String), Valor, []);
    __Message.Read('EmpresaID', TypeInfo(Integer), EmpresaID, []);
    __Message.Read('TiendaID', TypeInfo(Integer), TiendaID, []);

    lResult := (__Instance as IsrvReferencias).IncrementarValorReferencia(NombreReferencia, Valor, EmpresaID, TiendaID);

    __Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvReferencias', 'IncrementarValorReferenciaResponse');
    __Message.Write('Result', TypeInfo(Boolean), lResult, []);
    __Message.Finalize;
    __Message.UnsetAttributes(__Transport);

  finally
  end;
end;

{ TsrvContabilidad_Invoker }

procedure TsrvContabilidad_Invoker.Invoke_TieneCuentaAsociada(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function TieneCuentaAsociada(const ID_CONTACTO: Integer; const ID_EMPRESA: Integer): Boolean; }
var
  ID_CONTACTO: Integer;
  ID_EMPRESA: Integer;
  lResult: Boolean;
begin
  try
    __Message.Read('ID_CONTACTO', TypeInfo(Integer), ID_CONTACTO, []);
    __Message.Read('ID_EMPRESA', TypeInfo(Integer), ID_EMPRESA, []);

    lResult := (__Instance as IsrvContabilidad).TieneCuentaAsociada(ID_CONTACTO, ID_EMPRESA);

    __Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvContabilidad', 'TieneCuentaAsociadaResponse');
    __Message.Write('Result', TypeInfo(Boolean), lResult, []);
    __Message.Finalize;
    __Message.UnsetAttributes(__Transport);

  finally
  end;
end;

procedure TsrvContabilidad_Invoker.Invoke_AnadirSubCuentaCliente(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function AnadirSubCuentaCliente(const ID_CONTACTO: Integer; const ID_TIENDA: Integer; const ID_EMPRESA: Integer; const CLIENTE: String): Boolean; }
var
  ID_CONTACTO: Integer;
  ID_TIENDA: Integer;
  ID_EMPRESA: Integer;
  CLIENTE: String;
  lResult: Boolean;
begin
  try
    __Message.Read('ID_CONTACTO', TypeInfo(Integer), ID_CONTACTO, []);
    __Message.Read('ID_TIENDA', TypeInfo(Integer), ID_TIENDA, []);
    __Message.Read('ID_EMPRESA', TypeInfo(Integer), ID_EMPRESA, []);
    __Message.Read('CLIENTE', TypeInfo(String), CLIENTE, []);

    lResult := (__Instance as IsrvContabilidad).AnadirSubCuentaCliente(ID_CONTACTO, ID_TIENDA, ID_EMPRESA, CLIENTE);

    __Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvContabilidad', 'AnadirSubCuentaClienteResponse');
    __Message.Write('Result', TypeInfo(Boolean), lResult, []);
    __Message.Finalize;
    __Message.UnsetAttributes(__Transport);

  finally
  end;
end;

procedure TsrvContabilidad_Invoker.Invoke_AnadirSubCuentaProveedor(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function AnadirSubCuentaProveedor(const ID_CONTACTO: Integer; const ES_ACREEDOR: Integer; const ID_EMPRESA: Integer; const PROVEEDOR: String): Boolean; }
var
  ID_CONTACTO: Integer;
  ES_ACREEDOR: Integer;
  ID_EMPRESA: Integer;
  PROVEEDOR: String;
  lResult: Boolean;
begin
  try
    __Message.Read('ID_CONTACTO', TypeInfo(Integer), ID_CONTACTO, []);
    __Message.Read('ES_ACREEDOR', TypeInfo(Integer), ES_ACREEDOR, []);
    __Message.Read('ID_EMPRESA', TypeInfo(Integer), ID_EMPRESA, []);
    __Message.Read('PROVEEDOR', TypeInfo(String), PROVEEDOR, []);

    lResult := (__Instance as IsrvContabilidad).AnadirSubCuentaProveedor(ID_CONTACTO, ES_ACREEDOR, ID_EMPRESA, PROVEEDOR);

    __Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvContabilidad', 'AnadirSubCuentaProveedorResponse');
    __Message.Write('Result', TypeInfo(Boolean), lResult, []);
    __Message.Finalize;
    __Message.UnsetAttributes(__Transport);

  finally
  end;
end;

procedure TsrvContabilidad_Invoker.Invoke_DarNumOrdenAsiento(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function DarNumOrdenAsiento: Integer; }
var
  lResult: Integer;
begin
  try
    lResult := (__Instance as IsrvContabilidad).DarNumOrdenAsiento;

    __Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvContabilidad', 'DarNumOrdenAsientoResponse');
    __Message.Write('Result', TypeInfo(Integer), lResult, []);
    __Message.Finalize;
    __Message.UnsetAttributes(__Transport);

  finally
  end;
end;

{ TsrvComisiones_Invoker }

procedure TsrvComisiones_Invoker.Invoke_GenerateReport(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function GenerateReport(const ComisionID: String): Binary; }
var
  ComisionID: String;
  lResult: Binary;
  __lObjectDisposer: TROObjectDisposer;
begin
  lResult := nil;
  try
    __Message.Read('ComisionID', TypeInfo(String), ComisionID, []);

    lResult := (__Instance as IsrvComisiones).GenerateReport(ComisionID);

    __Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvComisiones', 'GenerateReportResponse');
    __Message.Write('Result', TypeInfo(Binary), lResult, []);
    __Message.Finalize;
    __Message.UnsetAttributes(__Transport);

  finally
    __lObjectDisposer := TROObjectDisposer.Create(__Instance);
    try
      __lObjectDisposer.Add(lResult);
    finally
      __lObjectDisposer.Free();
    end;
  end;
end;

{ TsrvProvinciasPoblaciones_Invoker }

procedure TsrvProvinciasPoblaciones_Invoker.Invoke_DarListaProvincias(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function DarListaProvincias: Binary; }
var
  lResult: Binary;
  __lObjectDisposer: TROObjectDisposer;
begin
  lResult := nil;
  try
    lResult := (__Instance as IsrvProvinciasPoblaciones).DarListaProvincias;

    __Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvProvinciasPoblaciones', 'DarListaProvinciasResponse');
    __Message.Write('Result', TypeInfo(Binary), lResult, []);
    __Message.Finalize;
    __Message.UnsetAttributes(__Transport);

  finally
    __lObjectDisposer := TROObjectDisposer.Create(__Instance);
    try
      __lObjectDisposer.Add(lResult);
    finally
      __lObjectDisposer.Free();
    end;
  end;
end;

procedure TsrvProvinciasPoblaciones_Invoker.Invoke_DarListaPoblaciones(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function DarListaPoblaciones(const ID_Provincia: Integer): Binary; }
var
  ID_Provincia: Integer;
  lResult: Binary;
  __lObjectDisposer: TROObjectDisposer;
begin
  lResult := nil;
  try
    __Message.Read('ID_Provincia', TypeInfo(Integer), ID_Provincia, []);

    lResult := (__Instance as IsrvProvinciasPoblaciones).DarListaPoblaciones(ID_Provincia);

    __Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvProvinciasPoblaciones', 'DarListaPoblacionesResponse');
    __Message.Write('Result', TypeInfo(Binary), lResult, []);
    __Message.Finalize;
    __Message.UnsetAttributes(__Transport);

  finally
    __lObjectDisposer := TROObjectDisposer.Create(__Instance);
    try
      __lObjectDisposer.Add(lResult);
    finally
      __lObjectDisposer.Free();
    end;
  end;
end;

{ TsrvGestorDocumentos_Invoker }

procedure TsrvGestorDocumentos_Invoker.Invoke_DarListaFicheros(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function DarListaFicheros(const Almacen: TRdxAlmacenes; const ID: Integer): StringArray; }
var
  Almacen: FactuGES_Intf.TRdxAlmacenes;
  ID: Integer;
  lResult: DataAbstract4_Intf.StringArray;
  __lObjectDisposer: TROObjectDisposer;
begin
  lResult := nil;
  try
    __Message.Read('Almacen', TypeInfo(FactuGES_Intf.TRdxAlmacenes), Almacen, []);
    __Message.Read('ID', TypeInfo(Integer), ID, []);

    lResult := (__Instance as IsrvGestorDocumentos).DarListaFicheros(Almacen, ID);

    __Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvGestorDocumentos', 'DarListaFicherosResponse');
    __Message.Write('Result', TypeInfo(DataAbstract4_Intf.StringArray), lResult, []);
    __Message.Finalize;
    __Message.UnsetAttributes(__Transport);

  finally
    __lObjectDisposer := TROObjectDisposer.Create(__Instance);
    try
      __lObjectDisposer.Add(lResult);
    finally
      __lObjectDisposer.Free();
    end;
  end;
end;

procedure TsrvGestorDocumentos_Invoker.Invoke_DescargarFichero(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function DescargarFichero(const Almacen: TRdxAlmacenes; const ID: Integer; const NombreFichero: String): Binary; }
var
  Almacen: FactuGES_Intf.TRdxAlmacenes;
  ID: Integer;
  NombreFichero: String;
  lResult: Binary;
  __lObjectDisposer: TROObjectDisposer;
begin
  lResult := nil;
  try
    __Message.Read('Almacen', TypeInfo(FactuGES_Intf.TRdxAlmacenes), Almacen, []);
    __Message.Read('ID', TypeInfo(Integer), ID, []);
    __Message.Read('NombreFichero', TypeInfo(String), NombreFichero, []);

    lResult := (__Instance as IsrvGestorDocumentos).DescargarFichero(Almacen, ID, NombreFichero);

    __Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvGestorDocumentos', 'DescargarFicheroResponse');
    __Message.Write('Result', TypeInfo(Binary), lResult, []);
    __Message.Finalize;
    __Message.UnsetAttributes(__Transport);

  finally
    __lObjectDisposer := TROObjectDisposer.Create(__Instance);
    try
      __lObjectDisposer.Add(lResult);
    finally
      __lObjectDisposer.Free();
    end;
  end;
end;

procedure TsrvGestorDocumentos_Invoker.Invoke_SubirFichero(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function SubirFichero(const Almacen: TRdxAlmacenes; const ID: Integer; const NombreFichero: String; const Fichero: Binary): Boolean; }
var
  Almacen: FactuGES_Intf.TRdxAlmacenes;
  ID: Integer;
  NombreFichero: String;
  Fichero: Binary;
  lResult: Boolean;
  __lObjectDisposer: TROObjectDisposer;
begin
  Fichero := nil;
  try
    __Message.Read('Almacen', TypeInfo(FactuGES_Intf.TRdxAlmacenes), Almacen, []);
    __Message.Read('ID', TypeInfo(Integer), ID, []);
    __Message.Read('NombreFichero', TypeInfo(String), NombreFichero, []);
    __Message.Read('Fichero', TypeInfo(Binary), Fichero, []);

    lResult := (__Instance as IsrvGestorDocumentos).SubirFichero(Almacen, ID, NombreFichero, Fichero);

    __Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvGestorDocumentos', 'SubirFicheroResponse');
    __Message.Write('Result', TypeInfo(Boolean), lResult, []);
    __Message.Finalize;
    __Message.UnsetAttributes(__Transport);

  finally
    __lObjectDisposer := TROObjectDisposer.Create(__Instance);
    try
      __lObjectDisposer.Add(Fichero);
    finally
      __lObjectDisposer.Free();
    end;
  end;
end;

procedure TsrvGestorDocumentos_Invoker.Invoke_EliminarFichero(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function EliminarFichero(const Almacen: TRdxAlmacenes; const ID: Integer; const NombreFichero: String): Boolean; }
var
  Almacen: FactuGES_Intf.TRdxAlmacenes;
  ID: Integer;
  NombreFichero: String;
  lResult: Boolean;
begin
  try
    __Message.Read('Almacen', TypeInfo(FactuGES_Intf.TRdxAlmacenes), Almacen, []);
    __Message.Read('ID', TypeInfo(Integer), ID, []);
    __Message.Read('NombreFichero', TypeInfo(String), NombreFichero, []);

    lResult := (__Instance as IsrvGestorDocumentos).EliminarFichero(Almacen, ID, NombreFichero);

    __Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvGestorDocumentos', 'EliminarFicheroResponse');
    __Message.Write('Result', TypeInfo(Boolean), lResult, []);
    __Message.Finalize;
    __Message.UnsetAttributes(__Transport);

  finally
  end;
end;

procedure TsrvGestorDocumentos_Invoker.Invoke_EliminarID(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function EliminarID(const Almacen: TRdxAlmacenes; const ID: Integer): Boolean; }
var
  Almacen: FactuGES_Intf.TRdxAlmacenes;
  ID: Integer;
  lResult: Boolean;
begin
  try
    __Message.Read('Almacen', TypeInfo(FactuGES_Intf.TRdxAlmacenes), Almacen, []);
    __Message.Read('ID', TypeInfo(Integer), ID, []);

    lResult := (__Instance as IsrvGestorDocumentos).EliminarID(Almacen, ID);

    __Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvGestorDocumentos', 'EliminarIDResponse');
    __Message.Write('Result', TypeInfo(Boolean), lResult, []);
    __Message.Finalize;
    __Message.UnsetAttributes(__Transport);

  finally
  end;
end;

initialization
end.
