unit schFacturasClienteClient_Intf;

interface

uses
  Classes, DB, SysUtils, uROClasses, uDADataTable;

const
  { Data table rules ids
       Feel free to change them to something more human readable
       but make sure they are unique in the context of your application }
  RID_DarReferenciaFactura = '{13F7E6EA-DE89-4D70-990C-895E614B4B32}';
  RID_FacturasCliente = '{92B0E447-61C8-47DA-975C-F378F6A5BC00}';
  RID_DetallesFacturasCliente = '{8608DE69-460E-4759-9612-3D4B05D17658}';
  RID_InformeCabeceraFacturaCliente = '{340B7416-FA06-4941-B982-EA11F25028D6}';
  RID_InformeDetallesFacturaCliente = '{8779CABB-4CB1-42C7-951E-028EFF606A9F}';
  RID_DarReferenciaFacturaProforma = '{418399E5-5D9A-4DF4-8AB9-6E4B01C996B4}';

  { Data table names }
  nme_DarReferenciaFactura = 'DarReferenciaFactura';
  nme_FacturasCliente = 'FacturasCliente';
  nme_DetallesFacturasCliente = 'DetallesFacturasCliente';
  nme_InformeCabeceraFacturaCliente = 'InformeCabeceraFacturaCliente';
  nme_InformeDetallesFacturaCliente = 'InformeDetallesFacturaCliente';
  nme_DarReferenciaFacturaProforma = 'DarReferenciaFacturaProforma';

  { DarReferenciaFactura fields }
  fld_DarReferenciaFacturaREFERENCIA = 'REFERENCIA';

  { DarReferenciaFactura field indexes }
  idx_DarReferenciaFacturaREFERENCIA = 0;

  { FacturasCliente fields }
  fld_FacturasClienteCODIGO = 'CODIGO';
  fld_FacturasClienteFECHAALTA = 'FECHAALTA';
  fld_FacturasClienteFECHAVENCIMIENTO = 'FECHAVENCIMIENTO';
  fld_FacturasClienteUSUARIO = 'USUARIO';
  fld_FacturasClienteFECHAFACTURA = 'FECHAFACTURA';
  fld_FacturasClienteCLASEFACTURA = 'CLASEFACTURA';
  fld_FacturasClienteREFERENCIA = 'REFERENCIA';
  fld_FacturasClientePAGADA = 'PAGADA';
  fld_FacturasClienteBASEIMPONIBLE = 'BASEIMPONIBLE';
  fld_FacturasClienteIVA = 'IVA';
  fld_FacturasClienteIMPORTEIVA = 'IMPORTEIVA';
  fld_FacturasClienteIMPORTETOTAL = 'IMPORTETOTAL';
  fld_FacturasClienteDESCUENTO = 'DESCUENTO';
  fld_FacturasClienteIMPORTEDESCUENTO = 'IMPORTEDESCUENTO';
  fld_FacturasClienteOBSERVACIONES = 'OBSERVACIONES';
  fld_FacturasClienteFORMAPAGO = 'FORMAPAGO';
  fld_FacturasClienteCODIGOCONTACTO = 'CODIGOCONTACTO';
  fld_FacturasClienteNIFCIF = 'NIFCIF';
  fld_FacturasClienteNOMBRE = 'NOMBRE';
  fld_FacturasClienteCALLE = 'CALLE';
  fld_FacturasClientePROVINCIA = 'PROVINCIA';
  fld_FacturasClienteCODIGOPOSTAL = 'CODIGOPOSTAL';
  fld_FacturasClientePOBLACION = 'POBLACION';
  fld_FacturasClienteCODIGOOBRA = 'CODIGOOBRA';

  { FacturasCliente field indexes }
  idx_FacturasClienteCODIGO = 0;
  idx_FacturasClienteFECHAALTA = 1;
  idx_FacturasClienteFECHAVENCIMIENTO = 2;
  idx_FacturasClienteUSUARIO = 3;
  idx_FacturasClienteFECHAFACTURA = 4;
  idx_FacturasClienteCLASEFACTURA = 5;
  idx_FacturasClienteREFERENCIA = 6;
  idx_FacturasClientePAGADA = 7;
  idx_FacturasClienteBASEIMPONIBLE = 8;
  idx_FacturasClienteIVA = 9;
  idx_FacturasClienteIMPORTEIVA = 10;
  idx_FacturasClienteIMPORTETOTAL = 11;
  idx_FacturasClienteDESCUENTO = 12;
  idx_FacturasClienteIMPORTEDESCUENTO = 13;
  idx_FacturasClienteOBSERVACIONES = 14;
  idx_FacturasClienteFORMAPAGO = 15;
  idx_FacturasClienteCODIGOCONTACTO = 16;
  idx_FacturasClienteNIFCIF = 17;
  idx_FacturasClienteNOMBRE = 18;
  idx_FacturasClienteCALLE = 19;
  idx_FacturasClientePROVINCIA = 20;
  idx_FacturasClienteCODIGOPOSTAL = 21;
  idx_FacturasClientePOBLACION = 22;
  idx_FacturasClienteCODIGOOBRA = 23;

  { DetallesFacturasCliente fields }
  fld_DetallesFacturasClienteCODIGOFACTURA = 'CODIGOFACTURA';
  fld_DetallesFacturasClienteNUMCONCEPTO = 'NUMCONCEPTO';
  fld_DetallesFacturasClientePOSICION = 'POSICION';
  fld_DetallesFacturasClienteTIPO = 'TIPO';
  fld_DetallesFacturasClienteDESCRIPCION = 'DESCRIPCION';
  fld_DetallesFacturasClienteCANTIDAD = 'CANTIDAD';
  fld_DetallesFacturasClienteIMPORTEUNIDAD = 'IMPORTEUNIDAD';
  fld_DetallesFacturasClienteIMPORTETOTAL = 'IMPORTETOTAL';

  { DetallesFacturasCliente field indexes }
  idx_DetallesFacturasClienteCODIGOFACTURA = 0;
  idx_DetallesFacturasClienteNUMCONCEPTO = 1;
  idx_DetallesFacturasClientePOSICION = 2;
  idx_DetallesFacturasClienteTIPO = 3;
  idx_DetallesFacturasClienteDESCRIPCION = 4;
  idx_DetallesFacturasClienteCANTIDAD = 5;
  idx_DetallesFacturasClienteIMPORTEUNIDAD = 6;
  idx_DetallesFacturasClienteIMPORTETOTAL = 7;

  { InformeCabeceraFacturaCliente fields }
  fld_InformeCabeceraFacturaClienteCODIGO = 'CODIGO';
  fld_InformeCabeceraFacturaClienteFECHAALTA = 'FECHAALTA';
  fld_InformeCabeceraFacturaClienteFECHAVENCIMIENTO = 'FECHAVENCIMIENTO';
  fld_InformeCabeceraFacturaClienteUSUARIO = 'USUARIO';
  fld_InformeCabeceraFacturaClienteCLASEFACTURA = 'CLASEFACTURA';
  fld_InformeCabeceraFacturaClienteFECHAFACTURA = 'FECHAFACTURA';
  fld_InformeCabeceraFacturaClienteREFERENCIA = 'REFERENCIA';
  fld_InformeCabeceraFacturaClientePAGADA = 'PAGADA';
  fld_InformeCabeceraFacturaClienteCODIGOCONTACTO = 'CODIGOCONTACTO';
  fld_InformeCabeceraFacturaClienteBASEIMPONIBLE = 'BASEIMPONIBLE';
  fld_InformeCabeceraFacturaClienteIVA = 'IVA';
  fld_InformeCabeceraFacturaClienteIMPORTEIVA = 'IMPORTEIVA';
  fld_InformeCabeceraFacturaClienteIMPORTETOTAL = 'IMPORTETOTAL';
  fld_InformeCabeceraFacturaClienteOBSERVACIONES = 'OBSERVACIONES';
  fld_InformeCabeceraFacturaClienteFORMAPAGO = 'FORMAPAGO';
  fld_InformeCabeceraFacturaClienteNIFCIF = 'NIFCIF';
  fld_InformeCabeceraFacturaClienteNOMBRE = 'NOMBRE';
  fld_InformeCabeceraFacturaClienteCALLE = 'CALLE';
  fld_InformeCabeceraFacturaClientePROVINCIA = 'PROVINCIA';
  fld_InformeCabeceraFacturaClienteCODIGOPOSTAL = 'CODIGOPOSTAL';
  fld_InformeCabeceraFacturaClientePOBLACION = 'POBLACION';
  fld_InformeCabeceraFacturaClienteCODIGOOBRA = 'CODIGOOBRA';

  { InformeCabeceraFacturaCliente field indexes }
  idx_InformeCabeceraFacturaClienteCODIGO = 0;
  idx_InformeCabeceraFacturaClienteFECHAALTA = 1;
  idx_InformeCabeceraFacturaClienteFECHAVENCIMIENTO = 2;
  idx_InformeCabeceraFacturaClienteUSUARIO = 3;
  idx_InformeCabeceraFacturaClienteCLASEFACTURA = 4;
  idx_InformeCabeceraFacturaClienteFECHAFACTURA = 5;
  idx_InformeCabeceraFacturaClienteREFERENCIA = 6;
  idx_InformeCabeceraFacturaClientePAGADA = 7;
  idx_InformeCabeceraFacturaClienteCODIGOCONTACTO = 8;
  idx_InformeCabeceraFacturaClienteBASEIMPONIBLE = 9;
  idx_InformeCabeceraFacturaClienteIVA = 10;
  idx_InformeCabeceraFacturaClienteIMPORTEIVA = 11;
  idx_InformeCabeceraFacturaClienteIMPORTETOTAL = 12;
  idx_InformeCabeceraFacturaClienteOBSERVACIONES = 13;
  idx_InformeCabeceraFacturaClienteFORMAPAGO = 14;
  idx_InformeCabeceraFacturaClienteNIFCIF = 15;
  idx_InformeCabeceraFacturaClienteNOMBRE = 16;
  idx_InformeCabeceraFacturaClienteCALLE = 17;
  idx_InformeCabeceraFacturaClientePROVINCIA = 18;
  idx_InformeCabeceraFacturaClienteCODIGOPOSTAL = 19;
  idx_InformeCabeceraFacturaClientePOBLACION = 20;
  idx_InformeCabeceraFacturaClienteCODIGOOBRA = 21;

  { InformeDetallesFacturaCliente fields }
  fld_InformeDetallesFacturaClienteCODIGOFACTURA = 'CODIGOFACTURA';
  fld_InformeDetallesFacturaClienteNUMCONCEPTO = 'NUMCONCEPTO';
  fld_InformeDetallesFacturaClienteDESCRIPCION = 'DESCRIPCION';
  fld_InformeDetallesFacturaClienteCANTIDAD = 'CANTIDAD';
  fld_InformeDetallesFacturaClienteIMPORTEUNIDAD = 'IMPORTEUNIDAD';
  fld_InformeDetallesFacturaClienteIMPORTETOTAL = 'IMPORTETOTAL';
  fld_InformeDetallesFacturaClienteTIPO = 'TIPO';
  fld_InformeDetallesFacturaClientePOSICION = 'POSICION';

  { InformeDetallesFacturaCliente field indexes }
  idx_InformeDetallesFacturaClienteCODIGOFACTURA = 0;
  idx_InformeDetallesFacturaClienteNUMCONCEPTO = 1;
  idx_InformeDetallesFacturaClienteDESCRIPCION = 2;
  idx_InformeDetallesFacturaClienteCANTIDAD = 3;
  idx_InformeDetallesFacturaClienteIMPORTEUNIDAD = 4;
  idx_InformeDetallesFacturaClienteIMPORTETOTAL = 5;
  idx_InformeDetallesFacturaClienteTIPO = 6;
  idx_InformeDetallesFacturaClientePOSICION = 7;

  { DarReferenciaFacturaProforma fields }
  fld_DarReferenciaFacturaProformaREFERENCIA = 'REFERENCIA';

  { DarReferenciaFacturaProforma field indexes }
  idx_DarReferenciaFacturaProformaREFERENCIA = 0;

type
  { IDarReferenciaFactura }
  IDarReferenciaFactura = interface(IDAStronglyTypedDataTable)
  ['{E53E48AC-B135-4473-BF9E-D07EF0937B28}']
    { Property getters and setters }
    function GetREFERENCIAValue: String;
    procedure SetREFERENCIAValue(const aValue: String);


    { Properties }
    property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue;
  end;

  { TDarReferenciaFacturaDataTableRules }
  TDarReferenciaFacturaDataTableRules = class(TDADataTableRules, IDarReferenciaFactura)
  private
  protected
    { Property getters and setters }
    function GetREFERENCIAValue: String; virtual;
    procedure SetREFERENCIAValue(const aValue: String); virtual;

    { Properties }
    property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue;

  public
    constructor Create(aDataTable: TDADataTable); override;
    destructor Destroy; override;

  end;

  { IFacturasCliente }
  IFacturasCliente = interface(IDAStronglyTypedDataTable)
  ['{B2B93701-AE9A-44CD-AF52-B7BE52C555A9}']
    { Property getters and setters }
    function GetCODIGOValue: Integer;
    procedure SetCODIGOValue(const aValue: Integer);
    function GetFECHAALTAValue: DateTime;
    procedure SetFECHAALTAValue(const aValue: DateTime);
    function GetFECHAVENCIMIENTOValue: DateTime;
    procedure SetFECHAVENCIMIENTOValue(const aValue: DateTime);
    function GetUSUARIOValue: String;
    procedure SetUSUARIOValue(const aValue: String);
    function GetFECHAFACTURAValue: DateTime;
    procedure SetFECHAFACTURAValue(const aValue: DateTime);
    function GetCLASEFACTURAValue: String;
    procedure SetCLASEFACTURAValue(const aValue: String);
    function GetREFERENCIAValue: String;
    procedure SetREFERENCIAValue(const aValue: String);
    function GetPAGADAValue: String;
    procedure SetPAGADAValue(const aValue: String);
    function GetBASEIMPONIBLEValue: Currency;
    procedure SetBASEIMPONIBLEValue(const aValue: Currency);
    function GetIVAValue: Float;
    procedure SetIVAValue(const aValue: Float);
    function GetIMPORTEIVAValue: Currency;
    procedure SetIMPORTEIVAValue(const aValue: Currency);
    function GetIMPORTETOTALValue: Currency;
    procedure SetIMPORTETOTALValue(const aValue: Currency);
    function GetDESCUENTOValue: Float;
    procedure SetDESCUENTOValue(const aValue: Float);
    function GetIMPORTEDESCUENTOValue: Float;
    procedure SetIMPORTEDESCUENTOValue(const aValue: Float);
    function GetOBSERVACIONESValue: IROStrings;
    procedure SetOBSERVACIONESValue(const aValue: IROStrings);
    function GetFORMAPAGOValue: IROStrings;
    procedure SetFORMAPAGOValue(const aValue: IROStrings);
    function GetCODIGOCONTACTOValue: Integer;
    procedure SetCODIGOCONTACTOValue(const aValue: Integer);
    function GetNIFCIFValue: String;
    procedure SetNIFCIFValue(const aValue: String);
    function GetNOMBREValue: String;
    procedure SetNOMBREValue(const aValue: String);
    function GetCALLEValue: String;
    procedure SetCALLEValue(const aValue: String);
    function GetPROVINCIAValue: String;
    procedure SetPROVINCIAValue(const aValue: String);
    function GetCODIGOPOSTALValue: String;
    procedure SetCODIGOPOSTALValue(const aValue: String);
    function GetPOBLACIONValue: String;
    procedure SetPOBLACIONValue(const aValue: String);
    function GetCODIGOOBRAValue: Integer;
    procedure SetCODIGOOBRAValue(const aValue: Integer);


    { Properties }
    property CODIGO: Integer read GetCODIGOValue write SetCODIGOValue;
    property FECHAALTA: DateTime read GetFECHAALTAValue write SetFECHAALTAValue;
    property FECHAVENCIMIENTO: DateTime read GetFECHAVENCIMIENTOValue write SetFECHAVENCIMIENTOValue;
    property USUARIO: String read GetUSUARIOValue write SetUSUARIOValue;
    property FECHAFACTURA: DateTime read GetFECHAFACTURAValue write SetFECHAFACTURAValue;
    property CLASEFACTURA: String read GetCLASEFACTURAValue write SetCLASEFACTURAValue;
    property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue;
    property PAGADA: String read GetPAGADAValue write SetPAGADAValue;
    property BASEIMPONIBLE: Currency read GetBASEIMPONIBLEValue write SetBASEIMPONIBLEValue;
    property IVA: Float read GetIVAValue write SetIVAValue;
    property IMPORTEIVA: Currency read GetIMPORTEIVAValue write SetIMPORTEIVAValue;
    property IMPORTETOTAL: Currency read GetIMPORTETOTALValue write SetIMPORTETOTALValue;
    property DESCUENTO: Float read GetDESCUENTOValue write SetDESCUENTOValue;
    property IMPORTEDESCUENTO: Float read GetIMPORTEDESCUENTOValue write SetIMPORTEDESCUENTOValue;
    property OBSERVACIONES: IROStrings read GetOBSERVACIONESValue write SetOBSERVACIONESValue;
    property FORMAPAGO: IROStrings read GetFORMAPAGOValue write SetFORMAPAGOValue;
    property CODIGOCONTACTO: Integer read GetCODIGOCONTACTOValue write SetCODIGOCONTACTOValue;
    property NIFCIF: String read GetNIFCIFValue write SetNIFCIFValue;
    property NOMBRE: String read GetNOMBREValue write SetNOMBREValue;
    property CALLE: String read GetCALLEValue write SetCALLEValue;
    property PROVINCIA: String read GetPROVINCIAValue write SetPROVINCIAValue;
    property CODIGOPOSTAL: String read GetCODIGOPOSTALValue write SetCODIGOPOSTALValue;
    property POBLACION: String read GetPOBLACIONValue write SetPOBLACIONValue;
    property CODIGOOBRA: Integer read GetCODIGOOBRAValue write SetCODIGOOBRAValue;
  end;

  { TFacturasClienteDataTableRules }
  TFacturasClienteDataTableRules = class(TDADataTableRules, IFacturasCliente)
  private
  protected
    { Property getters and setters }
    function GetCODIGOValue: Integer; virtual;
    procedure SetCODIGOValue(const aValue: Integer); virtual;
    function GetFECHAALTAValue: DateTime; virtual;
    procedure SetFECHAALTAValue(const aValue: DateTime); virtual;
    function GetFECHAVENCIMIENTOValue: DateTime; virtual;
    procedure SetFECHAVENCIMIENTOValue(const aValue: DateTime); virtual;
    function GetUSUARIOValue: String; virtual;
    procedure SetUSUARIOValue(const aValue: String); virtual;
    function GetFECHAFACTURAValue: DateTime; virtual;
    procedure SetFECHAFACTURAValue(const aValue: DateTime); virtual;
    function GetCLASEFACTURAValue: String; virtual;
    procedure SetCLASEFACTURAValue(const aValue: String); virtual;
    function GetREFERENCIAValue: String; virtual;
    procedure SetREFERENCIAValue(const aValue: String); virtual;
    function GetPAGADAValue: String; virtual;
    procedure SetPAGADAValue(const aValue: String); virtual;
    function GetBASEIMPONIBLEValue: Currency; virtual;
    procedure SetBASEIMPONIBLEValue(const aValue: Currency); virtual;
    function GetIVAValue: Float; virtual;
    procedure SetIVAValue(const aValue: Float); virtual;
    function GetIMPORTEIVAValue: Currency; virtual;
    procedure SetIMPORTEIVAValue(const aValue: Currency); virtual;
    function GetIMPORTETOTALValue: Currency; virtual;
    procedure SetIMPORTETOTALValue(const aValue: Currency); virtual;
    function GetDESCUENTOValue: Float; virtual;
    procedure SetDESCUENTOValue(const aValue: Float); virtual;
    function GetIMPORTEDESCUENTOValue: Float; virtual;
    procedure SetIMPORTEDESCUENTOValue(const aValue: Float); virtual;
    function GetOBSERVACIONESValue: IROStrings; virtual;
    procedure SetOBSERVACIONESValue(const aValue: IROStrings); virtual;
    function GetFORMAPAGOValue: IROStrings; virtual;
    procedure SetFORMAPAGOValue(const aValue: IROStrings); virtual;
    function GetCODIGOCONTACTOValue: Integer; virtual;
    procedure SetCODIGOCONTACTOValue(const aValue: Integer); virtual;
    function GetNIFCIFValue: String; virtual;
    procedure SetNIFCIFValue(const aValue: String); virtual;
    function GetNOMBREValue: String; virtual;
    procedure SetNOMBREValue(const aValue: String); virtual;
    function GetCALLEValue: String; virtual;
    procedure SetCALLEValue(const aValue: String); virtual;
    function GetPROVINCIAValue: String; virtual;
    procedure SetPROVINCIAValue(const aValue: String); virtual;
    function GetCODIGOPOSTALValue: String; virtual;
    procedure SetCODIGOPOSTALValue(const aValue: String); virtual;
    function GetPOBLACIONValue: String; virtual;
    procedure SetPOBLACIONValue(const aValue: String); virtual;
    function GetCODIGOOBRAValue: Integer; virtual;
    procedure SetCODIGOOBRAValue(const aValue: Integer); virtual;

    { Properties }
    property CODIGO: Integer read GetCODIGOValue write SetCODIGOValue;
    property FECHAALTA: DateTime read GetFECHAALTAValue write SetFECHAALTAValue;
    property FECHAVENCIMIENTO: DateTime read GetFECHAVENCIMIENTOValue write SetFECHAVENCIMIENTOValue;
    property USUARIO: String read GetUSUARIOValue write SetUSUARIOValue;
    property FECHAFACTURA: DateTime read GetFECHAFACTURAValue write SetFECHAFACTURAValue;
    property CLASEFACTURA: String read GetCLASEFACTURAValue write SetCLASEFACTURAValue;
    property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue;
    property PAGADA: String read GetPAGADAValue write SetPAGADAValue;
    property BASEIMPONIBLE: Currency read GetBASEIMPONIBLEValue write SetBASEIMPONIBLEValue;
    property IVA: Float read GetIVAValue write SetIVAValue;
    property IMPORTEIVA: Currency read GetIMPORTEIVAValue write SetIMPORTEIVAValue;
    property IMPORTETOTAL: Currency read GetIMPORTETOTALValue write SetIMPORTETOTALValue;
    property DESCUENTO: Float read GetDESCUENTOValue write SetDESCUENTOValue;
    property IMPORTEDESCUENTO: Float read GetIMPORTEDESCUENTOValue write SetIMPORTEDESCUENTOValue;
    property OBSERVACIONES: IROStrings read GetOBSERVACIONESValue write SetOBSERVACIONESValue;
    property FORMAPAGO: IROStrings read GetFORMAPAGOValue write SetFORMAPAGOValue;
    property CODIGOCONTACTO: Integer read GetCODIGOCONTACTOValue write SetCODIGOCONTACTOValue;
    property NIFCIF: String read GetNIFCIFValue write SetNIFCIFValue;
    property NOMBRE: String read GetNOMBREValue write SetNOMBREValue;
    property CALLE: String read GetCALLEValue write SetCALLEValue;
    property PROVINCIA: String read GetPROVINCIAValue write SetPROVINCIAValue;
    property CODIGOPOSTAL: String read GetCODIGOPOSTALValue write SetCODIGOPOSTALValue;
    property POBLACION: String read GetPOBLACIONValue write SetPOBLACIONValue;
    property CODIGOOBRA: Integer read GetCODIGOOBRAValue write SetCODIGOOBRAValue;

  public
    constructor Create(aDataTable: TDADataTable); override;
    destructor Destroy; override;

  end;

  { IDetallesFacturasCliente }
  IDetallesFacturasCliente = interface(IDAStronglyTypedDataTable)
  ['{C39F501B-AEC6-4DEE-96F4-3155086386BE}']
    { Property getters and setters }
    function GetCODIGOFACTURAValue: Integer;
    procedure SetCODIGOFACTURAValue(const aValue: Integer);
    function GetNUMCONCEPTOValue: Integer;
    procedure SetNUMCONCEPTOValue(const aValue: Integer);
    function GetPOSICIONValue: Integer;
    procedure SetPOSICIONValue(const aValue: Integer);
    function GetTIPOValue: String;
    procedure SetTIPOValue(const aValue: String);
    function GetDESCRIPCIONValue: String;
    procedure SetDESCRIPCIONValue(const aValue: String);
    function GetCANTIDADValue: Integer;
    procedure SetCANTIDADValue(const aValue: Integer);
    function GetIMPORTEUNIDADValue: Currency;
    procedure SetIMPORTEUNIDADValue(const aValue: Currency);
    function GetIMPORTETOTALValue: Currency;
    procedure SetIMPORTETOTALValue(const aValue: Currency);


    { Properties }
    property CODIGOFACTURA: Integer read GetCODIGOFACTURAValue write SetCODIGOFACTURAValue;
    property NUMCONCEPTO: Integer read GetNUMCONCEPTOValue write SetNUMCONCEPTOValue;
    property POSICION: Integer read GetPOSICIONValue write SetPOSICIONValue;
    property TIPO: String read GetTIPOValue write SetTIPOValue;
    property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue;
    property CANTIDAD: Integer read GetCANTIDADValue write SetCANTIDADValue;
    property IMPORTEUNIDAD: Currency read GetIMPORTEUNIDADValue write SetIMPORTEUNIDADValue;
    property IMPORTETOTAL: Currency read GetIMPORTETOTALValue write SetIMPORTETOTALValue;
  end;

  { TDetallesFacturasClienteDataTableRules }
  TDetallesFacturasClienteDataTableRules = class(TDADataTableRules, IDetallesFacturasCliente)
  private
  protected
    { Property getters and setters }
    function GetCODIGOFACTURAValue: Integer; virtual;
    procedure SetCODIGOFACTURAValue(const aValue: Integer); virtual;
    function GetNUMCONCEPTOValue: Integer; virtual;
    procedure SetNUMCONCEPTOValue(const aValue: Integer); virtual;
    function GetPOSICIONValue: Integer; virtual;
    procedure SetPOSICIONValue(const aValue: Integer); virtual;
    function GetTIPOValue: String; virtual;
    procedure SetTIPOValue(const aValue: String); virtual;
    function GetDESCRIPCIONValue: String; virtual;
    procedure SetDESCRIPCIONValue(const aValue: String); virtual;
    function GetCANTIDADValue: Integer; virtual;
    procedure SetCANTIDADValue(const aValue: Integer); virtual;
    function GetIMPORTEUNIDADValue: Currency; virtual;
    procedure SetIMPORTEUNIDADValue(const aValue: Currency); virtual;
    function GetIMPORTETOTALValue: Currency; virtual;
    procedure SetIMPORTETOTALValue(const aValue: Currency); virtual;

    { Properties }
    property CODIGOFACTURA: Integer read GetCODIGOFACTURAValue write SetCODIGOFACTURAValue;
    property NUMCONCEPTO: Integer read GetNUMCONCEPTOValue write SetNUMCONCEPTOValue;
    property POSICION: Integer read GetPOSICIONValue write SetPOSICIONValue;
    property TIPO: String read GetTIPOValue write SetTIPOValue;
    property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue;
    property CANTIDAD: Integer read GetCANTIDADValue write SetCANTIDADValue;
    property IMPORTEUNIDAD: Currency read GetIMPORTEUNIDADValue write SetIMPORTEUNIDADValue;
    property IMPORTETOTAL: Currency read GetIMPORTETOTALValue write SetIMPORTETOTALValue;

  public
    constructor Create(aDataTable: TDADataTable); override;
    destructor Destroy; override;

  end;

  { IInformeCabeceraFacturaCliente }
  IInformeCabeceraFacturaCliente = interface(IDAStronglyTypedDataTable)
  ['{EC60D561-F9C5-4D9B-B808-820B37431F2B}']
    { Property getters and setters }
    function GetCODIGOValue: Integer;
    procedure SetCODIGOValue(const aValue: Integer);
    function GetFECHAALTAValue: DateTime;
    procedure SetFECHAALTAValue(const aValue: DateTime);
    function GetFECHAVENCIMIENTOValue: DateTime;
    procedure SetFECHAVENCIMIENTOValue(const aValue: DateTime);
    function GetUSUARIOValue: String;
    procedure SetUSUARIOValue(const aValue: String);
    function GetCLASEFACTURAValue: String;
    procedure SetCLASEFACTURAValue(const aValue: String);
    function GetFECHAFACTURAValue: DateTime;
    procedure SetFECHAFACTURAValue(const aValue: DateTime);
    function GetREFERENCIAValue: String;
    procedure SetREFERENCIAValue(const aValue: String);
    function GetPAGADAValue: String;
    procedure SetPAGADAValue(const aValue: String);
    function GetCODIGOCONTACTOValue: Integer;
    procedure SetCODIGOCONTACTOValue(const aValue: Integer);
    function GetBASEIMPONIBLEValue: Currency;
    procedure SetBASEIMPONIBLEValue(const aValue: Currency);
    function GetIVAValue: Float;
    procedure SetIVAValue(const aValue: Float);
    function GetIMPORTEIVAValue: Currency;
    procedure SetIMPORTEIVAValue(const aValue: Currency);
    function GetIMPORTETOTALValue: Currency;
    procedure SetIMPORTETOTALValue(const aValue: Currency);
    function GetOBSERVACIONESValue: IROStrings;
    procedure SetOBSERVACIONESValue(const aValue: IROStrings);
    function GetFORMAPAGOValue: IROStrings;
    procedure SetFORMAPAGOValue(const aValue: IROStrings);
    function GetNIFCIFValue: String;
    procedure SetNIFCIFValue(const aValue: String);
    function GetNOMBREValue: String;
    procedure SetNOMBREValue(const aValue: String);
    function GetCALLEValue: String;
    procedure SetCALLEValue(const aValue: String);
    function GetPROVINCIAValue: String;
    procedure SetPROVINCIAValue(const aValue: String);
    function GetCODIGOPOSTALValue: String;
    procedure SetCODIGOPOSTALValue(const aValue: String);
    function GetPOBLACIONValue: String;
    procedure SetPOBLACIONValue(const aValue: String);
    function GetCODIGOOBRAValue: Integer;
    procedure SetCODIGOOBRAValue(const aValue: Integer);


    { Properties }
    property CODIGO: Integer read GetCODIGOValue write SetCODIGOValue;
    property FECHAALTA: DateTime read GetFECHAALTAValue write SetFECHAALTAValue;
    property FECHAVENCIMIENTO: DateTime read GetFECHAVENCIMIENTOValue write SetFECHAVENCIMIENTOValue;
    property USUARIO: String read GetUSUARIOValue write SetUSUARIOValue;
    property CLASEFACTURA: String read GetCLASEFACTURAValue write SetCLASEFACTURAValue;
    property FECHAFACTURA: DateTime read GetFECHAFACTURAValue write SetFECHAFACTURAValue;
    property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue;
    property PAGADA: String read GetPAGADAValue write SetPAGADAValue;
    property CODIGOCONTACTO: Integer read GetCODIGOCONTACTOValue write SetCODIGOCONTACTOValue;
    property BASEIMPONIBLE: Currency read GetBASEIMPONIBLEValue write SetBASEIMPONIBLEValue;
    property IVA: Float read GetIVAValue write SetIVAValue;
    property IMPORTEIVA: Currency read GetIMPORTEIVAValue write SetIMPORTEIVAValue;
    property IMPORTETOTAL: Currency read GetIMPORTETOTALValue write SetIMPORTETOTALValue;
    property OBSERVACIONES: IROStrings read GetOBSERVACIONESValue write SetOBSERVACIONESValue;
    property FORMAPAGO: IROStrings read GetFORMAPAGOValue write SetFORMAPAGOValue;
    property NIFCIF: String read GetNIFCIFValue write SetNIFCIFValue;
    property NOMBRE: String read GetNOMBREValue write SetNOMBREValue;
    property CALLE: String read GetCALLEValue write SetCALLEValue;
    property PROVINCIA: String read GetPROVINCIAValue write SetPROVINCIAValue;
    property CODIGOPOSTAL: String read GetCODIGOPOSTALValue write SetCODIGOPOSTALValue;
    property POBLACION: String read GetPOBLACIONValue write SetPOBLACIONValue;
    property CODIGOOBRA: Integer read GetCODIGOOBRAValue write SetCODIGOOBRAValue;
  end;

  { TInformeCabeceraFacturaClienteDataTableRules }
  TInformeCabeceraFacturaClienteDataTableRules = class(TDADataTableRules, IInformeCabeceraFacturaCliente)
  private
  protected
    { Property getters and setters }
    function GetCODIGOValue: Integer; virtual;
    procedure SetCODIGOValue(const aValue: Integer); virtual;
    function GetFECHAALTAValue: DateTime; virtual;
    procedure SetFECHAALTAValue(const aValue: DateTime); virtual;
    function GetFECHAVENCIMIENTOValue: DateTime; virtual;
    procedure SetFECHAVENCIMIENTOValue(const aValue: DateTime); virtual;
    function GetUSUARIOValue: String; virtual;
    procedure SetUSUARIOValue(const aValue: String); virtual;
    function GetCLASEFACTURAValue: String; virtual;
    procedure SetCLASEFACTURAValue(const aValue: String); virtual;
    function GetFECHAFACTURAValue: DateTime; virtual;
    procedure SetFECHAFACTURAValue(const aValue: DateTime); virtual;
    function GetREFERENCIAValue: String; virtual;
    procedure SetREFERENCIAValue(const aValue: String); virtual;
    function GetPAGADAValue: String; virtual;
    procedure SetPAGADAValue(const aValue: String); virtual;
    function GetCODIGOCONTACTOValue: Integer; virtual;
    procedure SetCODIGOCONTACTOValue(const aValue: Integer); virtual;
    function GetBASEIMPONIBLEValue: Currency; virtual;
    procedure SetBASEIMPONIBLEValue(const aValue: Currency); virtual;
    function GetIVAValue: Float; virtual;
    procedure SetIVAValue(const aValue: Float); virtual;
    function GetIMPORTEIVAValue: Currency; virtual;
    procedure SetIMPORTEIVAValue(const aValue: Currency); virtual;
    function GetIMPORTETOTALValue: Currency; virtual;
    procedure SetIMPORTETOTALValue(const aValue: Currency); virtual;
    function GetOBSERVACIONESValue: IROStrings; virtual;
    procedure SetOBSERVACIONESValue(const aValue: IROStrings); virtual;
    function GetFORMAPAGOValue: IROStrings; virtual;
    procedure SetFORMAPAGOValue(const aValue: IROStrings); virtual;
    function GetNIFCIFValue: String; virtual;
    procedure SetNIFCIFValue(const aValue: String); virtual;
    function GetNOMBREValue: String; virtual;
    procedure SetNOMBREValue(const aValue: String); virtual;
    function GetCALLEValue: String; virtual;
    procedure SetCALLEValue(const aValue: String); virtual;
    function GetPROVINCIAValue: String; virtual;
    procedure SetPROVINCIAValue(const aValue: String); virtual;
    function GetCODIGOPOSTALValue: String; virtual;
    procedure SetCODIGOPOSTALValue(const aValue: String); virtual;
    function GetPOBLACIONValue: String; virtual;
    procedure SetPOBLACIONValue(const aValue: String); virtual;
    function GetCODIGOOBRAValue: Integer; virtual;
    procedure SetCODIGOOBRAValue(const aValue: Integer); virtual;

    { Properties }
    property CODIGO: Integer read GetCODIGOValue write SetCODIGOValue;
    property FECHAALTA: DateTime read GetFECHAALTAValue write SetFECHAALTAValue;
    property FECHAVENCIMIENTO: DateTime read GetFECHAVENCIMIENTOValue write SetFECHAVENCIMIENTOValue;
    property USUARIO: String read GetUSUARIOValue write SetUSUARIOValue;
    property CLASEFACTURA: String read GetCLASEFACTURAValue write SetCLASEFACTURAValue;
    property FECHAFACTURA: DateTime read GetFECHAFACTURAValue write SetFECHAFACTURAValue;
    property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue;
    property PAGADA: String read GetPAGADAValue write SetPAGADAValue;
    property CODIGOCONTACTO: Integer read GetCODIGOCONTACTOValue write SetCODIGOCONTACTOValue;
    property BASEIMPONIBLE: Currency read GetBASEIMPONIBLEValue write SetBASEIMPONIBLEValue;
    property IVA: Float read GetIVAValue write SetIVAValue;
    property IMPORTEIVA: Currency read GetIMPORTEIVAValue write SetIMPORTEIVAValue;
    property IMPORTETOTAL: Currency read GetIMPORTETOTALValue write SetIMPORTETOTALValue;
    property OBSERVACIONES: IROStrings read GetOBSERVACIONESValue write SetOBSERVACIONESValue;
    property FORMAPAGO: IROStrings read GetFORMAPAGOValue write SetFORMAPAGOValue;
    property NIFCIF: String read GetNIFCIFValue write SetNIFCIFValue;
    property NOMBRE: String read GetNOMBREValue write SetNOMBREValue;
    property CALLE: String read GetCALLEValue write SetCALLEValue;
    property PROVINCIA: String read GetPROVINCIAValue write SetPROVINCIAValue;
    property CODIGOPOSTAL: String read GetCODIGOPOSTALValue write SetCODIGOPOSTALValue;
    property POBLACION: String read GetPOBLACIONValue write SetPOBLACIONValue;
    property CODIGOOBRA: Integer read GetCODIGOOBRAValue write SetCODIGOOBRAValue;

  public
    constructor Create(aDataTable: TDADataTable); override;
    destructor Destroy; override;

  end;

  { IInformeDetallesFacturaCliente }
  IInformeDetallesFacturaCliente = interface(IDAStronglyTypedDataTable)
  ['{4845011B-884B-44B3-84A9-260CD3F44D83}']
    { Property getters and setters }
    function GetCODIGOFACTURAValue: Integer;
    procedure SetCODIGOFACTURAValue(const aValue: Integer);
    function GetNUMCONCEPTOValue: Integer;
    procedure SetNUMCONCEPTOValue(const aValue: Integer);
    function GetDESCRIPCIONValue: String;
    procedure SetDESCRIPCIONValue(const aValue: String);
    function GetCANTIDADValue: Float;
    procedure SetCANTIDADValue(const aValue: Float);
    function GetIMPORTEUNIDADValue: Currency;
    procedure SetIMPORTEUNIDADValue(const aValue: Currency);
    function GetIMPORTETOTALValue: Currency;
    procedure SetIMPORTETOTALValue(const aValue: Currency);
    function GetTIPOValue: String;
    procedure SetTIPOValue(const aValue: String);
    function GetPOSICIONValue: Integer;
    procedure SetPOSICIONValue(const aValue: Integer);


    { Properties }
    property CODIGOFACTURA: Integer read GetCODIGOFACTURAValue write SetCODIGOFACTURAValue;
    property NUMCONCEPTO: Integer read GetNUMCONCEPTOValue write SetNUMCONCEPTOValue;
    property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue;
    property CANTIDAD: Float read GetCANTIDADValue write SetCANTIDADValue;
    property IMPORTEUNIDAD: Currency read GetIMPORTEUNIDADValue write SetIMPORTEUNIDADValue;
    property IMPORTETOTAL: Currency read GetIMPORTETOTALValue write SetIMPORTETOTALValue;
    property TIPO: String read GetTIPOValue write SetTIPOValue;
    property POSICION: Integer read GetPOSICIONValue write SetPOSICIONValue;
  end;

  { TInformeDetallesFacturaClienteDataTableRules }
  TInformeDetallesFacturaClienteDataTableRules = class(TDADataTableRules, IInformeDetallesFacturaCliente)
  private
  protected
    { Property getters and setters }
    function GetCODIGOFACTURAValue: Integer; virtual;
    procedure SetCODIGOFACTURAValue(const aValue: Integer); virtual;
    function GetNUMCONCEPTOValue: Integer; virtual;
    procedure SetNUMCONCEPTOValue(const aValue: Integer); virtual;
    function GetDESCRIPCIONValue: String; virtual;
    procedure SetDESCRIPCIONValue(const aValue: String); virtual;
    function GetCANTIDADValue: Float; virtual;
    procedure SetCANTIDADValue(const aValue: Float); virtual;
    function GetIMPORTEUNIDADValue: Currency; virtual;
    procedure SetIMPORTEUNIDADValue(const aValue: Currency); virtual;
    function GetIMPORTETOTALValue: Currency; virtual;
    procedure SetIMPORTETOTALValue(const aValue: Currency); virtual;
    function GetTIPOValue: String; virtual;
    procedure SetTIPOValue(const aValue: String); virtual;
    function GetPOSICIONValue: Integer; virtual;
    procedure SetPOSICIONValue(const aValue: Integer); virtual;

    { Properties }
    property CODIGOFACTURA: Integer read GetCODIGOFACTURAValue write SetCODIGOFACTURAValue;
    property NUMCONCEPTO: Integer read GetNUMCONCEPTOValue write SetNUMCONCEPTOValue;
    property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue;
    property CANTIDAD: Float read GetCANTIDADValue write SetCANTIDADValue;
    property IMPORTEUNIDAD: Currency read GetIMPORTEUNIDADValue write SetIMPORTEUNIDADValue;
    property IMPORTETOTAL: Currency read GetIMPORTETOTALValue write SetIMPORTETOTALValue;
    property TIPO: String read GetTIPOValue write SetTIPOValue;
    property POSICION: Integer read GetPOSICIONValue write SetPOSICIONValue;

  public
    constructor Create(aDataTable: TDADataTable); override;
    destructor Destroy; override;

  end;

  { IDarReferenciaFacturaProforma }
  IDarReferenciaFacturaProforma = interface(IDAStronglyTypedDataTable)
  ['{A0321578-01D5-4AED-9CC5-8B86499A0E0E}']
    { Property getters and setters }
    function GetREFERENCIAValue: String;
    procedure SetREFERENCIAValue(const aValue: String);


    { Properties }
    property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue;
  end;

  { TDarReferenciaFacturaProformaDataTableRules }
  TDarReferenciaFacturaProformaDataTableRules = class(TDADataTableRules, IDarReferenciaFacturaProforma)
  private
  protected
    { Property getters and setters }
    function GetREFERENCIAValue: String; virtual;
    procedure SetREFERENCIAValue(const aValue: String); virtual;

    { Properties }
    property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue;

  public
    constructor Create(aDataTable: TDADataTable); override;
    destructor Destroy; override;

  end;

implementation

uses Variants;

{ TDarReferenciaFacturaDataTableRules }
constructor TDarReferenciaFacturaDataTableRules.Create(aDataTable: TDADataTable);
begin
  inherited;
end;

destructor TDarReferenciaFacturaDataTableRules.Destroy;
begin
  inherited;
end;

function TDarReferenciaFacturaDataTableRules.GetREFERENCIAValue: String;
begin
  result := DataTable.Fields[idx_DarReferenciaFacturaREFERENCIA].AsString;
end;

procedure TDarReferenciaFacturaDataTableRules.SetREFERENCIAValue(const aValue: String);
begin
  DataTable.Fields[idx_DarReferenciaFacturaREFERENCIA].AsString := aValue;
end;


{ TFacturasClienteDataTableRules }
constructor TFacturasClienteDataTableRules.Create(aDataTable: TDADataTable);
begin
  inherited;
end;

destructor TFacturasClienteDataTableRules.Destroy;
begin
  inherited;
end;

function TFacturasClienteDataTableRules.GetCODIGOValue: Integer;
begin
  result := DataTable.Fields[idx_FacturasClienteCODIGO].AsInteger;
end;

procedure TFacturasClienteDataTableRules.SetCODIGOValue(const aValue: Integer);
begin
  DataTable.Fields[idx_FacturasClienteCODIGO].AsInteger := aValue;
end;

function TFacturasClienteDataTableRules.GetFECHAALTAValue: DateTime;
begin
  result := DataTable.Fields[idx_FacturasClienteFECHAALTA].AsDateTime;
end;

procedure TFacturasClienteDataTableRules.SetFECHAALTAValue(const aValue: DateTime);
begin
  DataTable.Fields[idx_FacturasClienteFECHAALTA].AsDateTime := aValue;
end;

function TFacturasClienteDataTableRules.GetFECHAVENCIMIENTOValue: DateTime;
begin
  result := DataTable.Fields[idx_FacturasClienteFECHAVENCIMIENTO].AsDateTime;
end;

procedure TFacturasClienteDataTableRules.SetFECHAVENCIMIENTOValue(const aValue: DateTime);
begin
  DataTable.Fields[idx_FacturasClienteFECHAVENCIMIENTO].AsDateTime := aValue;
end;

function TFacturasClienteDataTableRules.GetUSUARIOValue: String;
begin
  result := DataTable.Fields[idx_FacturasClienteUSUARIO].AsString;
end;

procedure TFacturasClienteDataTableRules.SetUSUARIOValue(const aValue: String);
begin
  DataTable.Fields[idx_FacturasClienteUSUARIO].AsString := aValue;
end;

function TFacturasClienteDataTableRules.GetFECHAFACTURAValue: DateTime;
begin
  result := DataTable.Fields[idx_FacturasClienteFECHAFACTURA].AsDateTime;
end;

procedure TFacturasClienteDataTableRules.SetFECHAFACTURAValue(const aValue: DateTime);
begin
  DataTable.Fields[idx_FacturasClienteFECHAFACTURA].AsDateTime := aValue;
end;

function TFacturasClienteDataTableRules.GetCLASEFACTURAValue: String;
begin
  result := DataTable.Fields[idx_FacturasClienteCLASEFACTURA].AsString;
end;

procedure TFacturasClienteDataTableRules.SetCLASEFACTURAValue(const aValue: String);
begin
  DataTable.Fields[idx_FacturasClienteCLASEFACTURA].AsString := aValue;
end;

function TFacturasClienteDataTableRules.GetREFERENCIAValue: String;
begin
  result := DataTable.Fields[idx_FacturasClienteREFERENCIA].AsString;
end;

procedure TFacturasClienteDataTableRules.SetREFERENCIAValue(const aValue: String);
begin
  DataTable.Fields[idx_FacturasClienteREFERENCIA].AsString := aValue;
end;

function TFacturasClienteDataTableRules.GetPAGADAValue: String;
begin
  result := DataTable.Fields[idx_FacturasClientePAGADA].AsString;
end;

procedure TFacturasClienteDataTableRules.SetPAGADAValue(const aValue: String);
begin
  DataTable.Fields[idx_FacturasClientePAGADA].AsString := aValue;
end;

function TFacturasClienteDataTableRules.GetBASEIMPONIBLEValue: Currency;
begin
  result := DataTable.Fields[idx_FacturasClienteBASEIMPONIBLE].AsCurrency;
end;

procedure TFacturasClienteDataTableRules.SetBASEIMPONIBLEValue(const aValue: Currency);
begin
  DataTable.Fields[idx_FacturasClienteBASEIMPONIBLE].AsCurrency := aValue;
end;

function TFacturasClienteDataTableRules.GetIVAValue: Float;
begin
  result := DataTable.Fields[idx_FacturasClienteIVA].AsFloat;
end;

procedure TFacturasClienteDataTableRules.SetIVAValue(const aValue: Float);
begin
  DataTable.Fields[idx_FacturasClienteIVA].AsFloat := aValue;
end;

function TFacturasClienteDataTableRules.GetIMPORTEIVAValue: Currency;
begin
  result := DataTable.Fields[idx_FacturasClienteIMPORTEIVA].AsCurrency;
end;

procedure TFacturasClienteDataTableRules.SetIMPORTEIVAValue(const aValue: Currency);
begin
  DataTable.Fields[idx_FacturasClienteIMPORTEIVA].AsCurrency := aValue;
end;

function TFacturasClienteDataTableRules.GetIMPORTETOTALValue: Currency;
begin
  result := DataTable.Fields[idx_FacturasClienteIMPORTETOTAL].AsCurrency;
end;

procedure TFacturasClienteDataTableRules.SetIMPORTETOTALValue(const aValue: Currency);
begin
  DataTable.Fields[idx_FacturasClienteIMPORTETOTAL].AsCurrency := aValue;
end;

function TFacturasClienteDataTableRules.GetDESCUENTOValue: Float;
begin
  result := DataTable.Fields[idx_FacturasClienteDESCUENTO].AsFloat;
end;

procedure TFacturasClienteDataTableRules.SetDESCUENTOValue(const aValue: Float);
begin
  DataTable.Fields[idx_FacturasClienteDESCUENTO].AsFloat := aValue;
end;

function TFacturasClienteDataTableRules.GetIMPORTEDESCUENTOValue: Float;
begin
  result := DataTable.Fields[idx_FacturasClienteIMPORTEDESCUENTO].AsFloat;
end;

procedure TFacturasClienteDataTableRules.SetIMPORTEDESCUENTOValue(const aValue: Float);
begin
  DataTable.Fields[idx_FacturasClienteIMPORTEDESCUENTO].AsFloat := aValue;
end;

function TFacturasClienteDataTableRules.GetOBSERVACIONESValue: IROStrings;
begin
  result := NewROStrings();
  result.Text := DataTable.Fields[idx_FacturasClienteOBSERVACIONES].AsString;
end;

procedure TFacturasClienteDataTableRules.SetOBSERVACIONESValue(const aValue: IROStrings);
begin
  DataTable.Fields[idx_FacturasClienteOBSERVACIONES].AsString := aValue.Text;
end;

function TFacturasClienteDataTableRules.GetFORMAPAGOValue: IROStrings;
begin
  result := NewROStrings();
  result.Text := DataTable.Fields[idx_FacturasClienteFORMAPAGO].AsString;
end;

procedure TFacturasClienteDataTableRules.SetFORMAPAGOValue(const aValue: IROStrings);
begin
  DataTable.Fields[idx_FacturasClienteFORMAPAGO].AsString := aValue.Text;
end;

function TFacturasClienteDataTableRules.GetCODIGOCONTACTOValue: Integer;
begin
  result := DataTable.Fields[idx_FacturasClienteCODIGOCONTACTO].AsInteger;
end;

procedure TFacturasClienteDataTableRules.SetCODIGOCONTACTOValue(const aValue: Integer);
begin
  DataTable.Fields[idx_FacturasClienteCODIGOCONTACTO].AsInteger := aValue;
end;

function TFacturasClienteDataTableRules.GetNIFCIFValue: String;
begin
  result := DataTable.Fields[idx_FacturasClienteNIFCIF].AsString;
end;

procedure TFacturasClienteDataTableRules.SetNIFCIFValue(const aValue: String);
begin
  DataTable.Fields[idx_FacturasClienteNIFCIF].AsString := aValue;
end;

function TFacturasClienteDataTableRules.GetNOMBREValue: String;
begin
  result := DataTable.Fields[idx_FacturasClienteNOMBRE].AsString;
end;

procedure TFacturasClienteDataTableRules.SetNOMBREValue(const aValue: String);
begin
  DataTable.Fields[idx_FacturasClienteNOMBRE].AsString := aValue;
end;

function TFacturasClienteDataTableRules.GetCALLEValue: String;
begin
  result := DataTable.Fields[idx_FacturasClienteCALLE].AsString;
end;

procedure TFacturasClienteDataTableRules.SetCALLEValue(const aValue: String);
begin
  DataTable.Fields[idx_FacturasClienteCALLE].AsString := aValue;
end;

function TFacturasClienteDataTableRules.GetPROVINCIAValue: String;
begin
  result := DataTable.Fields[idx_FacturasClientePROVINCIA].AsString;
end;

procedure TFacturasClienteDataTableRules.SetPROVINCIAValue(const aValue: String);
begin
  DataTable.Fields[idx_FacturasClientePROVINCIA].AsString := aValue;
end;

function TFacturasClienteDataTableRules.GetCODIGOPOSTALValue: String;
begin
  result := DataTable.Fields[idx_FacturasClienteCODIGOPOSTAL].AsString;
end;

procedure TFacturasClienteDataTableRules.SetCODIGOPOSTALValue(const aValue: String);
begin
  DataTable.Fields[idx_FacturasClienteCODIGOPOSTAL].AsString := aValue;
end;

function TFacturasClienteDataTableRules.GetPOBLACIONValue: String;
begin
  result := DataTable.Fields[idx_FacturasClientePOBLACION].AsString;
end;

procedure TFacturasClienteDataTableRules.SetPOBLACIONValue(const aValue: String);
begin
  DataTable.Fields[idx_FacturasClientePOBLACION].AsString := aValue;
end;

function TFacturasClienteDataTableRules.GetCODIGOOBRAValue: Integer;
begin
  result := DataTable.Fields[idx_FacturasClienteCODIGOOBRA].AsInteger;
end;

procedure TFacturasClienteDataTableRules.SetCODIGOOBRAValue(const aValue: Integer);
begin
  DataTable.Fields[idx_FacturasClienteCODIGOOBRA].AsInteger := aValue;
end;


{ TDetallesFacturasClienteDataTableRules }
constructor TDetallesFacturasClienteDataTableRules.Create(aDataTable: TDADataTable);
begin
  inherited;
end;

destructor TDetallesFacturasClienteDataTableRules.Destroy;
begin
  inherited;
end;

function TDetallesFacturasClienteDataTableRules.GetCODIGOFACTURAValue: Integer;
begin
  result := DataTable.Fields[idx_DetallesFacturasClienteCODIGOFACTURA].AsInteger;
end;

procedure TDetallesFacturasClienteDataTableRules.SetCODIGOFACTURAValue(const aValue: Integer);
begin
  DataTable.Fields[idx_DetallesFacturasClienteCODIGOFACTURA].AsInteger := aValue;
end;

function TDetallesFacturasClienteDataTableRules.GetNUMCONCEPTOValue: Integer;
begin
  result := DataTable.Fields[idx_DetallesFacturasClienteNUMCONCEPTO].AsInteger;
end;

procedure TDetallesFacturasClienteDataTableRules.SetNUMCONCEPTOValue(const aValue: Integer);
begin
  DataTable.Fields[idx_DetallesFacturasClienteNUMCONCEPTO].AsInteger := aValue;
end;

function TDetallesFacturasClienteDataTableRules.GetPOSICIONValue: Integer;
begin
  result := DataTable.Fields[idx_DetallesFacturasClientePOSICION].AsInteger;
end;

procedure TDetallesFacturasClienteDataTableRules.SetPOSICIONValue(const aValue: Integer);
begin
  DataTable.Fields[idx_DetallesFacturasClientePOSICION].AsInteger := aValue;
end;

function TDetallesFacturasClienteDataTableRules.GetTIPOValue: String;
begin
  result := DataTable.Fields[idx_DetallesFacturasClienteTIPO].AsString;
end;

procedure TDetallesFacturasClienteDataTableRules.SetTIPOValue(const aValue: String);
begin
  DataTable.Fields[idx_DetallesFacturasClienteTIPO].AsString := aValue;
end;

function TDetallesFacturasClienteDataTableRules.GetDESCRIPCIONValue: String;
begin
  result := DataTable.Fields[idx_DetallesFacturasClienteDESCRIPCION].AsString;
end;

procedure TDetallesFacturasClienteDataTableRules.SetDESCRIPCIONValue(const aValue: String);
begin
  DataTable.Fields[idx_DetallesFacturasClienteDESCRIPCION].AsString := aValue;
end;

function TDetallesFacturasClienteDataTableRules.GetCANTIDADValue: Integer;
begin
  result := DataTable.Fields[idx_DetallesFacturasClienteCANTIDAD].AsInteger;
end;

procedure TDetallesFacturasClienteDataTableRules.SetCANTIDADValue(const aValue: Integer);
begin
  DataTable.Fields[idx_DetallesFacturasClienteCANTIDAD].AsInteger := aValue;
end;

function TDetallesFacturasClienteDataTableRules.GetIMPORTEUNIDADValue: Currency;
begin
  result := DataTable.Fields[idx_DetallesFacturasClienteIMPORTEUNIDAD].AsCurrency;
end;

procedure TDetallesFacturasClienteDataTableRules.SetIMPORTEUNIDADValue(const aValue: Currency);
begin
  DataTable.Fields[idx_DetallesFacturasClienteIMPORTEUNIDAD].AsCurrency := aValue;
end;

function TDetallesFacturasClienteDataTableRules.GetIMPORTETOTALValue: Currency;
begin
  result := DataTable.Fields[idx_DetallesFacturasClienteIMPORTETOTAL].AsCurrency;
end;

procedure TDetallesFacturasClienteDataTableRules.SetIMPORTETOTALValue(const aValue: Currency);
begin
  DataTable.Fields[idx_DetallesFacturasClienteIMPORTETOTAL].AsCurrency := aValue;
end;


{ TInformeCabeceraFacturaClienteDataTableRules }
constructor TInformeCabeceraFacturaClienteDataTableRules.Create(aDataTable: TDADataTable);
begin
  inherited;
end;

destructor TInformeCabeceraFacturaClienteDataTableRules.Destroy;
begin
  inherited;
end;

function TInformeCabeceraFacturaClienteDataTableRules.GetCODIGOValue: Integer;
begin
  result := DataTable.Fields[idx_InformeCabeceraFacturaClienteCODIGO].AsInteger;
end;

procedure TInformeCabeceraFacturaClienteDataTableRules.SetCODIGOValue(const aValue: Integer);
begin
  DataTable.Fields[idx_InformeCabeceraFacturaClienteCODIGO].AsInteger := aValue;
end;

function TInformeCabeceraFacturaClienteDataTableRules.GetFECHAALTAValue: DateTime;
begin
  result := DataTable.Fields[idx_InformeCabeceraFacturaClienteFECHAALTA].AsDateTime;
end;

procedure TInformeCabeceraFacturaClienteDataTableRules.SetFECHAALTAValue(const aValue: DateTime);
begin
  DataTable.Fields[idx_InformeCabeceraFacturaClienteFECHAALTA].AsDateTime := aValue;
end;

function TInformeCabeceraFacturaClienteDataTableRules.GetFECHAVENCIMIENTOValue: DateTime;
begin
  result := DataTable.Fields[idx_InformeCabeceraFacturaClienteFECHAVENCIMIENTO].AsDateTime;
end;

procedure TInformeCabeceraFacturaClienteDataTableRules.SetFECHAVENCIMIENTOValue(const aValue: DateTime);
begin
  DataTable.Fields[idx_InformeCabeceraFacturaClienteFECHAVENCIMIENTO].AsDateTime := aValue;
end;

function TInformeCabeceraFacturaClienteDataTableRules.GetUSUARIOValue: String;
begin
  result := DataTable.Fields[idx_InformeCabeceraFacturaClienteUSUARIO].AsString;
end;

procedure TInformeCabeceraFacturaClienteDataTableRules.SetUSUARIOValue(const aValue: String);
begin
  DataTable.Fields[idx_InformeCabeceraFacturaClienteUSUARIO].AsString := aValue;
end;

function TInformeCabeceraFacturaClienteDataTableRules.GetCLASEFACTURAValue: String;
begin
  result := DataTable.Fields[idx_InformeCabeceraFacturaClienteCLASEFACTURA].AsString;
end;

procedure TInformeCabeceraFacturaClienteDataTableRules.SetCLASEFACTURAValue(const aValue: String);
begin
  DataTable.Fields[idx_InformeCabeceraFacturaClienteCLASEFACTURA].AsString := aValue;
end;

function TInformeCabeceraFacturaClienteDataTableRules.GetFECHAFACTURAValue: DateTime;
begin
  result := DataTable.Fields[idx_InformeCabeceraFacturaClienteFECHAFACTURA].AsDateTime;
end;

procedure TInformeCabeceraFacturaClienteDataTableRules.SetFECHAFACTURAValue(const aValue: DateTime);
begin
  DataTable.Fields[idx_InformeCabeceraFacturaClienteFECHAFACTURA].AsDateTime := aValue;
end;

function TInformeCabeceraFacturaClienteDataTableRules.GetREFERENCIAValue: String;
begin
  result := DataTable.Fields[idx_InformeCabeceraFacturaClienteREFERENCIA].AsString;
end;

procedure TInformeCabeceraFacturaClienteDataTableRules.SetREFERENCIAValue(const aValue: String);
begin
  DataTable.Fields[idx_InformeCabeceraFacturaClienteREFERENCIA].AsString := aValue;
end;

function TInformeCabeceraFacturaClienteDataTableRules.GetPAGADAValue: String;
begin
  result := DataTable.Fields[idx_InformeCabeceraFacturaClientePAGADA].AsString;
end;

procedure TInformeCabeceraFacturaClienteDataTableRules.SetPAGADAValue(const aValue: String);
begin
  DataTable.Fields[idx_InformeCabeceraFacturaClientePAGADA].AsString := aValue;
end;

function TInformeCabeceraFacturaClienteDataTableRules.GetCODIGOCONTACTOValue: Integer;
begin
  result := DataTable.Fields[idx_InformeCabeceraFacturaClienteCODIGOCONTACTO].AsInteger;
end;

procedure TInformeCabeceraFacturaClienteDataTableRules.SetCODIGOCONTACTOValue(const aValue: Integer);
begin
  DataTable.Fields[idx_InformeCabeceraFacturaClienteCODIGOCONTACTO].AsInteger := aValue;
end;

function TInformeCabeceraFacturaClienteDataTableRules.GetBASEIMPONIBLEValue: Currency;
begin
  result := DataTable.Fields[idx_InformeCabeceraFacturaClienteBASEIMPONIBLE].AsCurrency;
end;

procedure TInformeCabeceraFacturaClienteDataTableRules.SetBASEIMPONIBLEValue(const aValue: Currency);
begin
  DataTable.Fields[idx_InformeCabeceraFacturaClienteBASEIMPONIBLE].AsCurrency := aValue;
end;

function TInformeCabeceraFacturaClienteDataTableRules.GetIVAValue: Float;
begin
  result := DataTable.Fields[idx_InformeCabeceraFacturaClienteIVA].AsFloat;
end;

procedure TInformeCabeceraFacturaClienteDataTableRules.SetIVAValue(const aValue: Float);
begin
  DataTable.Fields[idx_InformeCabeceraFacturaClienteIVA].AsFloat := aValue;
end;

function TInformeCabeceraFacturaClienteDataTableRules.GetIMPORTEIVAValue: Currency;
begin
  result := DataTable.Fields[idx_InformeCabeceraFacturaClienteIMPORTEIVA].AsCurrency;
end;

procedure TInformeCabeceraFacturaClienteDataTableRules.SetIMPORTEIVAValue(const aValue: Currency);
begin
  DataTable.Fields[idx_InformeCabeceraFacturaClienteIMPORTEIVA].AsCurrency := aValue;
end;

function TInformeCabeceraFacturaClienteDataTableRules.GetIMPORTETOTALValue: Currency;
begin
  result := DataTable.Fields[idx_InformeCabeceraFacturaClienteIMPORTETOTAL].AsCurrency;
end;

procedure TInformeCabeceraFacturaClienteDataTableRules.SetIMPORTETOTALValue(const aValue: Currency);
begin
  DataTable.Fields[idx_InformeCabeceraFacturaClienteIMPORTETOTAL].AsCurrency := aValue;
end;

function TInformeCabeceraFacturaClienteDataTableRules.GetOBSERVACIONESValue: IROStrings;
begin
  result := NewROStrings();
  result.Text := DataTable.Fields[idx_InformeCabeceraFacturaClienteOBSERVACIONES].AsString;
end;

procedure TInformeCabeceraFacturaClienteDataTableRules.SetOBSERVACIONESValue(const aValue: IROStrings);
begin
  DataTable.Fields[idx_InformeCabeceraFacturaClienteOBSERVACIONES].AsString := aValue.Text;
end;

function TInformeCabeceraFacturaClienteDataTableRules.GetFORMAPAGOValue: IROStrings;
begin
  result := NewROStrings();
  result.Text := DataTable.Fields[idx_InformeCabeceraFacturaClienteFORMAPAGO].AsString;
end;

procedure TInformeCabeceraFacturaClienteDataTableRules.SetFORMAPAGOValue(const aValue: IROStrings);
begin
  DataTable.Fields[idx_InformeCabeceraFacturaClienteFORMAPAGO].AsString := aValue.Text;
end;

function TInformeCabeceraFacturaClienteDataTableRules.GetNIFCIFValue: String;
begin
  result := DataTable.Fields[idx_InformeCabeceraFacturaClienteNIFCIF].AsString;
end;

procedure TInformeCabeceraFacturaClienteDataTableRules.SetNIFCIFValue(const aValue: String);
begin
  DataTable.Fields[idx_InformeCabeceraFacturaClienteNIFCIF].AsString := aValue;
end;

function TInformeCabeceraFacturaClienteDataTableRules.GetNOMBREValue: String;
begin
  result := DataTable.Fields[idx_InformeCabeceraFacturaClienteNOMBRE].AsString;
end;

procedure TInformeCabeceraFacturaClienteDataTableRules.SetNOMBREValue(const aValue: String);
begin
  DataTable.Fields[idx_InformeCabeceraFacturaClienteNOMBRE].AsString := aValue;
end;

function TInformeCabeceraFacturaClienteDataTableRules.GetCALLEValue: String;
begin
  result := DataTable.Fields[idx_InformeCabeceraFacturaClienteCALLE].AsString;
end;

procedure TInformeCabeceraFacturaClienteDataTableRules.SetCALLEValue(const aValue: String);
begin
  DataTable.Fields[idx_InformeCabeceraFacturaClienteCALLE].AsString := aValue;
end;

function TInformeCabeceraFacturaClienteDataTableRules.GetPROVINCIAValue: String;
begin
  result := DataTable.Fields[idx_InformeCabeceraFacturaClientePROVINCIA].AsString;
end;

procedure TInformeCabeceraFacturaClienteDataTableRules.SetPROVINCIAValue(const aValue: String);
begin
  DataTable.Fields[idx_InformeCabeceraFacturaClientePROVINCIA].AsString := aValue;
end;

function TInformeCabeceraFacturaClienteDataTableRules.GetCODIGOPOSTALValue: String;
begin
  result := DataTable.Fields[idx_InformeCabeceraFacturaClienteCODIGOPOSTAL].AsString;
end;

procedure TInformeCabeceraFacturaClienteDataTableRules.SetCODIGOPOSTALValue(const aValue: String);
begin
  DataTable.Fields[idx_InformeCabeceraFacturaClienteCODIGOPOSTAL].AsString := aValue;
end;

function TInformeCabeceraFacturaClienteDataTableRules.GetPOBLACIONValue: String;
begin
  result := DataTable.Fields[idx_InformeCabeceraFacturaClientePOBLACION].AsString;
end;

procedure TInformeCabeceraFacturaClienteDataTableRules.SetPOBLACIONValue(const aValue: String);
begin
  DataTable.Fields[idx_InformeCabeceraFacturaClientePOBLACION].AsString := aValue;
end;

function TInformeCabeceraFacturaClienteDataTableRules.GetCODIGOOBRAValue: Integer;
begin
  result := DataTable.Fields[idx_InformeCabeceraFacturaClienteCODIGOOBRA].AsInteger;
end;

procedure TInformeCabeceraFacturaClienteDataTableRules.SetCODIGOOBRAValue(const aValue: Integer);
begin
  DataTable.Fields[idx_InformeCabeceraFacturaClienteCODIGOOBRA].AsInteger := aValue;
end;


{ TInformeDetallesFacturaClienteDataTableRules }
constructor TInformeDetallesFacturaClienteDataTableRules.Create(aDataTable: TDADataTable);
begin
  inherited;
end;

destructor TInformeDetallesFacturaClienteDataTableRules.Destroy;
begin
  inherited;
end;

function TInformeDetallesFacturaClienteDataTableRules.GetCODIGOFACTURAValue: Integer;
begin
  result := DataTable.Fields[idx_InformeDetallesFacturaClienteCODIGOFACTURA].AsInteger;
end;

procedure TInformeDetallesFacturaClienteDataTableRules.SetCODIGOFACTURAValue(const aValue: Integer);
begin
  DataTable.Fields[idx_InformeDetallesFacturaClienteCODIGOFACTURA].AsInteger := aValue;
end;

function TInformeDetallesFacturaClienteDataTableRules.GetNUMCONCEPTOValue: Integer;
begin
  result := DataTable.Fields[idx_InformeDetallesFacturaClienteNUMCONCEPTO].AsInteger;
end;

procedure TInformeDetallesFacturaClienteDataTableRules.SetNUMCONCEPTOValue(const aValue: Integer);
begin
  DataTable.Fields[idx_InformeDetallesFacturaClienteNUMCONCEPTO].AsInteger := aValue;
end;

function TInformeDetallesFacturaClienteDataTableRules.GetDESCRIPCIONValue: String;
begin
  result := DataTable.Fields[idx_InformeDetallesFacturaClienteDESCRIPCION].AsString;
end;

procedure TInformeDetallesFacturaClienteDataTableRules.SetDESCRIPCIONValue(const aValue: String);
begin
  DataTable.Fields[idx_InformeDetallesFacturaClienteDESCRIPCION].AsString := aValue;
end;

function TInformeDetallesFacturaClienteDataTableRules.GetCANTIDADValue: Float;
begin
  result := DataTable.Fields[idx_InformeDetallesFacturaClienteCANTIDAD].AsFloat;
end;

procedure TInformeDetallesFacturaClienteDataTableRules.SetCANTIDADValue(const aValue: Float);
begin
  DataTable.Fields[idx_InformeDetallesFacturaClienteCANTIDAD].AsFloat := aValue;
end;

function TInformeDetallesFacturaClienteDataTableRules.GetIMPORTEUNIDADValue: Currency;
begin
  result := DataTable.Fields[idx_InformeDetallesFacturaClienteIMPORTEUNIDAD].AsCurrency;
end;

procedure TInformeDetallesFacturaClienteDataTableRules.SetIMPORTEUNIDADValue(const aValue: Currency);
begin
  DataTable.Fields[idx_InformeDetallesFacturaClienteIMPORTEUNIDAD].AsCurrency := aValue;
end;

function TInformeDetallesFacturaClienteDataTableRules.GetIMPORTETOTALValue: Currency;
begin
  result := DataTable.Fields[idx_InformeDetallesFacturaClienteIMPORTETOTAL].AsCurrency;
end;

procedure TInformeDetallesFacturaClienteDataTableRules.SetIMPORTETOTALValue(const aValue: Currency);
begin
  DataTable.Fields[idx_InformeDetallesFacturaClienteIMPORTETOTAL].AsCurrency := aValue;
end;

function TInformeDetallesFacturaClienteDataTableRules.GetTIPOValue: String;
begin
  result := DataTable.Fields[idx_InformeDetallesFacturaClienteTIPO].AsString;
end;

procedure TInformeDetallesFacturaClienteDataTableRules.SetTIPOValue(const aValue: String);
begin
  DataTable.Fields[idx_InformeDetallesFacturaClienteTIPO].AsString := aValue;
end;

function TInformeDetallesFacturaClienteDataTableRules.GetPOSICIONValue: Integer;
begin
  result := DataTable.Fields[idx_InformeDetallesFacturaClientePOSICION].AsInteger;
end;

procedure TInformeDetallesFacturaClienteDataTableRules.SetPOSICIONValue(const aValue: Integer);
begin
  DataTable.Fields[idx_InformeDetallesFacturaClientePOSICION].AsInteger := aValue;
end;


{ TDarReferenciaFacturaProformaDataTableRules }
constructor TDarReferenciaFacturaProformaDataTableRules.Create(aDataTable: TDADataTable);
begin
  inherited;
end;

destructor TDarReferenciaFacturaProformaDataTableRules.Destroy;
begin
  inherited;
end;

function TDarReferenciaFacturaProformaDataTableRules.GetREFERENCIAValue: String;
begin
  result := DataTable.Fields[idx_DarReferenciaFacturaProformaREFERENCIA].AsString;
end;

procedure TDarReferenciaFacturaProformaDataTableRules.SetREFERENCIAValue(const aValue: String);
begin
  DataTable.Fields[idx_DarReferenciaFacturaProformaREFERENCIA].AsString := aValue;
end;


initialization
  RegisterDataTableRules(RID_DarReferenciaFactura, TDarReferenciaFacturaDataTableRules);
  RegisterDataTableRules(RID_FacturasCliente, TFacturasClienteDataTableRules);
  RegisterDataTableRules(RID_DetallesFacturasCliente, TDetallesFacturasClienteDataTableRules);
  RegisterDataTableRules(RID_InformeCabeceraFacturaCliente, TInformeCabeceraFacturaClienteDataTableRules);
  RegisterDataTableRules(RID_InformeDetallesFacturaCliente, TInformeDetallesFacturaClienteDataTableRules);
  RegisterDataTableRules(RID_DarReferenciaFacturaProforma, TDarReferenciaFacturaProformaDataTableRules);

end.
