unit FactuGES_Intf;

{----------------------------------------------------------------------------}
{ 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, TypInfo,
  {RemObjects:} uROClasses, uROClient, uROTypes, uROClientIntf,
  {Used RODLs:} DataAbstract_Intf;

const
  { Library ID }
  LibraryUID = '{99553DD5-13B5-40EB-B7E6-D2B9A7C1B4D6}';

  { Service Interface ID's }
  IsrvContactos_IID : TGUID = '{28CCDC07-A3A4-4917-89B4-64423DC70C9D}';
  IsrvComisiones_IID : TGUID = '{461DBBE7-293D-497A-8CD1-840401883BCE}';
  IsrvLogin_IID : TGUID = '{399F9DB4-1B34-4140-AB6E-3BC10C0A7034}';
  IsrvEmpresas_IID : TGUID = '{590F06D1-26B4-435B-B636-50CB8FFE6353}';
  IsrvFacturasCliente_IID : TGUID = '{56B4FFF0-AB1B-46B2-BA16-ABD5360F6311}';
  IsrvPedidosProveedor_IID : TGUID = '{3DCC03E4-E9CE-4798-99D4-7170C9CF815B}';
  IsrvConfiguracion_IID : TGUID = '{0882B8A4-C8AA-424E-8FC1-C6226B670522}';
  IsrvAlmacenes_IID : TGUID = '{F984D2A1-9922-4790-9B2D-A78ACFDAE82B}';
  IsrvArticulos_IID : TGUID = '{CFBE5841-DF0F-48AD-853E-A35FDA989E6E}';
  IsrvInventario_IID : TGUID = '{36AF71D2-B19F-45DA-9C02-576B3A21158A}';
  IsrvPedidosCliente_IID : TGUID = '{8A06D5A7-8461-4F6E-8A8B-EC49C84C45D1}';
  IsrvFamilias_IID : TGUID = '{D351175C-CBFD-4328-BF2A-FDC0B05A6308}';
  IsrvAlbaranesCliente_IID : TGUID = '{6E910718-9AB0-47BB-9875-B0DE66A68D7A}';
  IsrvAlbaranesProveedor_IID : TGUID = '{66B71884-5CE4-4574-B825-60CDA956B628}';
  IsrvFormasPago_IID : TGUID = '{38AA9F85-B454-4A87-B6E8-E9C8BB2A17D9}';
  IsrvTiposIVA_IID : TGUID = '{09B44AB5-6212-448A-8DF2-A503E3F2C9B1}';
  IsrvRecibosCliente_IID : TGUID = '{3B68252A-EE6A-4D37-B250-93F2DB940DDF}';
  IsrvRemesasCliente_IID : TGUID = '{33F414D0-0D0B-4384-96CB-D94BC97A0C39}';
  IsrvTiendaWeb_IID : TGUID = '{96FFB465-F1D6-4C96-8744-489A833677DA}';
  IsrvFacturasProveedor_IID : TGUID = '{7655160C-7023-452E-BB0E-C97E29B915E7}';
  IsrvRecibosProveedor_IID : TGUID = '{22580F16-8FFC-4FE0-BCDD-5533D5DB1F55}';
  IsrvHistoricoMovimientos_IID : TGUID = '{F1BE4D4C-017B-476D-A009-0D1B8D1A20CE}';
  IsrvRemesasProveedor_IID : TGUID = '{6540A037-9847-4650-89BB-7B349C6004DF}';
  IsrvReferencias_IID : TGUID = '{5EFE7CE2-3D74-4B4C-8D7A-0926A1D7A5BB}';
  IsrvInformes_IID : TGUID = '{2E96455F-58CB-4DE2-9D3C-D590DAEA6DB4}';
  IsrvInfVentasArticulo_IID : TGUID = '{31CD7B1B-CA98-4F92-A6D5-B3B02360613F}';
  IsrvInfMargenArticulo_IID : TGUID = '{EB5F3994-838B-41A7-B19A-D49C9B9495C2}';

  { Event ID's }

type
  { Forward declarations }
  IsrvContactos = interface;
  IsrvComisiones = interface;
  IsrvLogin = interface;
  IsrvEmpresas = interface;
  IsrvFacturasCliente = interface;
  IsrvPedidosProveedor = interface;
  IsrvConfiguracion = interface;
  IsrvAlmacenes = interface;
  IsrvArticulos = interface;
  IsrvInventario = interface;
  IsrvPedidosCliente = interface;
  IsrvFamilias = interface;
  IsrvAlbaranesCliente = interface;
  IsrvAlbaranesProveedor = interface;
  IsrvFormasPago = interface;
  IsrvTiposIVA = interface;
  IsrvRecibosCliente = interface;
  IsrvRemesasCliente = interface;
  IsrvTiendaWeb = interface;
  IsrvFacturasProveedor = interface;
  IsrvRecibosProveedor = interface;
  IsrvHistoricoMovimientos = interface;
  IsrvRemesasProveedor = interface;
  IsrvReferencias = interface;
  IsrvInformes = interface;
  IsrvInfVentasArticulo = interface;
  IsrvInfMargenArticulo = interface;

  TRdxEmpresasArray = class;

  TRdxLoginInfo = class;


  { TRdxLoginInfo }
  TRdxLoginInfo = class(TROComplexType)
  private
    fUserID: Integer;
    fSessionID: String;
    fUsuario: String;
    fPerfiles: TDAStringArray;
    fEmpresas: TRdxEmpresasArray;
    function GetPerfiles: TDAStringArray;
    function GetEmpresas: TRdxEmpresasArray;
  public
    procedure Assign(iSource: TPersistent); override;
  published
    property UserID:Integer read fUserID write fUserID;
    property SessionID:String read fSessionID write fSessionID;
    property Usuario:String read fUsuario write fUsuario;
    property Perfiles:TDAStringArray read GetPerfiles write fPerfiles;
    property Empresas:TRdxEmpresasArray read GetEmpresas write fEmpresas;
  end;

  { TRdxLoginInfoCollection }
  TRdxLoginInfoCollection = class(TROCollection)
  protected
    constructor Create(aItemClass: TCollectionItemClass); overload;
    function GetItems(Index: integer): TRdxLoginInfo;
    procedure SetItems(Index: integer; const Value: TRdxLoginInfo);
  public
    constructor Create; overload;
    function Add: TRdxLoginInfo; reintroduce;
    property Items[Index: integer]:TRdxLoginInfo read GetItems write SetItems; default;
  end;

  { TRdxEmpresasArray }
  TRdxEmpresasArray = class(TROArray)
  private
    fCount: Integer;
    fItems : array of Integer;
  protected
    procedure Grow; virtual;
    function GetItems(Index: integer): Integer;
    procedure SetItems(Index: integer; const Value: Integer);
    function GetCount: integer; override;
  public
    class function GetItemType: PTypeInfo; override;
    class function GetItemSize: integer; override;
    function GetItemRef(Index: integer): pointer; override;
    procedure Clear; override;
    procedure Delete(Index: integer); override;
    procedure Resize(ElementCount: integer); override;

    procedure Assign(iSource:TPersistent); override;
    function Add(const Value:Integer): integer;

    property Count : integer read GetCount;
    property Items[Index: integer]:Integer read GetItems write SetItems; default;
  end;

  { IsrvContactos }
  IsrvContactos = interface(IDARemoteService)
    ['{28CCDC07-A3A4-4917-89B4-64423DC70C9D}']
    function GetNextAutoInc(const GeneratorName: String): Integer;
  end;

  { CosrvContactos }
  CosrvContactos = class
    class function Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvContactos;
  end;

  { TsrvContactos_Proxy }
  TsrvContactos_Proxy = class(TDARemoteService_Proxy, IsrvContactos)
  protected
    function __GetInterfaceName:string; override;

    function GetNextAutoInc(const GeneratorName: String): Integer;
  end;

  { IsrvComisiones }
  IsrvComisiones = interface(IDARemoteService)
    ['{461DBBE7-293D-497A-8CD1-840401883BCE}']
    function GetNextAutoInc(const GeneratorName: String): Integer;
    function GenerateReport(const AComisionID: Variant; const DesglosadoProv: Boolean; const FechaIni: String; const FechaFin: String; 
                            const AAgenteID: Variant): Binary;
  end;

  { CosrvComisiones }
  CosrvComisiones = class
    class function Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvComisiones;
  end;

  { TsrvComisiones_Proxy }
  TsrvComisiones_Proxy = class(TDARemoteService_Proxy, IsrvComisiones)
  protected
    function __GetInterfaceName:string; override;

    function GetNextAutoInc(const GeneratorName: String): Integer;
    function GenerateReport(const AComisionID: Variant; const DesglosadoProv: Boolean; const FechaIni: String; const FechaFin: String; 
                            const AAgenteID: Variant): Binary;
  end;

  { IsrvLogin }
  IsrvLogin = interface(IDARemoteService)
    ['{399F9DB4-1B34-4140-AB6E-3BC10C0A7034}']
    function Login(const User: String; const Password: String; out LoginInfo: TRdxLoginInfo): Boolean;
    procedure Logout;
    function Ping: Boolean;
  end;

  { CosrvLogin }
  CosrvLogin = class
    class function Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvLogin;
  end;

  { TsrvLogin_Proxy }
  TsrvLogin_Proxy = class(TDARemoteService_Proxy, IsrvLogin)
  protected
    function __GetInterfaceName:string; override;

    function Login(const User: String; const Password: String; out LoginInfo: TRdxLoginInfo): Boolean;
    procedure Logout;
    function Ping: Boolean;
  end;

  { IsrvEmpresas }
  IsrvEmpresas = interface(IDARemoteService)
    ['{590F06D1-26B4-435B-B636-50CB8FFE6353}']
    function GetNextAutoInc(const GeneratorName: String): Integer;
  end;

  { CosrvEmpresas }
  CosrvEmpresas = class
    class function Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvEmpresas;
  end;

  { TsrvEmpresas_Proxy }
  TsrvEmpresas_Proxy = class(TDARemoteService_Proxy, IsrvEmpresas)
  protected
    function __GetInterfaceName:string; override;

    function GetNextAutoInc(const GeneratorName: String): Integer;
  end;

  { IsrvFacturasCliente }
  IsrvFacturasCliente = interface(IDARemoteService)
    ['{56B4FFF0-AB1B-46B2-BA16-ABD5360F6311}']
    function GetNextAutoInc(const GeneratorName: String): Integer;
    function GenerateReport(const FacturaID: String): Binary;
  end;

  { CosrvFacturasCliente }
  CosrvFacturasCliente = class
    class function Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvFacturasCliente;
  end;

  { TsrvFacturasCliente_Proxy }
  TsrvFacturasCliente_Proxy = class(TDARemoteService_Proxy, IsrvFacturasCliente)
  protected
    function __GetInterfaceName:string; override;

    function GetNextAutoInc(const GeneratorName: String): Integer;
    function GenerateReport(const FacturaID: String): Binary;
  end;

  { IsrvPedidosProveedor }
  IsrvPedidosProveedor = interface(IDARemoteService)
    ['{3DCC03E4-E9CE-4798-99D4-7170C9CF815B}']
    function GetNextAutoInc(const GeneratorName: String): Integer;
    function GenerateReport(const ID: String): Binary;
  end;

  { CosrvPedidosProveedor }
  CosrvPedidosProveedor = class
    class function Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvPedidosProveedor;
  end;

  { TsrvPedidosProveedor_Proxy }
  TsrvPedidosProveedor_Proxy = class(TDARemoteService_Proxy, IsrvPedidosProveedor)
  protected
    function __GetInterfaceName:string; override;

    function GetNextAutoInc(const GeneratorName: String): Integer;
    function GenerateReport(const ID: String): Binary;
  end;

  { IsrvConfiguracion }
  IsrvConfiguracion = interface(IDARemoteService)
    ['{0882B8A4-C8AA-424E-8FC1-C6226B670522}']
    function darValor(const CODIGO: String): String;
  end;

  { CosrvConfiguracion }
  CosrvConfiguracion = class
    class function Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvConfiguracion;
  end;

  { TsrvConfiguracion_Proxy }
  TsrvConfiguracion_Proxy = class(TDARemoteService_Proxy, IsrvConfiguracion)
  protected
    function __GetInterfaceName:string; override;

    function darValor(const CODIGO: String): String;
  end;

  { IsrvAlmacenes }
  IsrvAlmacenes = interface(IDARemoteService)
    ['{F984D2A1-9922-4790-9B2D-A78ACFDAE82B}']
    function GetNextAutoInc(const GeneratorName: String): Integer;
  end;

  { CosrvAlmacenes }
  CosrvAlmacenes = class
    class function Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvAlmacenes;
  end;

  { TsrvAlmacenes_Proxy }
  TsrvAlmacenes_Proxy = class(TDARemoteService_Proxy, IsrvAlmacenes)
  protected
    function __GetInterfaceName:string; override;

    function GetNextAutoInc(const GeneratorName: String): Integer;
  end;

  { IsrvArticulos }
  IsrvArticulos = interface(IDARemoteService)
    ['{CFBE5841-DF0F-48AD-853E-A35FDA989E6E}']
    function GetNextAutoInc(const GeneratorName: String): Integer;
  end;

  { CosrvArticulos }
  CosrvArticulos = class
    class function Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvArticulos;
  end;

  { TsrvArticulos_Proxy }
  TsrvArticulos_Proxy = class(TDARemoteService_Proxy, IsrvArticulos)
  protected
    function __GetInterfaceName:string; override;

    function GetNextAutoInc(const GeneratorName: String): Integer;
  end;

  { IsrvInventario }
  IsrvInventario = interface(IDARemoteService)
    ['{36AF71D2-B19F-45DA-9C02-576B3A21158A}']
    function GetNextAutoInc(const GeneratorName: String): Integer;
  end;

  { CosrvInventario }
  CosrvInventario = class
    class function Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvInventario;
  end;

  { TsrvInventario_Proxy }
  TsrvInventario_Proxy = class(TDARemoteService_Proxy, IsrvInventario)
  protected
    function __GetInterfaceName:string; override;

    function GetNextAutoInc(const GeneratorName: String): Integer;
  end;

  { IsrvPedidosCliente }
  IsrvPedidosCliente = interface(IDARemoteService)
    ['{8A06D5A7-8461-4F6E-8A8B-EC49C84C45D1}']
    function GetNextAutoInc(const GeneratorName: String): Integer;
    function GenerateReport(const ID: String): Binary;
  end;

  { CosrvPedidosCliente }
  CosrvPedidosCliente = class
    class function Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvPedidosCliente;
  end;

  { TsrvPedidosCliente_Proxy }
  TsrvPedidosCliente_Proxy = class(TDARemoteService_Proxy, IsrvPedidosCliente)
  protected
    function __GetInterfaceName:string; override;

    function GetNextAutoInc(const GeneratorName: String): Integer;
    function GenerateReport(const ID: String): Binary;
  end;

  { IsrvFamilias }
  IsrvFamilias = interface(IDARemoteService)
    ['{D351175C-CBFD-4328-BF2A-FDC0B05A6308}']
  end;

  { CosrvFamilias }
  CosrvFamilias = class
    class function Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvFamilias;
  end;

  { TsrvFamilias_Proxy }
  TsrvFamilias_Proxy = class(TDARemoteService_Proxy, IsrvFamilias)
  protected
    function __GetInterfaceName:string; override;

  end;

  { IsrvAlbaranesCliente }
  IsrvAlbaranesCliente = interface(IDARemoteService)
    ['{6E910718-9AB0-47BB-9875-B0DE66A68D7A}']
    function GetNextAutoInc(const GeneratorName: String): Integer;
    function GenerateReport(const ID: String): Binary;
    function GenerateEtiquetas(const ID: Integer; const withRefCliente: Boolean): Binary;
  end;

  { CosrvAlbaranesCliente }
  CosrvAlbaranesCliente = class
    class function Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvAlbaranesCliente;
  end;

  { TsrvAlbaranesCliente_Proxy }
  TsrvAlbaranesCliente_Proxy = class(TDARemoteService_Proxy, IsrvAlbaranesCliente)
  protected
    function __GetInterfaceName:string; override;

    function GetNextAutoInc(const GeneratorName: String): Integer;
    function GenerateReport(const ID: String): Binary;
    function GenerateEtiquetas(const ID: Integer; const withRefCliente: Boolean): Binary;
  end;

  { IsrvAlbaranesProveedor }
  IsrvAlbaranesProveedor = interface(IDARemoteService)
    ['{66B71884-5CE4-4574-B825-60CDA956B628}']
    function GetNextAutoInc(const GeneratorName: String): Integer;
    function GenerateReport(const ID: String): Binary;
  end;

  { CosrvAlbaranesProveedor }
  CosrvAlbaranesProveedor = class
    class function Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvAlbaranesProveedor;
  end;

  { TsrvAlbaranesProveedor_Proxy }
  TsrvAlbaranesProveedor_Proxy = class(TDARemoteService_Proxy, IsrvAlbaranesProveedor)
  protected
    function __GetInterfaceName:string; override;

    function GetNextAutoInc(const GeneratorName: String): Integer;
    function GenerateReport(const ID: String): Binary;
  end;

  { IsrvFormasPago }
  IsrvFormasPago = interface(IDARemoteService)
    ['{38AA9F85-B454-4A87-B6E8-E9C8BB2A17D9}']
    function GetNextAutoInc(const GeneratorName: String): Integer;
  end;

  { CosrvFormasPago }
  CosrvFormasPago = class
    class function Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvFormasPago;
  end;

  { TsrvFormasPago_Proxy }
  TsrvFormasPago_Proxy = class(TDARemoteService_Proxy, IsrvFormasPago)
  protected
    function __GetInterfaceName:string; override;

    function GetNextAutoInc(const GeneratorName: String): Integer;
  end;

  { IsrvTiposIVA }
  IsrvTiposIVA = interface(IDARemoteService)
    ['{09B44AB5-6212-448A-8DF2-A503E3F2C9B1}']
    function GetNextAutoInc(const GeneratorName: String): Integer;
  end;

  { CosrvTiposIVA }
  CosrvTiposIVA = class
    class function Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvTiposIVA;
  end;

  { TsrvTiposIVA_Proxy }
  TsrvTiposIVA_Proxy = class(TDARemoteService_Proxy, IsrvTiposIVA)
  protected
    function __GetInterfaceName:string; override;

    function GetNextAutoInc(const GeneratorName: String): Integer;
  end;

  { IsrvRecibosCliente }
  IsrvRecibosCliente = interface(IDARemoteService)
    ['{3B68252A-EE6A-4D37-B250-93F2DB940DDF}']
    function GetNextAutoInc(const GeneratorName: String): Integer;
    function GenerateReport(const ID: String): Binary;
  end;

  { CosrvRecibosCliente }
  CosrvRecibosCliente = class
    class function Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvRecibosCliente;
  end;

  { TsrvRecibosCliente_Proxy }
  TsrvRecibosCliente_Proxy = class(TDARemoteService_Proxy, IsrvRecibosCliente)
  protected
    function __GetInterfaceName:string; override;

    function GetNextAutoInc(const GeneratorName: String): Integer;
    function GenerateReport(const ID: String): Binary;
  end;

  { IsrvRemesasCliente }
  IsrvRemesasCliente = interface(IDARemoteService)
    ['{33F414D0-0D0B-4384-96CB-D94BC97A0C39}']
    function GetNextAutoInc(const GeneratorName: String): Integer;
    function GenerateReport(const ID: String): Binary;
  end;

  { CosrvRemesasCliente }
  CosrvRemesasCliente = class
    class function Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvRemesasCliente;
  end;

  { TsrvRemesasCliente_Proxy }
  TsrvRemesasCliente_Proxy = class(TDARemoteService_Proxy, IsrvRemesasCliente)
  protected
    function __GetInterfaceName:string; override;

    function GetNextAutoInc(const GeneratorName: String): Integer;
    function GenerateReport(const ID: String): Binary;
  end;

  { IsrvTiendaWeb }
  IsrvTiendaWeb = interface(IDARemoteService)
    ['{96FFB465-F1D6-4C96-8744-489A833677DA}']
    function GetNextAutoInc(const GeneratorName: String): Integer;
    function GetNextAutoIncOSC(const TableName: String): Integer;
    function GetDatasetSchemaOSC(const aDatasetName: String): Binary;
    function GetDatasetDataExOSC(const DatasetName: String; const Params: TDADatasetParamArray; const UserFilter: String; const IncludeSchema: Boolean; 
                                 const MaxRecords: Integer): Binary;
    function UpdateDataOSC(const Delta: Binary): Binary;
  end;

  { CosrvTiendaWeb }
  CosrvTiendaWeb = class
    class function Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvTiendaWeb;
  end;

  { TsrvTiendaWeb_Proxy }
  TsrvTiendaWeb_Proxy = class(TDARemoteService_Proxy, IsrvTiendaWeb)
  protected
    function __GetInterfaceName:string; override;

    function GetNextAutoInc(const GeneratorName: String): Integer;
    function GetNextAutoIncOSC(const TableName: String): Integer;
    function GetDatasetSchemaOSC(const aDatasetName: String): Binary;
    function GetDatasetDataExOSC(const DatasetName: String; const Params: TDADatasetParamArray; const UserFilter: String; const IncludeSchema: Boolean; 
                                 const MaxRecords: Integer): Binary;
    function UpdateDataOSC(const Delta: Binary): Binary;
  end;

  { IsrvFacturasProveedor }
  IsrvFacturasProveedor = interface(IDARemoteService)
    ['{7655160C-7023-452E-BB0E-C97E29B915E7}']
    function GetNextAutoInc(const GeneratorName: String): Integer;
    function GenerateReport(const FacturaID: String): Binary;
  end;

  { CosrvFacturasProveedor }
  CosrvFacturasProveedor = class
    class function Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvFacturasProveedor;
  end;

  { TsrvFacturasProveedor_Proxy }
  TsrvFacturasProveedor_Proxy = class(TDARemoteService_Proxy, IsrvFacturasProveedor)
  protected
    function __GetInterfaceName:string; override;

    function GetNextAutoInc(const GeneratorName: String): Integer;
    function GenerateReport(const FacturaID: String): Binary;
  end;

  { IsrvRecibosProveedor }
  IsrvRecibosProveedor = interface(IDARemoteService)
    ['{22580F16-8FFC-4FE0-BCDD-5533D5DB1F55}']
    function GetNextAutoInc(const GeneratorName: String): Integer;
    function GenerateReport(const ID: Integer): Binary;
  end;

  { CosrvRecibosProveedor }
  CosrvRecibosProveedor = class
    class function Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvRecibosProveedor;
  end;

  { TsrvRecibosProveedor_Proxy }
  TsrvRecibosProveedor_Proxy = class(TDARemoteService_Proxy, IsrvRecibosProveedor)
  protected
    function __GetInterfaceName:string; override;

    function GetNextAutoInc(const GeneratorName: String): Integer;
    function GenerateReport(const ID: Integer): Binary;
  end;

  { IsrvHistoricoMovimientos }
  IsrvHistoricoMovimientos = interface(IDARemoteService)
    ['{F1BE4D4C-017B-476D-A009-0D1B8D1A20CE}']
  end;

  { CosrvHistoricoMovimientos }
  CosrvHistoricoMovimientos = class
    class function Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvHistoricoMovimientos;
  end;

  { TsrvHistoricoMovimientos_Proxy }
  TsrvHistoricoMovimientos_Proxy = class(TDARemoteService_Proxy, IsrvHistoricoMovimientos)
  protected
    function __GetInterfaceName:string; override;

  end;

  { IsrvRemesasProveedor }
  IsrvRemesasProveedor = interface(IDARemoteService)
    ['{6540A037-9847-4650-89BB-7B349C6004DF}']
    function GetNextAutoInc(const GeneratorName: String): Integer;
    function GenerateReport(const ID: String): Binary;
  end;

  { CosrvRemesasProveedor }
  CosrvRemesasProveedor = class
    class function Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvRemesasProveedor;
  end;

  { TsrvRemesasProveedor_Proxy }
  TsrvRemesasProveedor_Proxy = class(TDARemoteService_Proxy, IsrvRemesasProveedor)
  protected
    function __GetInterfaceName:string; override;

    function GetNextAutoInc(const GeneratorName: String): Integer;
    function GenerateReport(const ID: String): Binary;
  end;

  { IsrvReferencias }
  IsrvReferencias = interface(IDARemoteService)
    ['{5EFE7CE2-3D74-4B4C-8D7A-0926A1D7A5BB}']
  end;

  { CosrvReferencias }
  CosrvReferencias = class
    class function Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvReferencias;
  end;

  { TsrvReferencias_Proxy }
  TsrvReferencias_Proxy = class(TDARemoteService_Proxy, IsrvReferencias)
  protected
    function __GetInterfaceName:string; override;

  end;

  { IsrvInformes }
  IsrvInformes = interface(IDARemoteService)
    ['{2E96455F-58CB-4DE2-9D3C-D590DAEA6DB4}']
    function GetNextAutoInc(const GeneratorName: String): Integer;
  end;

  { CosrvInformes }
  CosrvInformes = class
    class function Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvInformes;
  end;

  { TsrvInformes_Proxy }
  TsrvInformes_Proxy = class(TDARemoteService_Proxy, IsrvInformes)
  protected
    function __GetInterfaceName:string; override;

    function GetNextAutoInc(const GeneratorName: String): Integer;
  end;

  { IsrvInfVentasArticulo }
  IsrvInfVentasArticulo = interface(IDARemoteService)
    ['{31CD7B1B-CA98-4F92-A6D5-B3B02360613F}']
    function GetData(const DatasetName: String; const MaxRecords: Integer; const Columns: String; const Params: TDADatasetParamArray): Binary;
    function GetSchema(const DatasetName: String; const Columns: String): Binary;
  end;

  { CosrvInfVentasArticulo }
  CosrvInfVentasArticulo = class
    class function Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvInfVentasArticulo;
  end;

  { TsrvInfVentasArticulo_Proxy }
  TsrvInfVentasArticulo_Proxy = class(TDARemoteService_Proxy, IsrvInfVentasArticulo)
  protected
    function __GetInterfaceName:string; override;

    function GetData(const DatasetName: String; const MaxRecords: Integer; const Columns: String; const Params: TDADatasetParamArray): Binary;
    function GetSchema(const DatasetName: String; const Columns: String): Binary;
  end;

  { IsrvInfMargenArticulo }
  IsrvInfMargenArticulo = interface(IDARemoteService)
    ['{EB5F3994-838B-41A7-B19A-D49C9B9495C2}']
    function GetData(const DatasetName: String; const MaxRecords: Integer; const Columns: String; const Params: TDADatasetParamArray): Binary;
    function GetSchema(const DatasetName: String; const Columns: String): Binary;
  end;

  { CosrvInfMargenArticulo }
  CosrvInfMargenArticulo = class
    class function Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvInfMargenArticulo;
  end;

  { TsrvInfMargenArticulo_Proxy }
  TsrvInfMargenArticulo_Proxy = class(TDARemoteService_Proxy, IsrvInfMargenArticulo)
  protected
    function __GetInterfaceName:string; override;

    function GetData(const DatasetName: String; const MaxRecords: Integer; const Columns: String; const Params: TDADatasetParamArray): Binary;
    function GetSchema(const DatasetName: String; const Columns: String): Binary;
  end;

implementation

uses
  {vcl:} SysUtils,
  {RemObjects:} uROEventRepository, uRORes;

{ TRdxEmpresasArray }

procedure TRdxEmpresasArray.Assign(iSource: TPersistent);
var lSource:TRdxEmpresasArray;
    i:integer;
begin
  if (iSource is TRdxEmpresasArray) then begin
    lSource := TRdxEmpresasArray(iSource);
    Clear();
    Resize(lSource.Count);
    for i := 0 to Count-1 do begin
      Items[i] := lSource.Items[i];
    end;
  end
  else begin
    inherited Assign(iSource);
  end;
end;

class function TRdxEmpresasArray.GetItemType: PTypeInfo;
begin
  result := TypeInfo(Integer);
end;

class function TRdxEmpresasArray.GetItemSize: integer;
begin
  result := SizeOf(Integer);
end;

function TRdxEmpresasArray.GetItems(Index: integer): Integer;
begin
  if (Index < 0) or (Index >= Count) then RaiseError(err_ArrayIndexOutOfBounds,[Index]);
  result := fItems[Index];
end;

function TRdxEmpresasArray.GetItemRef(Index: integer): pointer;
begin
  if (Index < 0) or (Index >= Count) then RaiseError(err_ArrayIndexOutOfBounds,[Index]);
  result := @fItems[Index];
end;

procedure TRdxEmpresasArray.Clear;
begin
  SetLength(fItems, 0);
  FCount := 0;
end;

procedure TRdxEmpresasArray.Delete(Index: integer);
var i: integer;
begin
  if (Index>=Count) then RaiseError(err_InvalidIndex, [Index]);

  if (Index<Count-1) then
    for i := Index to Count-2 do fItems[i] := fItems[i+1];

  SetLength(fItems, Count-1);
  Dec(FCount);
end;

procedure TRdxEmpresasArray.SetItems(Index: integer; const Value: Integer);
begin
  if (Index < 0) or (Index >= Count) then RaiseError(err_ArrayIndexOutOfBounds,[Index]);
  fItems[Index] := Value;
end;

procedure TRdxEmpresasArray.Resize(ElementCount: integer);
begin
  SetLength(fItems, ElementCount);
  FCount := ElementCount;
end;

function TRdxEmpresasArray.GetCount: integer;
begin
  result := FCount;
end;

procedure TRdxEmpresasArray.Grow;
var
  Delta, Capacity: Integer;
begin
  Capacity := Length(fItems);
  if Capacity > 64 then
    Delta := Capacity div 4
  else
    if Capacity > 8 then
      Delta := 16
   else
      Delta := 4;
  SetLength(fItems, Capacity + Delta);
end;

function TRdxEmpresasArray.Add(const Value: Integer): integer;
begin
  Result := Count;
  if Length(fItems) = Result then
    Grow;
  fItems[result] := Value;
  Inc(fCount);
end;

{ TRdxLoginInfo }

procedure TRdxLoginInfo.Assign(iSource: TPersistent); 
var lSource:TRdxLoginInfo;
begin
  inherited Assign(iSource);
  if (iSource is TRdxLoginInfo) then begin
    lSource := TRdxLoginInfo(iSource);
    UserID := lSource.UserID;
    SessionID := lSource.SessionID;
    Usuario := lSource.Usuario;
    Perfiles.Assign(lSource.Perfiles);
    Empresas.Assign(lSource.Empresas);
  end;
end;

function TRdxLoginInfo.GetPerfiles: TDAStringArray;
begin
  if (fPerfiles = nil) then fPerfiles := TDAStringArray.Create();
  result := fPerfiles;
end;

function TRdxLoginInfo.GetEmpresas: TRdxEmpresasArray;
begin
  if (fEmpresas = nil) then fEmpresas := TRdxEmpresasArray.Create();
  result := fEmpresas;
end;

{ TRdxLoginInfoCollection }
constructor TRdxLoginInfoCollection.Create;
begin
  inherited Create(TRdxLoginInfo);
end;

constructor TRdxLoginInfoCollection.Create(aItemClass: TCollectionItemClass);
begin
  inherited Create(aItemClass);
end;

function TRdxLoginInfoCollection.Add: TRdxLoginInfo;
begin
  result := TRdxLoginInfo(inherited Add);
end;

function TRdxLoginInfoCollection.GetItems(Index: integer): TRdxLoginInfo;
begin
  result := TRdxLoginInfo(inherited Items[Index]);
end;

procedure TRdxLoginInfoCollection.SetItems(Index: integer; const Value: TRdxLoginInfo);
begin
  TRdxLoginInfo(inherited Items[Index]).Assign(Value);
end;

{ CosrvContactos }

class function CosrvContactos.Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvContactos;
begin
  result := TsrvContactos_Proxy.Create(aMessage, aTransportChannel);
end;

{ TsrvContactos_Proxy }

function TsrvContactos_Proxy.__GetInterfaceName:string;
begin
  result := 'srvContactos';
end;

function TsrvContactos_Proxy.GetNextAutoInc(const GeneratorName: String): Integer;
var
  __request, __response : TMemoryStream;
begin
  __request := TMemoryStream.Create;
  __response := TMemoryStream.Create;

  try
     __Message.Initialize(__TransportChannel, 'FactuGES', __InterfaceName, 'GetNextAutoInc');
     __Message.Write('GeneratorName', TypeInfo(String), GeneratorName, []);
     __Message.Finalize;

     __Message.WriteToStream(__request);
     __TransportChannel.Dispatch(__request, __response);
     __Message.ReadFromStream(__response);

     __Message.Read('Result', TypeInfo(Integer), result, []);
  finally
    __request.Free;
    __response.Free;
  end
end;

{ CosrvComisiones }

class function CosrvComisiones.Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvComisiones;
begin
  result := TsrvComisiones_Proxy.Create(aMessage, aTransportChannel);
end;

{ TsrvComisiones_Proxy }

function TsrvComisiones_Proxy.__GetInterfaceName:string;
begin
  result := 'srvComisiones';
end;

function TsrvComisiones_Proxy.GetNextAutoInc(const GeneratorName: String): Integer;
var
  __request, __response : TMemoryStream;
begin
  __request := TMemoryStream.Create;
  __response := TMemoryStream.Create;

  try
     __Message.Initialize(__TransportChannel, 'FactuGES', __InterfaceName, 'GetNextAutoInc');
     __Message.Write('GeneratorName', TypeInfo(String), GeneratorName, []);
     __Message.Finalize;

     __Message.WriteToStream(__request);
     __TransportChannel.Dispatch(__request, __response);
     __Message.ReadFromStream(__response);

     __Message.Read('Result', TypeInfo(Integer), result, []);
  finally
    __request.Free;
    __response.Free;
  end
end;

function TsrvComisiones_Proxy.GenerateReport(const AComisionID: Variant; const DesglosadoProv: Boolean; const FechaIni: String; const FechaFin: String; 
                                             const AAgenteID: Variant): Binary;
var
  __request, __response : TMemoryStream;
begin
  result := nil;
  __request := TMemoryStream.Create;
  __response := TMemoryStream.Create;

  try
     __Message.Initialize(__TransportChannel, 'FactuGES', __InterfaceName, 'GenerateReport');
     __Message.Write('AComisionID', TypeInfo(Variant), AComisionID, []);
     __Message.Write('DesglosadoProv', TypeInfo(Boolean), DesglosadoProv, []);
     __Message.Write('FechaIni', TypeInfo(String), FechaIni, []);
     __Message.Write('FechaFin', TypeInfo(String), FechaFin, []);
     __Message.Write('AAgenteID', TypeInfo(Variant), AAgenteID, []);
     __Message.Finalize;

     __Message.WriteToStream(__request);
     __TransportChannel.Dispatch(__request, __response);
     __Message.ReadFromStream(__response);

     __Message.Read('Result', TypeInfo(Binary), result, []);
  finally
    __request.Free;
    __response.Free;
  end
end;

{ CosrvLogin }

class function CosrvLogin.Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvLogin;
begin
  result := TsrvLogin_Proxy.Create(aMessage, aTransportChannel);
end;

{ TsrvLogin_Proxy }

function TsrvLogin_Proxy.__GetInterfaceName:string;
begin
  result := 'srvLogin';
end;

function TsrvLogin_Proxy.Login(const User: String; const Password: String; out LoginInfo: TRdxLoginInfo): Boolean;
var
  __request, __response : TMemoryStream;
begin
  LoginInfo := nil;
  __request := TMemoryStream.Create;
  __response := TMemoryStream.Create;

  try
     __Message.Initialize(__TransportChannel, 'FactuGES', __InterfaceName, 'Login');
     __Message.Write('User', TypeInfo(String), User, []);
     __Message.Write('Password', TypeInfo(String), Password, []);
     __Message.Finalize;

     __Message.WriteToStream(__request);
     __TransportChannel.Dispatch(__request, __response);
     __Message.ReadFromStream(__response);

     __Message.Read('Result', TypeInfo(Boolean), result, []);
     __Message.Read('LoginInfo', TypeInfo(FactuGES_Intf.TRdxLoginInfo), LoginInfo, []);
  finally
    __request.Free;
    __response.Free;
  end
end;

procedure TsrvLogin_Proxy.Logout;
var
  __request, __response : TMemoryStream;
begin
  __request := TMemoryStream.Create;
  __response := TMemoryStream.Create;

  try
     __Message.Initialize(__TransportChannel, 'FactuGES', __InterfaceName, 'Logout');
     __Message.Finalize;

     __Message.WriteToStream(__request);
     __TransportChannel.Dispatch(__request, __response);
     __Message.ReadFromStream(__response);

  finally
    __request.Free;
    __response.Free;
  end
end;

function TsrvLogin_Proxy.Ping: Boolean;
var
  __request, __response : TMemoryStream;
begin
  __request := TMemoryStream.Create;
  __response := TMemoryStream.Create;

  try
     __Message.Initialize(__TransportChannel, 'FactuGES', __InterfaceName, 'Ping');
     __Message.Finalize;

     __Message.WriteToStream(__request);
     __TransportChannel.Dispatch(__request, __response);
     __Message.ReadFromStream(__response);

     __Message.Read('Result', TypeInfo(Boolean), result, []);
  finally
    __request.Free;
    __response.Free;
  end
end;

{ CosrvEmpresas }

class function CosrvEmpresas.Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvEmpresas;
begin
  result := TsrvEmpresas_Proxy.Create(aMessage, aTransportChannel);
end;

{ TsrvEmpresas_Proxy }

function TsrvEmpresas_Proxy.__GetInterfaceName:string;
begin
  result := 'srvEmpresas';
end;

function TsrvEmpresas_Proxy.GetNextAutoInc(const GeneratorName: String): Integer;
var
  __request, __response : TMemoryStream;
begin
  __request := TMemoryStream.Create;
  __response := TMemoryStream.Create;

  try
     __Message.Initialize(__TransportChannel, 'FactuGES', __InterfaceName, 'GetNextAutoInc');
     __Message.Write('GeneratorName', TypeInfo(String), GeneratorName, []);
     __Message.Finalize;

     __Message.WriteToStream(__request);
     __TransportChannel.Dispatch(__request, __response);
     __Message.ReadFromStream(__response);

     __Message.Read('Result', TypeInfo(Integer), result, []);
  finally
    __request.Free;
    __response.Free;
  end
end;

{ CosrvFacturasCliente }

class function CosrvFacturasCliente.Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvFacturasCliente;
begin
  result := TsrvFacturasCliente_Proxy.Create(aMessage, aTransportChannel);
end;

{ TsrvFacturasCliente_Proxy }

function TsrvFacturasCliente_Proxy.__GetInterfaceName:string;
begin
  result := 'srvFacturasCliente';
end;

function TsrvFacturasCliente_Proxy.GetNextAutoInc(const GeneratorName: String): Integer;
var
  __request, __response : TMemoryStream;
begin
  __request := TMemoryStream.Create;
  __response := TMemoryStream.Create;

  try
     __Message.Initialize(__TransportChannel, 'FactuGES', __InterfaceName, 'GetNextAutoInc');
     __Message.Write('GeneratorName', TypeInfo(String), GeneratorName, []);
     __Message.Finalize;

     __Message.WriteToStream(__request);
     __TransportChannel.Dispatch(__request, __response);
     __Message.ReadFromStream(__response);

     __Message.Read('Result', TypeInfo(Integer), result, []);
  finally
    __request.Free;
    __response.Free;
  end
end;

function TsrvFacturasCliente_Proxy.GenerateReport(const FacturaID: String): Binary;
var
  __request, __response : TMemoryStream;
begin
  result := nil;
  __request := TMemoryStream.Create;
  __response := TMemoryStream.Create;

  try
     __Message.Initialize(__TransportChannel, 'FactuGES', __InterfaceName, 'GenerateReport');
     __Message.Write('FacturaID', TypeInfo(String), FacturaID, []);
     __Message.Finalize;

     __Message.WriteToStream(__request);
     __TransportChannel.Dispatch(__request, __response);
     __Message.ReadFromStream(__response);

     __Message.Read('Result', TypeInfo(Binary), result, []);
  finally
    __request.Free;
    __response.Free;
  end
end;

{ CosrvPedidosProveedor }

class function CosrvPedidosProveedor.Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvPedidosProveedor;
begin
  result := TsrvPedidosProveedor_Proxy.Create(aMessage, aTransportChannel);
end;

{ TsrvPedidosProveedor_Proxy }

function TsrvPedidosProveedor_Proxy.__GetInterfaceName:string;
begin
  result := 'srvPedidosProveedor';
end;

function TsrvPedidosProveedor_Proxy.GetNextAutoInc(const GeneratorName: String): Integer;
var
  __request, __response : TMemoryStream;
begin
  __request := TMemoryStream.Create;
  __response := TMemoryStream.Create;

  try
     __Message.Initialize(__TransportChannel, 'FactuGES', __InterfaceName, 'GetNextAutoInc');
     __Message.Write('GeneratorName', TypeInfo(String), GeneratorName, []);
     __Message.Finalize;

     __Message.WriteToStream(__request);
     __TransportChannel.Dispatch(__request, __response);
     __Message.ReadFromStream(__response);

     __Message.Read('Result', TypeInfo(Integer), result, []);
  finally
    __request.Free;
    __response.Free;
  end
end;

function TsrvPedidosProveedor_Proxy.GenerateReport(const ID: String): Binary;
var
  __request, __response : TMemoryStream;
begin
  result := nil;
  __request := TMemoryStream.Create;
  __response := TMemoryStream.Create;

  try
     __Message.Initialize(__TransportChannel, 'FactuGES', __InterfaceName, 'GenerateReport');
     __Message.Write('ID', TypeInfo(String), ID, []);
     __Message.Finalize;

     __Message.WriteToStream(__request);
     __TransportChannel.Dispatch(__request, __response);
     __Message.ReadFromStream(__response);

     __Message.Read('Result', TypeInfo(Binary), result, []);
  finally
    __request.Free;
    __response.Free;
  end
end;

{ CosrvConfiguracion }

class function CosrvConfiguracion.Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvConfiguracion;
begin
  result := TsrvConfiguracion_Proxy.Create(aMessage, aTransportChannel);
end;

{ TsrvConfiguracion_Proxy }

function TsrvConfiguracion_Proxy.__GetInterfaceName:string;
begin
  result := 'srvConfiguracion';
end;

function TsrvConfiguracion_Proxy.darValor(const CODIGO: String): String;
var
  __request, __response : TMemoryStream;
begin
  __request := TMemoryStream.Create;
  __response := TMemoryStream.Create;

  try
     __Message.Initialize(__TransportChannel, 'FactuGES', __InterfaceName, 'darValor');
     __Message.Write('CODIGO', TypeInfo(String), CODIGO, []);
     __Message.Finalize;

     __Message.WriteToStream(__request);
     __TransportChannel.Dispatch(__request, __response);
     __Message.ReadFromStream(__response);

     __Message.Read('Result', TypeInfo(String), result, []);
  finally
    __request.Free;
    __response.Free;
  end
end;

{ CosrvAlmacenes }

class function CosrvAlmacenes.Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvAlmacenes;
begin
  result := TsrvAlmacenes_Proxy.Create(aMessage, aTransportChannel);
end;

{ TsrvAlmacenes_Proxy }

function TsrvAlmacenes_Proxy.__GetInterfaceName:string;
begin
  result := 'srvAlmacenes';
end;

function TsrvAlmacenes_Proxy.GetNextAutoInc(const GeneratorName: String): Integer;
var
  __request, __response : TMemoryStream;
begin
  __request := TMemoryStream.Create;
  __response := TMemoryStream.Create;

  try
     __Message.Initialize(__TransportChannel, 'FactuGES', __InterfaceName, 'GetNextAutoInc');
     __Message.Write('GeneratorName', TypeInfo(String), GeneratorName, []);
     __Message.Finalize;

     __Message.WriteToStream(__request);
     __TransportChannel.Dispatch(__request, __response);
     __Message.ReadFromStream(__response);

     __Message.Read('Result', TypeInfo(Integer), result, []);
  finally
    __request.Free;
    __response.Free;
  end
end;

{ CosrvArticulos }

class function CosrvArticulos.Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvArticulos;
begin
  result := TsrvArticulos_Proxy.Create(aMessage, aTransportChannel);
end;

{ TsrvArticulos_Proxy }

function TsrvArticulos_Proxy.__GetInterfaceName:string;
begin
  result := 'srvArticulos';
end;

function TsrvArticulos_Proxy.GetNextAutoInc(const GeneratorName: String): Integer;
var
  __request, __response : TMemoryStream;
begin
  __request := TMemoryStream.Create;
  __response := TMemoryStream.Create;

  try
     __Message.Initialize(__TransportChannel, 'FactuGES', __InterfaceName, 'GetNextAutoInc');
     __Message.Write('GeneratorName', TypeInfo(String), GeneratorName, []);
     __Message.Finalize;

     __Message.WriteToStream(__request);
     __TransportChannel.Dispatch(__request, __response);
     __Message.ReadFromStream(__response);

     __Message.Read('Result', TypeInfo(Integer), result, []);
  finally
    __request.Free;
    __response.Free;
  end
end;

{ CosrvInventario }

class function CosrvInventario.Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvInventario;
begin
  result := TsrvInventario_Proxy.Create(aMessage, aTransportChannel);
end;

{ TsrvInventario_Proxy }

function TsrvInventario_Proxy.__GetInterfaceName:string;
begin
  result := 'srvInventario';
end;

function TsrvInventario_Proxy.GetNextAutoInc(const GeneratorName: String): Integer;
var
  __request, __response : TMemoryStream;
begin
  __request := TMemoryStream.Create;
  __response := TMemoryStream.Create;

  try
     __Message.Initialize(__TransportChannel, 'FactuGES', __InterfaceName, 'GetNextAutoInc');
     __Message.Write('GeneratorName', TypeInfo(String), GeneratorName, []);
     __Message.Finalize;

     __Message.WriteToStream(__request);
     __TransportChannel.Dispatch(__request, __response);
     __Message.ReadFromStream(__response);

     __Message.Read('Result', TypeInfo(Integer), result, []);
  finally
    __request.Free;
    __response.Free;
  end
end;

{ CosrvPedidosCliente }

class function CosrvPedidosCliente.Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvPedidosCliente;
begin
  result := TsrvPedidosCliente_Proxy.Create(aMessage, aTransportChannel);
end;

{ TsrvPedidosCliente_Proxy }

function TsrvPedidosCliente_Proxy.__GetInterfaceName:string;
begin
  result := 'srvPedidosCliente';
end;

function TsrvPedidosCliente_Proxy.GetNextAutoInc(const GeneratorName: String): Integer;
var
  __request, __response : TMemoryStream;
begin
  __request := TMemoryStream.Create;
  __response := TMemoryStream.Create;

  try
     __Message.Initialize(__TransportChannel, 'FactuGES', __InterfaceName, 'GetNextAutoInc');
     __Message.Write('GeneratorName', TypeInfo(String), GeneratorName, []);
     __Message.Finalize;

     __Message.WriteToStream(__request);
     __TransportChannel.Dispatch(__request, __response);
     __Message.ReadFromStream(__response);

     __Message.Read('Result', TypeInfo(Integer), result, []);
  finally
    __request.Free;
    __response.Free;
  end
end;

function TsrvPedidosCliente_Proxy.GenerateReport(const ID: String): Binary;
var
  __request, __response : TMemoryStream;
begin
  result := nil;
  __request := TMemoryStream.Create;
  __response := TMemoryStream.Create;

  try
     __Message.Initialize(__TransportChannel, 'FactuGES', __InterfaceName, 'GenerateReport');
     __Message.Write('ID', TypeInfo(String), ID, []);
     __Message.Finalize;

     __Message.WriteToStream(__request);
     __TransportChannel.Dispatch(__request, __response);
     __Message.ReadFromStream(__response);

     __Message.Read('Result', TypeInfo(Binary), result, []);
  finally
    __request.Free;
    __response.Free;
  end
end;

{ CosrvFamilias }

class function CosrvFamilias.Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvFamilias;
begin
  result := TsrvFamilias_Proxy.Create(aMessage, aTransportChannel);
end;

function TsrvFamilias_Proxy.__GetInterfaceName:string;
begin
  result := 'srvFamilias';
end;

{ CosrvAlbaranesCliente }

class function CosrvAlbaranesCliente.Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvAlbaranesCliente;
begin
  result := TsrvAlbaranesCliente_Proxy.Create(aMessage, aTransportChannel);
end;

{ TsrvAlbaranesCliente_Proxy }

function TsrvAlbaranesCliente_Proxy.__GetInterfaceName:string;
begin
  result := 'srvAlbaranesCliente';
end;

function TsrvAlbaranesCliente_Proxy.GetNextAutoInc(const GeneratorName: String): Integer;
var
  __request, __response : TMemoryStream;
begin
  __request := TMemoryStream.Create;
  __response := TMemoryStream.Create;

  try
     __Message.Initialize(__TransportChannel, 'FactuGES', __InterfaceName, 'GetNextAutoInc');
     __Message.Write('GeneratorName', TypeInfo(String), GeneratorName, []);
     __Message.Finalize;

     __Message.WriteToStream(__request);
     __TransportChannel.Dispatch(__request, __response);
     __Message.ReadFromStream(__response);

     __Message.Read('Result', TypeInfo(Integer), result, []);
  finally
    __request.Free;
    __response.Free;
  end
end;

function TsrvAlbaranesCliente_Proxy.GenerateReport(const ID: String): Binary;
var
  __request, __response : TMemoryStream;
begin
  result := nil;
  __request := TMemoryStream.Create;
  __response := TMemoryStream.Create;

  try
     __Message.Initialize(__TransportChannel, 'FactuGES', __InterfaceName, 'GenerateReport');
     __Message.Write('ID', TypeInfo(String), ID, []);
     __Message.Finalize;

     __Message.WriteToStream(__request);
     __TransportChannel.Dispatch(__request, __response);
     __Message.ReadFromStream(__response);

     __Message.Read('Result', TypeInfo(Binary), result, []);
  finally
    __request.Free;
    __response.Free;
  end
end;

function TsrvAlbaranesCliente_Proxy.GenerateEtiquetas(const ID: Integer; const withRefCliente: Boolean): Binary;
var
  __request, __response : TMemoryStream;
begin
  result := nil;
  __request := TMemoryStream.Create;
  __response := TMemoryStream.Create;

  try
     __Message.Initialize(__TransportChannel, 'FactuGES', __InterfaceName, 'GenerateEtiquetas');
     __Message.Write('ID', TypeInfo(Integer), ID, []);
     __Message.Write('withRefCliente', TypeInfo(Boolean), withRefCliente, []);
     __Message.Finalize;

     __Message.WriteToStream(__request);
     __TransportChannel.Dispatch(__request, __response);
     __Message.ReadFromStream(__response);

     __Message.Read('Result', TypeInfo(Binary), result, []);
  finally
    __request.Free;
    __response.Free;
  end
end;

{ CosrvAlbaranesProveedor }

class function CosrvAlbaranesProveedor.Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvAlbaranesProveedor;
begin
  result := TsrvAlbaranesProveedor_Proxy.Create(aMessage, aTransportChannel);
end;

{ TsrvAlbaranesProveedor_Proxy }

function TsrvAlbaranesProveedor_Proxy.__GetInterfaceName:string;
begin
  result := 'srvAlbaranesProveedor';
end;

function TsrvAlbaranesProveedor_Proxy.GetNextAutoInc(const GeneratorName: String): Integer;
var
  __request, __response : TMemoryStream;
begin
  __request := TMemoryStream.Create;
  __response := TMemoryStream.Create;

  try
     __Message.Initialize(__TransportChannel, 'FactuGES', __InterfaceName, 'GetNextAutoInc');
     __Message.Write('GeneratorName', TypeInfo(String), GeneratorName, []);
     __Message.Finalize;

     __Message.WriteToStream(__request);
     __TransportChannel.Dispatch(__request, __response);
     __Message.ReadFromStream(__response);

     __Message.Read('Result', TypeInfo(Integer), result, []);
  finally
    __request.Free;
    __response.Free;
  end
end;

function TsrvAlbaranesProveedor_Proxy.GenerateReport(const ID: String): Binary;
var
  __request, __response : TMemoryStream;
begin
  result := nil;
  __request := TMemoryStream.Create;
  __response := TMemoryStream.Create;

  try
     __Message.Initialize(__TransportChannel, 'FactuGES', __InterfaceName, 'GenerateReport');
     __Message.Write('ID', TypeInfo(String), ID, []);
     __Message.Finalize;

     __Message.WriteToStream(__request);
     __TransportChannel.Dispatch(__request, __response);
     __Message.ReadFromStream(__response);

     __Message.Read('Result', TypeInfo(Binary), result, []);
  finally
    __request.Free;
    __response.Free;
  end
end;

{ CosrvFormasPago }

class function CosrvFormasPago.Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvFormasPago;
begin
  result := TsrvFormasPago_Proxy.Create(aMessage, aTransportChannel);
end;

{ TsrvFormasPago_Proxy }

function TsrvFormasPago_Proxy.__GetInterfaceName:string;
begin
  result := 'srvFormasPago';
end;

function TsrvFormasPago_Proxy.GetNextAutoInc(const GeneratorName: String): Integer;
var
  __request, __response : TMemoryStream;
begin
  __request := TMemoryStream.Create;
  __response := TMemoryStream.Create;

  try
     __Message.Initialize(__TransportChannel, 'FactuGES', __InterfaceName, 'GetNextAutoInc');
     __Message.Write('GeneratorName', TypeInfo(String), GeneratorName, []);
     __Message.Finalize;

     __Message.WriteToStream(__request);
     __TransportChannel.Dispatch(__request, __response);
     __Message.ReadFromStream(__response);

     __Message.Read('Result', TypeInfo(Integer), result, []);
  finally
    __request.Free;
    __response.Free;
  end
end;

{ CosrvTiposIVA }

class function CosrvTiposIVA.Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvTiposIVA;
begin
  result := TsrvTiposIVA_Proxy.Create(aMessage, aTransportChannel);
end;

{ TsrvTiposIVA_Proxy }

function TsrvTiposIVA_Proxy.__GetInterfaceName:string;
begin
  result := 'srvTiposIVA';
end;

function TsrvTiposIVA_Proxy.GetNextAutoInc(const GeneratorName: String): Integer;
var
  __request, __response : TMemoryStream;
begin
  __request := TMemoryStream.Create;
  __response := TMemoryStream.Create;

  try
     __Message.Initialize(__TransportChannel, 'FactuGES', __InterfaceName, 'GetNextAutoInc');
     __Message.Write('GeneratorName', TypeInfo(String), GeneratorName, []);
     __Message.Finalize;

     __Message.WriteToStream(__request);
     __TransportChannel.Dispatch(__request, __response);
     __Message.ReadFromStream(__response);

     __Message.Read('Result', TypeInfo(Integer), result, []);
  finally
    __request.Free;
    __response.Free;
  end
end;

{ CosrvRecibosCliente }

class function CosrvRecibosCliente.Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvRecibosCliente;
begin
  result := TsrvRecibosCliente_Proxy.Create(aMessage, aTransportChannel);
end;

{ TsrvRecibosCliente_Proxy }

function TsrvRecibosCliente_Proxy.__GetInterfaceName:string;
begin
  result := 'srvRecibosCliente';
end;

function TsrvRecibosCliente_Proxy.GetNextAutoInc(const GeneratorName: String): Integer;
var
  __request, __response : TMemoryStream;
begin
  __request := TMemoryStream.Create;
  __response := TMemoryStream.Create;

  try
     __Message.Initialize(__TransportChannel, 'FactuGES', __InterfaceName, 'GetNextAutoInc');
     __Message.Write('GeneratorName', TypeInfo(String), GeneratorName, []);
     __Message.Finalize;

     __Message.WriteToStream(__request);
     __TransportChannel.Dispatch(__request, __response);
     __Message.ReadFromStream(__response);

     __Message.Read('Result', TypeInfo(Integer), result, []);
  finally
    __request.Free;
    __response.Free;
  end
end;

function TsrvRecibosCliente_Proxy.GenerateReport(const ID: String): Binary;
var
  __request, __response : TMemoryStream;
begin
  result := nil;
  __request := TMemoryStream.Create;
  __response := TMemoryStream.Create;

  try
     __Message.Initialize(__TransportChannel, 'FactuGES', __InterfaceName, 'GenerateReport');
     __Message.Write('ID', TypeInfo(String), ID, []);
     __Message.Finalize;

     __Message.WriteToStream(__request);
     __TransportChannel.Dispatch(__request, __response);
     __Message.ReadFromStream(__response);

     __Message.Read('Result', TypeInfo(Binary), result, []);
  finally
    __request.Free;
    __response.Free;
  end
end;

{ CosrvRemesasCliente }

class function CosrvRemesasCliente.Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvRemesasCliente;
begin
  result := TsrvRemesasCliente_Proxy.Create(aMessage, aTransportChannel);
end;

{ TsrvRemesasCliente_Proxy }

function TsrvRemesasCliente_Proxy.__GetInterfaceName:string;
begin
  result := 'srvRemesasCliente';
end;

function TsrvRemesasCliente_Proxy.GetNextAutoInc(const GeneratorName: String): Integer;
var
  __request, __response : TMemoryStream;
begin
  __request := TMemoryStream.Create;
  __response := TMemoryStream.Create;

  try
     __Message.Initialize(__TransportChannel, 'FactuGES', __InterfaceName, 'GetNextAutoInc');
     __Message.Write('GeneratorName', TypeInfo(String), GeneratorName, []);
     __Message.Finalize;

     __Message.WriteToStream(__request);
     __TransportChannel.Dispatch(__request, __response);
     __Message.ReadFromStream(__response);

     __Message.Read('Result', TypeInfo(Integer), result, []);
  finally
    __request.Free;
    __response.Free;
  end
end;

function TsrvRemesasCliente_Proxy.GenerateReport(const ID: String): Binary;
var
  __request, __response : TMemoryStream;
begin
  result := nil;
  __request := TMemoryStream.Create;
  __response := TMemoryStream.Create;

  try
     __Message.Initialize(__TransportChannel, 'FactuGES', __InterfaceName, 'GenerateReport');
     __Message.Write('ID', TypeInfo(String), ID, []);
     __Message.Finalize;

     __Message.WriteToStream(__request);
     __TransportChannel.Dispatch(__request, __response);
     __Message.ReadFromStream(__response);

     __Message.Read('Result', TypeInfo(Binary), result, []);
  finally
    __request.Free;
    __response.Free;
  end
end;

{ CosrvTiendaWeb }

class function CosrvTiendaWeb.Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvTiendaWeb;
begin
  result := TsrvTiendaWeb_Proxy.Create(aMessage, aTransportChannel);
end;

{ TsrvTiendaWeb_Proxy }

function TsrvTiendaWeb_Proxy.__GetInterfaceName:string;
begin
  result := 'srvTiendaWeb';
end;

function TsrvTiendaWeb_Proxy.GetNextAutoInc(const GeneratorName: String): Integer;
var
  __request, __response : TMemoryStream;
begin
  __request := TMemoryStream.Create;
  __response := TMemoryStream.Create;

  try
     __Message.Initialize(__TransportChannel, 'FactuGES', __InterfaceName, 'GetNextAutoInc');
     __Message.Write('GeneratorName', TypeInfo(String), GeneratorName, []);
     __Message.Finalize;

     __Message.WriteToStream(__request);
     __TransportChannel.Dispatch(__request, __response);
     __Message.ReadFromStream(__response);

     __Message.Read('Result', TypeInfo(Integer), result, []);
  finally
    __request.Free;
    __response.Free;
  end
end;

function TsrvTiendaWeb_Proxy.GetNextAutoIncOSC(const TableName: String): Integer;
var
  __request, __response : TMemoryStream;
begin
  __request := TMemoryStream.Create;
  __response := TMemoryStream.Create;

  try
     __Message.Initialize(__TransportChannel, 'FactuGES', __InterfaceName, 'GetNextAutoIncOSC');
     __Message.Write('TableName', TypeInfo(String), TableName, []);
     __Message.Finalize;

     __Message.WriteToStream(__request);
     __TransportChannel.Dispatch(__request, __response);
     __Message.ReadFromStream(__response);

     __Message.Read('Result', TypeInfo(Integer), result, []);
  finally
    __request.Free;
    __response.Free;
  end
end;

function TsrvTiendaWeb_Proxy.GetDatasetSchemaOSC(const aDatasetName: String): Binary;
var
  __request, __response : TMemoryStream;
begin
  result := nil;
  __request := TMemoryStream.Create;
  __response := TMemoryStream.Create;

  try
     __Message.Initialize(__TransportChannel, 'FactuGES', __InterfaceName, 'GetDatasetSchemaOSC');
     __Message.Write('aDatasetName', TypeInfo(String), aDatasetName, []);
     __Message.Finalize;

     __Message.WriteToStream(__request);
     __TransportChannel.Dispatch(__request, __response);
     __Message.ReadFromStream(__response);

     __Message.Read('Result', TypeInfo(Binary), result, []);
  finally
    __request.Free;
    __response.Free;
  end
end;

function TsrvTiendaWeb_Proxy.GetDatasetDataExOSC(const DatasetName: String; const Params: TDADatasetParamArray; const UserFilter: String; const IncludeSchema: Boolean; 
                                                 const MaxRecords: Integer): Binary;
var
  __request, __response : TMemoryStream;
begin
  result := nil;
  __request := TMemoryStream.Create;
  __response := TMemoryStream.Create;

  try
     __Message.Initialize(__TransportChannel, 'FactuGES', __InterfaceName, 'GetDatasetDataExOSC');
     __Message.Write('DatasetName', TypeInfo(String), DatasetName, []);
     __Message.Write('Params', TypeInfo(DataAbstract_Intf.TDADatasetParamArray), Params, []);
     __Message.Write('UserFilter', TypeInfo(String), UserFilter, []);
     __Message.Write('IncludeSchema', TypeInfo(Boolean), IncludeSchema, []);
     __Message.Write('MaxRecords', TypeInfo(Integer), MaxRecords, []);
     __Message.Finalize;

     __Message.WriteToStream(__request);
     __TransportChannel.Dispatch(__request, __response);
     __Message.ReadFromStream(__response);

     __Message.Read('Result', TypeInfo(Binary), result, []);
  finally
    __request.Free;
    __response.Free;
  end
end;

function TsrvTiendaWeb_Proxy.UpdateDataOSC(const Delta: Binary): Binary;
var
  __request, __response : TMemoryStream;
begin
  result := nil;
  __request := TMemoryStream.Create;
  __response := TMemoryStream.Create;

  try
     __Message.Initialize(__TransportChannel, 'FactuGES', __InterfaceName, 'UpdateDataOSC');
     __Message.Write('Delta', TypeInfo(Binary), Delta, []);
     __Message.Finalize;

     __Message.WriteToStream(__request);
     __TransportChannel.Dispatch(__request, __response);
     __Message.ReadFromStream(__response);

     __Message.Read('Result', TypeInfo(Binary), result, []);
  finally
    __request.Free;
    __response.Free;
  end
end;

{ CosrvFacturasProveedor }

class function CosrvFacturasProveedor.Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvFacturasProveedor;
begin
  result := TsrvFacturasProveedor_Proxy.Create(aMessage, aTransportChannel);
end;

{ TsrvFacturasProveedor_Proxy }

function TsrvFacturasProveedor_Proxy.__GetInterfaceName:string;
begin
  result := 'srvFacturasProveedor';
end;

function TsrvFacturasProveedor_Proxy.GetNextAutoInc(const GeneratorName: String): Integer;
var
  __request, __response : TMemoryStream;
begin
  __request := TMemoryStream.Create;
  __response := TMemoryStream.Create;

  try
     __Message.Initialize(__TransportChannel, 'FactuGES', __InterfaceName, 'GetNextAutoInc');
     __Message.Write('GeneratorName', TypeInfo(String), GeneratorName, []);
     __Message.Finalize;

     __Message.WriteToStream(__request);
     __TransportChannel.Dispatch(__request, __response);
     __Message.ReadFromStream(__response);

     __Message.Read('Result', TypeInfo(Integer), result, []);
  finally
    __request.Free;
    __response.Free;
  end
end;

function TsrvFacturasProveedor_Proxy.GenerateReport(const FacturaID: String): Binary;
var
  __request, __response : TMemoryStream;
begin
  result := nil;
  __request := TMemoryStream.Create;
  __response := TMemoryStream.Create;

  try
     __Message.Initialize(__TransportChannel, 'FactuGES', __InterfaceName, 'GenerateReport');
     __Message.Write('FacturaID', TypeInfo(String), FacturaID, []);
     __Message.Finalize;

     __Message.WriteToStream(__request);
     __TransportChannel.Dispatch(__request, __response);
     __Message.ReadFromStream(__response);

     __Message.Read('Result', TypeInfo(Binary), result, []);
  finally
    __request.Free;
    __response.Free;
  end
end;

{ CosrvRecibosProveedor }

class function CosrvRecibosProveedor.Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvRecibosProveedor;
begin
  result := TsrvRecibosProveedor_Proxy.Create(aMessage, aTransportChannel);
end;

{ TsrvRecibosProveedor_Proxy }

function TsrvRecibosProveedor_Proxy.__GetInterfaceName:string;
begin
  result := 'srvRecibosProveedor';
end;

function TsrvRecibosProveedor_Proxy.GetNextAutoInc(const GeneratorName: String): Integer;
var
  __request, __response : TMemoryStream;
begin
  __request := TMemoryStream.Create;
  __response := TMemoryStream.Create;

  try
     __Message.Initialize(__TransportChannel, 'FactuGES', __InterfaceName, 'GetNextAutoInc');
     __Message.Write('GeneratorName', TypeInfo(String), GeneratorName, []);
     __Message.Finalize;

     __Message.WriteToStream(__request);
     __TransportChannel.Dispatch(__request, __response);
     __Message.ReadFromStream(__response);

     __Message.Read('Result', TypeInfo(Integer), result, []);
  finally
    __request.Free;
    __response.Free;
  end
end;

function TsrvRecibosProveedor_Proxy.GenerateReport(const ID: Integer): Binary;
var
  __request, __response : TMemoryStream;
begin
  result := nil;
  __request := TMemoryStream.Create;
  __response := TMemoryStream.Create;

  try
     __Message.Initialize(__TransportChannel, 'FactuGES', __InterfaceName, 'GenerateReport');
     __Message.Write('ID', TypeInfo(Integer), ID, []);
     __Message.Finalize;

     __Message.WriteToStream(__request);
     __TransportChannel.Dispatch(__request, __response);
     __Message.ReadFromStream(__response);

     __Message.Read('Result', TypeInfo(Binary), result, []);
  finally
    __request.Free;
    __response.Free;
  end
end;

{ CosrvHistoricoMovimientos }

class function CosrvHistoricoMovimientos.Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvHistoricoMovimientos;
begin
  result := TsrvHistoricoMovimientos_Proxy.Create(aMessage, aTransportChannel);
end;

function TsrvHistoricoMovimientos_Proxy.__GetInterfaceName:string;
begin
  result := 'srvHistoricoMovimientos';
end;

{ CosrvRemesasProveedor }

class function CosrvRemesasProveedor.Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvRemesasProveedor;
begin
  result := TsrvRemesasProveedor_Proxy.Create(aMessage, aTransportChannel);
end;

{ TsrvRemesasProveedor_Proxy }

function TsrvRemesasProveedor_Proxy.__GetInterfaceName:string;
begin
  result := 'srvRemesasProveedor';
end;

function TsrvRemesasProveedor_Proxy.GetNextAutoInc(const GeneratorName: String): Integer;
var
  __request, __response : TMemoryStream;
begin
  __request := TMemoryStream.Create;
  __response := TMemoryStream.Create;

  try
     __Message.Initialize(__TransportChannel, 'FactuGES', __InterfaceName, 'GetNextAutoInc');
     __Message.Write('GeneratorName', TypeInfo(String), GeneratorName, []);
     __Message.Finalize;

     __Message.WriteToStream(__request);
     __TransportChannel.Dispatch(__request, __response);
     __Message.ReadFromStream(__response);

     __Message.Read('Result', TypeInfo(Integer), result, []);
  finally
    __request.Free;
    __response.Free;
  end
end;

function TsrvRemesasProveedor_Proxy.GenerateReport(const ID: String): Binary;
var
  __request, __response : TMemoryStream;
begin
  result := nil;
  __request := TMemoryStream.Create;
  __response := TMemoryStream.Create;

  try
     __Message.Initialize(__TransportChannel, 'FactuGES', __InterfaceName, 'GenerateReport');
     __Message.Write('ID', TypeInfo(String), ID, []);
     __Message.Finalize;

     __Message.WriteToStream(__request);
     __TransportChannel.Dispatch(__request, __response);
     __Message.ReadFromStream(__response);

     __Message.Read('Result', TypeInfo(Binary), result, []);
  finally
    __request.Free;
    __response.Free;
  end
end;

{ CosrvReferencias }

class function CosrvReferencias.Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvReferencias;
begin
  result := TsrvReferencias_Proxy.Create(aMessage, aTransportChannel);
end;

function TsrvReferencias_Proxy.__GetInterfaceName:string;
begin
  result := 'srvReferencias';
end;

{ CosrvInformes }

class function CosrvInformes.Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvInformes;
begin
  result := TsrvInformes_Proxy.Create(aMessage, aTransportChannel);
end;

{ TsrvInformes_Proxy }

function TsrvInformes_Proxy.__GetInterfaceName:string;
begin
  result := 'srvInformes';
end;

function TsrvInformes_Proxy.GetNextAutoInc(const GeneratorName: String): Integer;
var
  __request, __response : TMemoryStream;
begin
  __request := TMemoryStream.Create;
  __response := TMemoryStream.Create;

  try
     __Message.Initialize(__TransportChannel, 'FactuGES', __InterfaceName, 'GetNextAutoInc');
     __Message.Write('GeneratorName', TypeInfo(String), GeneratorName, []);
     __Message.Finalize;

     __Message.WriteToStream(__request);
     __TransportChannel.Dispatch(__request, __response);
     __Message.ReadFromStream(__response);

     __Message.Read('Result', TypeInfo(Integer), result, []);
  finally
    __request.Free;
    __response.Free;
  end
end;

{ CosrvInfVentasArticulo }

class function CosrvInfVentasArticulo.Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvInfVentasArticulo;
begin
  result := TsrvInfVentasArticulo_Proxy.Create(aMessage, aTransportChannel);
end;

{ TsrvInfVentasArticulo_Proxy }

function TsrvInfVentasArticulo_Proxy.__GetInterfaceName:string;
begin
  result := 'srvInfVentasArticulo';
end;

function TsrvInfVentasArticulo_Proxy.GetData(const DatasetName: String; const MaxRecords: Integer; const Columns: String; const Params: TDADatasetParamArray): Binary;
var
  __request, __response : TMemoryStream;
begin
  result := nil;
  __request := TMemoryStream.Create;
  __response := TMemoryStream.Create;

  try
     __Message.Initialize(__TransportChannel, 'FactuGES', __InterfaceName, 'GetData');
     __Message.Write('DatasetName', TypeInfo(String), DatasetName, []);
     __Message.Write('MaxRecords', TypeInfo(Integer), MaxRecords, []);
     __Message.Write('Columns', TypeInfo(String), Columns, []);
     __Message.Write('Params', TypeInfo(DataAbstract_Intf.TDADatasetParamArray), Params, []);
     __Message.Finalize;

     __Message.WriteToStream(__request);
     __TransportChannel.Dispatch(__request, __response);
     __Message.ReadFromStream(__response);

     __Message.Read('Result', TypeInfo(Binary), result, []);
  finally
    __request.Free;
    __response.Free;
  end
end;

function TsrvInfVentasArticulo_Proxy.GetSchema(const DatasetName: String; const Columns: String): Binary;
var
  __request, __response : TMemoryStream;
begin
  result := nil;
  __request := TMemoryStream.Create;
  __response := TMemoryStream.Create;

  try
     __Message.Initialize(__TransportChannel, 'FactuGES', __InterfaceName, 'GetSchema');
     __Message.Write('DatasetName', TypeInfo(String), DatasetName, []);
     __Message.Write('Columns', TypeInfo(String), Columns, []);
     __Message.Finalize;

     __Message.WriteToStream(__request);
     __TransportChannel.Dispatch(__request, __response);
     __Message.ReadFromStream(__response);

     __Message.Read('Result', TypeInfo(Binary), result, []);
  finally
    __request.Free;
    __response.Free;
  end
end;

{ CosrvInfMargenArticulo }

class function CosrvInfMargenArticulo.Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvInfMargenArticulo;
begin
  result := TsrvInfMargenArticulo_Proxy.Create(aMessage, aTransportChannel);
end;

{ TsrvInfMargenArticulo_Proxy }

function TsrvInfMargenArticulo_Proxy.__GetInterfaceName:string;
begin
  result := 'srvInfMargenArticulo';
end;

function TsrvInfMargenArticulo_Proxy.GetData(const DatasetName: String; const MaxRecords: Integer; const Columns: String; const Params: TDADatasetParamArray): Binary;
var
  __request, __response : TMemoryStream;
begin
  result := nil;
  __request := TMemoryStream.Create;
  __response := TMemoryStream.Create;

  try
     __Message.Initialize(__TransportChannel, 'FactuGES', __InterfaceName, 'GetData');
     __Message.Write('DatasetName', TypeInfo(String), DatasetName, []);
     __Message.Write('MaxRecords', TypeInfo(Integer), MaxRecords, []);
     __Message.Write('Columns', TypeInfo(String), Columns, []);
     __Message.Write('Params', TypeInfo(DataAbstract_Intf.TDADatasetParamArray), Params, []);
     __Message.Finalize;

     __Message.WriteToStream(__request);
     __TransportChannel.Dispatch(__request, __response);
     __Message.ReadFromStream(__response);

     __Message.Read('Result', TypeInfo(Binary), result, []);
  finally
    __request.Free;
    __response.Free;
  end
end;

function TsrvInfMargenArticulo_Proxy.GetSchema(const DatasetName: String; const Columns: String): Binary;
var
  __request, __response : TMemoryStream;
begin
  result := nil;
  __request := TMemoryStream.Create;
  __response := TMemoryStream.Create;

  try
     __Message.Initialize(__TransportChannel, 'FactuGES', __InterfaceName, 'GetSchema');
     __Message.Write('DatasetName', TypeInfo(String), DatasetName, []);
     __Message.Write('Columns', TypeInfo(String), Columns, []);
     __Message.Finalize;

     __Message.WriteToStream(__request);
     __TransportChannel.Dispatch(__request, __response);
     __Message.ReadFromStream(__response);

     __Message.Read('Result', TypeInfo(Binary), result, []);
  finally
    __request.Free;
    __response.Free;
  end
end;

initialization
  RegisterROClass(TRdxLoginInfo);
  RegisterROClass(TRdxEmpresasArray);
  RegisterProxyClass(IsrvContactos_IID, TsrvContactos_Proxy);
  RegisterProxyClass(IsrvComisiones_IID, TsrvComisiones_Proxy);
  RegisterProxyClass(IsrvLogin_IID, TsrvLogin_Proxy);
  RegisterProxyClass(IsrvEmpresas_IID, TsrvEmpresas_Proxy);
  RegisterProxyClass(IsrvFacturasCliente_IID, TsrvFacturasCliente_Proxy);
  RegisterProxyClass(IsrvPedidosProveedor_IID, TsrvPedidosProveedor_Proxy);
  RegisterProxyClass(IsrvConfiguracion_IID, TsrvConfiguracion_Proxy);
  RegisterProxyClass(IsrvAlmacenes_IID, TsrvAlmacenes_Proxy);
  RegisterProxyClass(IsrvArticulos_IID, TsrvArticulos_Proxy);
  RegisterProxyClass(IsrvInventario_IID, TsrvInventario_Proxy);
  RegisterProxyClass(IsrvPedidosCliente_IID, TsrvPedidosCliente_Proxy);
  RegisterProxyClass(IsrvFamilias_IID, TsrvFamilias_Proxy);
  RegisterProxyClass(IsrvAlbaranesCliente_IID, TsrvAlbaranesCliente_Proxy);
  RegisterProxyClass(IsrvAlbaranesProveedor_IID, TsrvAlbaranesProveedor_Proxy);
  RegisterProxyClass(IsrvFormasPago_IID, TsrvFormasPago_Proxy);
  RegisterProxyClass(IsrvTiposIVA_IID, TsrvTiposIVA_Proxy);
  RegisterProxyClass(IsrvRecibosCliente_IID, TsrvRecibosCliente_Proxy);
  RegisterProxyClass(IsrvRemesasCliente_IID, TsrvRemesasCliente_Proxy);
  RegisterProxyClass(IsrvTiendaWeb_IID, TsrvTiendaWeb_Proxy);
  RegisterProxyClass(IsrvFacturasProveedor_IID, TsrvFacturasProveedor_Proxy);
  RegisterProxyClass(IsrvRecibosProveedor_IID, TsrvRecibosProveedor_Proxy);
  RegisterProxyClass(IsrvHistoricoMovimientos_IID, TsrvHistoricoMovimientos_Proxy);
  RegisterProxyClass(IsrvRemesasProveedor_IID, TsrvRemesasProveedor_Proxy);
  RegisterProxyClass(IsrvReferencias_IID, TsrvReferencias_Proxy);
  RegisterProxyClass(IsrvInformes_IID, TsrvInformes_Proxy);
  RegisterProxyClass(IsrvInfVentasArticulo_IID, TsrvInfVentasArticulo_Proxy);
  RegisterProxyClass(IsrvInfMargenArticulo_IID, TsrvInfMargenArticulo_Proxy);


finalization
  UnregisterROClass(TRdxLoginInfo);
  UnregisterROClass(TRdxEmpresasArray);
  UnregisterProxyClass(IsrvContactos_IID);
  UnregisterProxyClass(IsrvComisiones_IID);
  UnregisterProxyClass(IsrvLogin_IID);
  UnregisterProxyClass(IsrvEmpresas_IID);
  UnregisterProxyClass(IsrvFacturasCliente_IID);
  UnregisterProxyClass(IsrvPedidosProveedor_IID);
  UnregisterProxyClass(IsrvConfiguracion_IID);
  UnregisterProxyClass(IsrvAlmacenes_IID);
  UnregisterProxyClass(IsrvArticulos_IID);
  UnregisterProxyClass(IsrvInventario_IID);
  UnregisterProxyClass(IsrvPedidosCliente_IID);
  UnregisterProxyClass(IsrvFamilias_IID);
  UnregisterProxyClass(IsrvAlbaranesCliente_IID);
  UnregisterProxyClass(IsrvAlbaranesProveedor_IID);
  UnregisterProxyClass(IsrvFormasPago_IID);
  UnregisterProxyClass(IsrvTiposIVA_IID);
  UnregisterProxyClass(IsrvRecibosCliente_IID);
  UnregisterProxyClass(IsrvRemesasCliente_IID);
  UnregisterProxyClass(IsrvTiendaWeb_IID);
  UnregisterProxyClass(IsrvFacturasProveedor_IID);
  UnregisterProxyClass(IsrvRecibosProveedor_IID);
  UnregisterProxyClass(IsrvHistoricoMovimientos_IID);
  UnregisterProxyClass(IsrvRemesasProveedor_IID);
  UnregisterProxyClass(IsrvReferencias_IID);
  UnregisterProxyClass(IsrvInformes_IID);
  UnregisterProxyClass(IsrvInfVentasArticulo_IID);
  UnregisterProxyClass(IsrvInfMargenArticulo_IID);

end.
