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.                 }
{----------------------------------------------------------------------------}

interface

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

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

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

  TsrvLogin_Invoker = class(TDARemoteService_Invoker)
  private
  protected
  published
    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;

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

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

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

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

  TsrvAlmacenes_Invoker = class(TDARemoteService_Invoker)
  private
  protected
  published
    procedure Invoke_GetNextAutoInc(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
  end;

  TsrvArticulos_Invoker = class(TDARemoteService_Invoker)
  private
  protected
  published
    procedure Invoke_GetNextAutoInc(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
  end;

  TsrvInventario_Invoker = class(TDARemoteService_Invoker)
  private
  protected
  published
    procedure Invoke_GetNextAutoInc(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
  end;

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

  TsrvFamilias_Invoker = class(TDARemoteService_Invoker)
  private
  protected
  published
  end;

  TsrvAlbaranesCliente_Invoker = class(TDARemoteService_Invoker)
  private
  protected
  published
    procedure Invoke_GetNextAutoInc(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
    procedure Invoke_GenerateReport(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
    procedure Invoke_GenerateEtiquetas(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
  end;

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

  TsrvFormasPago_Invoker = class(TDARemoteService_Invoker)
  private
  protected
  published
    procedure Invoke_GetNextAutoInc(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
  end;

  TsrvTiposIVA_Invoker = class(TDARemoteService_Invoker)
  private
  protected
  published
    procedure Invoke_GetNextAutoInc(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
  end;

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

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

  TsrvTiendaWeb_Invoker = class(TDARemoteService_Invoker)
  private
  protected
  published
    procedure Invoke_GetNextAutoInc(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
    procedure Invoke_GetNextAutoIncOSC(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
    procedure Invoke_GetDatasetSchemaOSC(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
    procedure Invoke_GetDatasetDataExOSC(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
    procedure Invoke_UpdateDataOSC(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
  end;

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

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

  TsrvHistoricoMovimientos_Invoker = class(TDARemoteService_Invoker)
  private
  protected
  published
  end;

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

  TsrvReferencias_Invoker = class(TDARemoteService_Invoker)
  private
  protected
  published
  end;

  TsrvInformes_Invoker = class(TDARemoteService_Invoker)
  private
  protected
  published
    procedure Invoke_GetNextAutoInc(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
  end;

  TsrvInfVentasArticulo_Invoker = class(TDARemoteService_Invoker)
  private
  protected
  published
    procedure Invoke_GetData(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
    procedure Invoke_GetSchema(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
  end;

  TsrvInfMargenArticulo_Invoker = class(TDARemoteService_Invoker)
  private
  protected
  published
    procedure Invoke_GetData(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
    procedure Invoke_GetSchema(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
  end;

implementation

uses
  {RemObjects:} uRORes, uROClient;

{ TsrvContactos_Invoker }

procedure TsrvContactos_Invoker.Invoke_GetNextAutoInc(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function GetNextAutoInc(const GeneratorName: String): Integer; }
var
  GeneratorName: String;
  lResult: Integer;
begin
  try
    __Message.Read('GeneratorName', TypeInfo(String), GeneratorName, []);

    lResult := (__Instance as IsrvContactos).GetNextAutoInc(GeneratorName);

    __Message.Initialize(__Transport, 'FactuGES', 'srvContactos', 'GetNextAutoIncResponse');
    __Message.Write('Result', TypeInfo(Integer), lResult, []);
    __Message.Finalize;

  finally
  end;
end;

{ TsrvComisiones_Invoker }

procedure TsrvComisiones_Invoker.Invoke_GetNextAutoInc(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function GetNextAutoInc(const GeneratorName: String): Integer; }
var
  GeneratorName: String;
  lResult: Integer;
begin
  try
    __Message.Read('GeneratorName', TypeInfo(String), GeneratorName, []);

    lResult := (__Instance as IsrvComisiones).GetNextAutoInc(GeneratorName);

    __Message.Initialize(__Transport, 'FactuGES', 'srvComisiones', 'GetNextAutoIncResponse');
    __Message.Write('Result', TypeInfo(Integer), lResult, []);
    __Message.Finalize;

  finally
  end;
end;

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

    lResult := (__Instance as IsrvComisiones).GenerateReport(AComisionID, DesglosadoProv, FechaIni, FechaFin, AAgenteID);

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

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

{ TsrvLogin_Invoker }

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; 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).Login(User, Password, LoginInfo);

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

  finally
    __lObjectDisposer := TROObjectDisposer.Create(__Instance);
    try
      __lObjectDisposer.Add(LoginInfo);
    finally
      __lObjectDisposer.Free();
    end;
  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.Initialize(__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.Initialize(__Transport, 'FactuGES', 'srvLogin', 'PingResponse');
    __Message.Write('Result', TypeInfo(Boolean), lResult, []);
    __Message.Finalize;

  finally
  end;
end;

{ TsrvEmpresas_Invoker }

procedure TsrvEmpresas_Invoker.Invoke_GetNextAutoInc(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function GetNextAutoInc(const GeneratorName: String): Integer; }
var
  GeneratorName: String;
  lResult: Integer;
begin
  try
    __Message.Read('GeneratorName', TypeInfo(String), GeneratorName, []);

    lResult := (__Instance as IsrvEmpresas).GetNextAutoInc(GeneratorName);

    __Message.Initialize(__Transport, 'FactuGES', 'srvEmpresas', 'GetNextAutoIncResponse');
    __Message.Write('Result', TypeInfo(Integer), lResult, []);
    __Message.Finalize;

  finally
  end;
end;

{ TsrvFacturasCliente_Invoker }

procedure TsrvFacturasCliente_Invoker.Invoke_GetNextAutoInc(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function GetNextAutoInc(const GeneratorName: String): Integer; }
var
  GeneratorName: String;
  lResult: Integer;
begin
  try
    __Message.Read('GeneratorName', TypeInfo(String), GeneratorName, []);

    lResult := (__Instance as IsrvFacturasCliente).GetNextAutoInc(GeneratorName);

    __Message.Initialize(__Transport, 'FactuGES', 'srvFacturasCliente', 'GetNextAutoIncResponse');
    __Message.Write('Result', TypeInfo(Integer), lResult, []);
    __Message.Finalize;

  finally
  end;
end;

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.Initialize(__Transport, 'FactuGES', 'srvFacturasCliente', 'GenerateReportResponse');
    __Message.Write('Result', TypeInfo(Binary), lResult, []);
    __Message.Finalize;

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

{ TsrvPedidosProveedor_Invoker }

procedure TsrvPedidosProveedor_Invoker.Invoke_GetNextAutoInc(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function GetNextAutoInc(const GeneratorName: String): Integer; }
var
  GeneratorName: String;
  lResult: Integer;
begin
  try
    __Message.Read('GeneratorName', TypeInfo(String), GeneratorName, []);

    lResult := (__Instance as IsrvPedidosProveedor).GetNextAutoInc(GeneratorName);

    __Message.Initialize(__Transport, 'FactuGES', 'srvPedidosProveedor', 'GetNextAutoIncResponse');
    __Message.Write('Result', TypeInfo(Integer), lResult, []);
    __Message.Finalize;

  finally
  end;
end;

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.Initialize(__Transport, 'FactuGES', 'srvPedidosProveedor', 'GenerateReportResponse');
    __Message.Write('Result', TypeInfo(Binary), lResult, []);
    __Message.Finalize;

  finally
    __lObjectDisposer := TROObjectDisposer.Create(__Instance);
    try
      __lObjectDisposer.Add(lResult);
    finally
      __lObjectDisposer.Free();
    end;
  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): String; }
var
  CODIGO: String;
  lResult: String;
begin
  try
    __Message.Read('CODIGO', TypeInfo(String), CODIGO, []);

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

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

  finally
  end;
end;

{ TsrvAlmacenes_Invoker }

procedure TsrvAlmacenes_Invoker.Invoke_GetNextAutoInc(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function GetNextAutoInc(const GeneratorName: String): Integer; }
var
  GeneratorName: String;
  lResult: Integer;
begin
  try
    __Message.Read('GeneratorName', TypeInfo(String), GeneratorName, []);

    lResult := (__Instance as IsrvAlmacenes).GetNextAutoInc(GeneratorName);

    __Message.Initialize(__Transport, 'FactuGES', 'srvAlmacenes', 'GetNextAutoIncResponse');
    __Message.Write('Result', TypeInfo(Integer), lResult, []);
    __Message.Finalize;

  finally
  end;
end;

{ TsrvArticulos_Invoker }

procedure TsrvArticulos_Invoker.Invoke_GetNextAutoInc(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function GetNextAutoInc(const GeneratorName: String): Integer; }
var
  GeneratorName: String;
  lResult: Integer;
begin
  try
    __Message.Read('GeneratorName', TypeInfo(String), GeneratorName, []);

    lResult := (__Instance as IsrvArticulos).GetNextAutoInc(GeneratorName);

    __Message.Initialize(__Transport, 'FactuGES', 'srvArticulos', 'GetNextAutoIncResponse');
    __Message.Write('Result', TypeInfo(Integer), lResult, []);
    __Message.Finalize;

  finally
  end;
end;

{ TsrvInventario_Invoker }

procedure TsrvInventario_Invoker.Invoke_GetNextAutoInc(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function GetNextAutoInc(const GeneratorName: String): Integer; }
var
  GeneratorName: String;
  lResult: Integer;
begin
  try
    __Message.Read('GeneratorName', TypeInfo(String), GeneratorName, []);

    lResult := (__Instance as IsrvInventario).GetNextAutoInc(GeneratorName);

    __Message.Initialize(__Transport, 'FactuGES', 'srvInventario', 'GetNextAutoIncResponse');
    __Message.Write('Result', TypeInfo(Integer), lResult, []);
    __Message.Finalize;

  finally
  end;
end;

{ TsrvPedidosCliente_Invoker }

procedure TsrvPedidosCliente_Invoker.Invoke_GetNextAutoInc(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function GetNextAutoInc(const GeneratorName: String): Integer; }
var
  GeneratorName: String;
  lResult: Integer;
begin
  try
    __Message.Read('GeneratorName', TypeInfo(String), GeneratorName, []);

    lResult := (__Instance as IsrvPedidosCliente).GetNextAutoInc(GeneratorName);

    __Message.Initialize(__Transport, 'FactuGES', 'srvPedidosCliente', 'GetNextAutoIncResponse');
    __Message.Write('Result', TypeInfo(Integer), lResult, []);
    __Message.Finalize;

  finally
  end;
end;

procedure TsrvPedidosCliente_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 IsrvPedidosCliente).GenerateReport(ID);

    __Message.Initialize(__Transport, 'FactuGES', 'srvPedidosCliente', 'GenerateReportResponse');
    __Message.Write('Result', TypeInfo(Binary), lResult, []);
    __Message.Finalize;

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

{ TsrvAlbaranesCliente_Invoker }

procedure TsrvAlbaranesCliente_Invoker.Invoke_GetNextAutoInc(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function GetNextAutoInc(const GeneratorName: String): Integer; }
var
  GeneratorName: String;
  lResult: Integer;
begin
  try
    __Message.Read('GeneratorName', TypeInfo(String), GeneratorName, []);

    lResult := (__Instance as IsrvAlbaranesCliente).GetNextAutoInc(GeneratorName);

    __Message.Initialize(__Transport, 'FactuGES', 'srvAlbaranesCliente', 'GetNextAutoIncResponse');
    __Message.Write('Result', TypeInfo(Integer), lResult, []);
    __Message.Finalize;

  finally
  end;
end;

procedure TsrvAlbaranesCliente_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 IsrvAlbaranesCliente).GenerateReport(ID);

    __Message.Initialize(__Transport, 'FactuGES', 'srvAlbaranesCliente', 'GenerateReportResponse');
    __Message.Write('Result', TypeInfo(Binary), lResult, []);
    __Message.Finalize;

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

procedure TsrvAlbaranesCliente_Invoker.Invoke_GenerateEtiquetas(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function GenerateEtiquetas(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).GenerateEtiquetas(ID, withRefCliente);

    __Message.Initialize(__Transport, 'FactuGES', 'srvAlbaranesCliente', 'GenerateEtiquetasResponse');
    __Message.Write('Result', TypeInfo(Binary), lResult, []);
    __Message.Finalize;

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

{ TsrvAlbaranesProveedor_Invoker }

procedure TsrvAlbaranesProveedor_Invoker.Invoke_GetNextAutoInc(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function GetNextAutoInc(const GeneratorName: String): Integer; }
var
  GeneratorName: String;
  lResult: Integer;
begin
  try
    __Message.Read('GeneratorName', TypeInfo(String), GeneratorName, []);

    lResult := (__Instance as IsrvAlbaranesProveedor).GetNextAutoInc(GeneratorName);

    __Message.Initialize(__Transport, 'FactuGES', 'srvAlbaranesProveedor', 'GetNextAutoIncResponse');
    __Message.Write('Result', TypeInfo(Integer), lResult, []);
    __Message.Finalize;

  finally
  end;
end;

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.Initialize(__Transport, 'FactuGES', 'srvAlbaranesProveedor', 'GenerateReportResponse');
    __Message.Write('Result', TypeInfo(Binary), lResult, []);
    __Message.Finalize;

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

{ TsrvFormasPago_Invoker }

procedure TsrvFormasPago_Invoker.Invoke_GetNextAutoInc(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function GetNextAutoInc(const GeneratorName: String): Integer; }
var
  GeneratorName: String;
  lResult: Integer;
begin
  try
    __Message.Read('GeneratorName', TypeInfo(String), GeneratorName, []);

    lResult := (__Instance as IsrvFormasPago).GetNextAutoInc(GeneratorName);

    __Message.Initialize(__Transport, 'FactuGES', 'srvFormasPago', 'GetNextAutoIncResponse');
    __Message.Write('Result', TypeInfo(Integer), lResult, []);
    __Message.Finalize;

  finally
  end;
end;

{ TsrvTiposIVA_Invoker }

procedure TsrvTiposIVA_Invoker.Invoke_GetNextAutoInc(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function GetNextAutoInc(const GeneratorName: String): Integer; }
var
  GeneratorName: String;
  lResult: Integer;
begin
  try
    __Message.Read('GeneratorName', TypeInfo(String), GeneratorName, []);

    lResult := (__Instance as IsrvTiposIVA).GetNextAutoInc(GeneratorName);

    __Message.Initialize(__Transport, 'FactuGES', 'srvTiposIVA', 'GetNextAutoIncResponse');
    __Message.Write('Result', TypeInfo(Integer), lResult, []);
    __Message.Finalize;

  finally
  end;
end;

{ TsrvRecibosCliente_Invoker }

procedure TsrvRecibosCliente_Invoker.Invoke_GetNextAutoInc(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function GetNextAutoInc(const GeneratorName: String): Integer; }
var
  GeneratorName: String;
  lResult: Integer;
begin
  try
    __Message.Read('GeneratorName', TypeInfo(String), GeneratorName, []);

    lResult := (__Instance as IsrvRecibosCliente).GetNextAutoInc(GeneratorName);

    __Message.Initialize(__Transport, 'FactuGES', 'srvRecibosCliente', 'GetNextAutoIncResponse');
    __Message.Write('Result', TypeInfo(Integer), lResult, []);
    __Message.Finalize;

  finally
  end;
end;

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.Initialize(__Transport, 'FactuGES', 'srvRecibosCliente', 'GenerateReportResponse');
    __Message.Write('Result', TypeInfo(Binary), lResult, []);
    __Message.Finalize;

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

{ TsrvRemesasCliente_Invoker }

procedure TsrvRemesasCliente_Invoker.Invoke_GetNextAutoInc(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function GetNextAutoInc(const GeneratorName: String): Integer; }
var
  GeneratorName: String;
  lResult: Integer;
begin
  try
    __Message.Read('GeneratorName', TypeInfo(String), GeneratorName, []);

    lResult := (__Instance as IsrvRemesasCliente).GetNextAutoInc(GeneratorName);

    __Message.Initialize(__Transport, 'FactuGES', 'srvRemesasCliente', 'GetNextAutoIncResponse');
    __Message.Write('Result', TypeInfo(Integer), lResult, []);
    __Message.Finalize;

  finally
  end;
end;

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.Initialize(__Transport, 'FactuGES', 'srvRemesasCliente', 'GenerateReportResponse');
    __Message.Write('Result', TypeInfo(Binary), lResult, []);
    __Message.Finalize;

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

{ TsrvTiendaWeb_Invoker }

procedure TsrvTiendaWeb_Invoker.Invoke_GetNextAutoInc(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function GetNextAutoInc(const GeneratorName: String): Integer; }
var
  GeneratorName: String;
  lResult: Integer;
begin
  try
    __Message.Read('GeneratorName', TypeInfo(String), GeneratorName, []);

    lResult := (__Instance as IsrvTiendaWeb).GetNextAutoInc(GeneratorName);

    __Message.Initialize(__Transport, 'FactuGES', 'srvTiendaWeb', 'GetNextAutoIncResponse');
    __Message.Write('Result', TypeInfo(Integer), lResult, []);
    __Message.Finalize;

  finally
  end;
end;

procedure TsrvTiendaWeb_Invoker.Invoke_GetNextAutoIncOSC(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function GetNextAutoIncOSC(const TableName: String): Integer; }
var
  TableName: String;
  lResult: Integer;
begin
  try
    __Message.Read('TableName', TypeInfo(String), TableName, []);

    lResult := (__Instance as IsrvTiendaWeb).GetNextAutoIncOSC(TableName);

    __Message.Initialize(__Transport, 'FactuGES', 'srvTiendaWeb', 'GetNextAutoIncOSCResponse');
    __Message.Write('Result', TypeInfo(Integer), lResult, []);
    __Message.Finalize;

  finally
  end;
end;

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

    lResult := (__Instance as IsrvTiendaWeb).GetDatasetSchemaOSC(aDatasetName);

    __Message.Initialize(__Transport, 'FactuGES', 'srvTiendaWeb', 'GetDatasetSchemaOSCResponse');
    __Message.Write('Result', TypeInfo(Binary), lResult, []);
    __Message.Finalize;

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

procedure TsrvTiendaWeb_Invoker.Invoke_GetDatasetDataExOSC(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function GetDatasetDataExOSC(const DatasetName: String; const Params: TDADatasetParamArray; const UserFilter: String; const IncludeSchema: Boolean; 
                                 const MaxRecords: Integer): Binary; }
var
  DatasetName: String;
  Params: DataAbstract_Intf.TDADatasetParamArray;
  UserFilter: String;
  IncludeSchema: Boolean;
  MaxRecords: Integer;
  lResult: Binary;
  __lObjectDisposer: TROObjectDisposer;
begin
  Params := nil;
  lResult := nil;
  try
    __Message.Read('DatasetName', TypeInfo(String), DatasetName, []);
    __Message.Read('Params', TypeInfo(DataAbstract_Intf.TDADatasetParamArray), Params, []);
    __Message.Read('UserFilter', TypeInfo(String), UserFilter, []);
    __Message.Read('IncludeSchema', TypeInfo(Boolean), IncludeSchema, []);
    __Message.Read('MaxRecords', TypeInfo(Integer), MaxRecords, []);

    lResult := (__Instance as IsrvTiendaWeb).GetDatasetDataExOSC(DatasetName, Params, UserFilter, IncludeSchema, MaxRecords);

    __Message.Initialize(__Transport, 'FactuGES', 'srvTiendaWeb', 'GetDatasetDataExOSCResponse');
    __Message.Write('Result', TypeInfo(Binary), lResult, []);
    __Message.Finalize;

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

procedure TsrvTiendaWeb_Invoker.Invoke_UpdateDataOSC(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function UpdateDataOSC(const Delta: Binary): Binary; }
var
  Delta: Binary;
  lResult: Binary;
  __lObjectDisposer: TROObjectDisposer;
begin
  Delta := nil;
  lResult := nil;
  try
    __Message.Read('Delta', TypeInfo(Binary), Delta, []);

    lResult := (__Instance as IsrvTiendaWeb).UpdateDataOSC(Delta);

    __Message.Initialize(__Transport, 'FactuGES', 'srvTiendaWeb', 'UpdateDataOSCResponse');
    __Message.Write('Result', TypeInfo(Binary), lResult, []);
    __Message.Finalize;

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

{ TsrvFacturasProveedor_Invoker }

procedure TsrvFacturasProveedor_Invoker.Invoke_GetNextAutoInc(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function GetNextAutoInc(const GeneratorName: String): Integer; }
var
  GeneratorName: String;
  lResult: Integer;
begin
  try
    __Message.Read('GeneratorName', TypeInfo(String), GeneratorName, []);

    lResult := (__Instance as IsrvFacturasProveedor).GetNextAutoInc(GeneratorName);

    __Message.Initialize(__Transport, 'FactuGES', 'srvFacturasProveedor', 'GetNextAutoIncResponse');
    __Message.Write('Result', TypeInfo(Integer), lResult, []);
    __Message.Finalize;

  finally
  end;
end;

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.Initialize(__Transport, 'FactuGES', 'srvFacturasProveedor', 'GenerateReportResponse');
    __Message.Write('Result', TypeInfo(Binary), lResult, []);
    __Message.Finalize;

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

{ TsrvRecibosProveedor_Invoker }

procedure TsrvRecibosProveedor_Invoker.Invoke_GetNextAutoInc(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function GetNextAutoInc(const GeneratorName: String): Integer; }
var
  GeneratorName: String;
  lResult: Integer;
begin
  try
    __Message.Read('GeneratorName', TypeInfo(String), GeneratorName, []);

    lResult := (__Instance as IsrvRecibosProveedor).GetNextAutoInc(GeneratorName);

    __Message.Initialize(__Transport, 'FactuGES', 'srvRecibosProveedor', 'GetNextAutoIncResponse');
    __Message.Write('Result', TypeInfo(Integer), lResult, []);
    __Message.Finalize;

  finally
  end;
end;

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.Initialize(__Transport, 'FactuGES', 'srvRecibosProveedor', 'GenerateReportResponse');
    __Message.Write('Result', TypeInfo(Binary), lResult, []);
    __Message.Finalize;

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

{ TsrvRemesasProveedor_Invoker }

procedure TsrvRemesasProveedor_Invoker.Invoke_GetNextAutoInc(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function GetNextAutoInc(const GeneratorName: String): Integer; }
var
  GeneratorName: String;
  lResult: Integer;
begin
  try
    __Message.Read('GeneratorName', TypeInfo(String), GeneratorName, []);

    lResult := (__Instance as IsrvRemesasProveedor).GetNextAutoInc(GeneratorName);

    __Message.Initialize(__Transport, 'FactuGES', 'srvRemesasProveedor', 'GetNextAutoIncResponse');
    __Message.Write('Result', TypeInfo(Integer), lResult, []);
    __Message.Finalize;

  finally
  end;
end;

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.Initialize(__Transport, 'FactuGES', 'srvRemesasProveedor', 'GenerateReportResponse');
    __Message.Write('Result', TypeInfo(Binary), lResult, []);
    __Message.Finalize;

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

{ TsrvInformes_Invoker }

procedure TsrvInformes_Invoker.Invoke_GetNextAutoInc(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function GetNextAutoInc(const GeneratorName: String): Integer; }
var
  GeneratorName: String;
  lResult: Integer;
begin
  try
    __Message.Read('GeneratorName', TypeInfo(String), GeneratorName, []);

    lResult := (__Instance as IsrvInformes).GetNextAutoInc(GeneratorName);

    __Message.Initialize(__Transport, 'FactuGES', 'srvInformes', 'GetNextAutoIncResponse');
    __Message.Write('Result', TypeInfo(Integer), lResult, []);
    __Message.Finalize;

  finally
  end;
end;

{ TsrvInfVentasArticulo_Invoker }

procedure TsrvInfVentasArticulo_Invoker.Invoke_GetData(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function GetData(const DatasetName: String; const MaxRecords: Integer; const Columns: String; const Params: TDADatasetParamArray): Binary; }
var
  DatasetName: String;
  MaxRecords: Integer;
  Columns: String;
  Params: DataAbstract_Intf.TDADatasetParamArray;
  lResult: Binary;
  __lObjectDisposer: TROObjectDisposer;
begin
  Params := nil;
  lResult := nil;
  try
    __Message.Read('DatasetName', TypeInfo(String), DatasetName, []);
    __Message.Read('MaxRecords', TypeInfo(Integer), MaxRecords, []);
    __Message.Read('Columns', TypeInfo(String), Columns, []);
    __Message.Read('Params', TypeInfo(DataAbstract_Intf.TDADatasetParamArray), Params, []);

    lResult := (__Instance as IsrvInfVentasArticulo).GetData(DatasetName, MaxRecords, Columns, Params);

    __Message.Initialize(__Transport, 'FactuGES', 'srvInfVentasArticulo', 'GetDataResponse');
    __Message.Write('Result', TypeInfo(Binary), lResult, []);
    __Message.Finalize;

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

procedure TsrvInfVentasArticulo_Invoker.Invoke_GetSchema(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function GetSchema(const DatasetName: String; const Columns: String): Binary; }
var
  DatasetName: String;
  Columns: String;
  lResult: Binary;
  __lObjectDisposer: TROObjectDisposer;
begin
  lResult := nil;
  try
    __Message.Read('DatasetName', TypeInfo(String), DatasetName, []);
    __Message.Read('Columns', TypeInfo(String), Columns, []);

    lResult := (__Instance as IsrvInfVentasArticulo).GetSchema(DatasetName, Columns);

    __Message.Initialize(__Transport, 'FactuGES', 'srvInfVentasArticulo', 'GetSchemaResponse');
    __Message.Write('Result', TypeInfo(Binary), lResult, []);
    __Message.Finalize;

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

{ TsrvInfMargenArticulo_Invoker }

procedure TsrvInfMargenArticulo_Invoker.Invoke_GetData(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function GetData(const DatasetName: String; const MaxRecords: Integer; const Columns: String; const Params: TDADatasetParamArray): Binary; }
var
  DatasetName: String;
  MaxRecords: Integer;
  Columns: String;
  Params: DataAbstract_Intf.TDADatasetParamArray;
  lResult: Binary;
  __lObjectDisposer: TROObjectDisposer;
begin
  Params := nil;
  lResult := nil;
  try
    __Message.Read('DatasetName', TypeInfo(String), DatasetName, []);
    __Message.Read('MaxRecords', TypeInfo(Integer), MaxRecords, []);
    __Message.Read('Columns', TypeInfo(String), Columns, []);
    __Message.Read('Params', TypeInfo(DataAbstract_Intf.TDADatasetParamArray), Params, []);

    lResult := (__Instance as IsrvInfMargenArticulo).GetData(DatasetName, MaxRecords, Columns, Params);

    __Message.Initialize(__Transport, 'FactuGES', 'srvInfMargenArticulo', 'GetDataResponse');
    __Message.Write('Result', TypeInfo(Binary), lResult, []);
    __Message.Finalize;

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

procedure TsrvInfMargenArticulo_Invoker.Invoke_GetSchema(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function GetSchema(const DatasetName: String; const Columns: String): Binary; }
var
  DatasetName: String;
  Columns: String;
  lResult: Binary;
  __lObjectDisposer: TROObjectDisposer;
begin
  lResult := nil;
  try
    __Message.Read('DatasetName', TypeInfo(String), DatasetName, []);
    __Message.Read('Columns', TypeInfo(String), Columns, []);

    lResult := (__Instance as IsrvInfMargenArticulo).GetSchema(DatasetName, Columns);

    __Message.Initialize(__Transport, 'FactuGES', 'srvInfMargenArticulo', 'GetSchemaResponse');
    __Message.Write('Result', TypeInfo(Binary), lResult, []);
    __Message.Finalize;

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

end.
