unit schContratosClienteClient_Intf;

interface

uses
  Classes, DB, schBase_Intf, SysUtils, uROClasses, uDAInterfaces, uDADataTable, FmtBCD, uROXMLIntf;

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_Valores = '{52B71EED-9363-4A19-B433-C4917CBE0490}';
  RID_Propiedades = '{28500097-0FDC-4DBF-8047-FF879A5DDC4A}';
  RID_ListaAnosContratos = '{587736A2-5CC2-48D3-B32A-E54D4E7E23B5}';
  RID_ContratosClienteBeneficios = '{C9C242F8-9818-4C50-B4F8-12D1F83C3682}';
  RID_ContratosCliente = '{25E7020F-9DCA-4458-BB59-6F80612DB958}';
  RID_TiposCapitulos = '{FF4FB40E-4BDD-4D49-8893-AEF4013E66C7}';
  RID_ContratosCliente_Detalles = '{893CDA38-9F05-42E6-A176-200846BFB3B4}';

  { Data table names }
  nme_Valores = 'Valores';
  nme_Propiedades = 'Propiedades';
  nme_ListaAnosContratos = 'ListaAnosContratos';
  nme_ContratosClienteBeneficios = 'ContratosClienteBeneficios';
  nme_ContratosCliente = 'ContratosCliente';
  nme_TiposCapitulos = 'TiposCapitulos';
  nme_ContratosCliente_Detalles = 'ContratosCliente_Detalles';

  { Valores fields }
  fld_ValoresID = 'ID';
  fld_ValoresID_PROPIEDAD = 'ID_PROPIEDAD';
  fld_ValoresDESCRIPCION = 'DESCRIPCION';

  { Valores field indexes }
  idx_ValoresID = 0;
  idx_ValoresID_PROPIEDAD = 1;
  idx_ValoresDESCRIPCION = 2;

  { Propiedades fields }
  fld_PropiedadesID = 'ID';
  fld_PropiedadesDESCRIPCION = 'DESCRIPCION';
  fld_PropiedadesID_PROPIEDAD_VALORES = 'ID_PROPIEDAD_VALORES';

  { Propiedades field indexes }
  idx_PropiedadesID = 0;
  idx_PropiedadesDESCRIPCION = 1;
  idx_PropiedadesID_PROPIEDAD_VALORES = 2;

  { ListaAnosContratos fields }
  fld_ListaAnosContratosANO = 'ANO';

  { ListaAnosContratos field indexes }
  idx_ListaAnosContratosANO = 0;

  { ContratosClienteBeneficios fields }
  fld_ContratosClienteBeneficiosID = 'ID';
  fld_ContratosClienteBeneficiosREFERENCIA = 'REFERENCIA';
  fld_ContratosClienteBeneficiosREFERENCIA_CLIENTE = 'REFERENCIA_CLIENTE';
  fld_ContratosClienteBeneficiosFECHA_CONTRATO = 'FECHA_CONTRATO';
  fld_ContratosClienteBeneficiosNOMBRE = 'NOMBRE';
  fld_ContratosClienteBeneficiosNIF_CIF = 'NIF_CIF';
  fld_ContratosClienteBeneficiosIMPORTE_NETO = 'IMPORTE_NETO';
  fld_ContratosClienteBeneficiosIMPORTE_DESCUENTO = 'IMPORTE_DESCUENTO';
  fld_ContratosClienteBeneficiosBASE_IMPONIBLE = 'BASE_IMPONIBLE';
  fld_ContratosClienteBeneficiosIMPORTE_FACTURAS_PROVEEDOR = 'IMPORTE_FACTURAS_PROVEEDOR';
  fld_ContratosClienteBeneficiosIMPORTE_BENEFICIO = 'IMPORTE_BENEFICIO';
  fld_ContratosClienteBeneficiosPORCENTAJE_BENEFICIO = 'PORCENTAJE_BENEFICIO';
  fld_ContratosClienteBeneficiosSITUACION = 'SITUACION';
  fld_ContratosClienteBeneficiosID_VENDEDOR = 'ID_VENDEDOR';
  fld_ContratosClienteBeneficiosVENDEDOR = 'VENDEDOR';

  { ContratosClienteBeneficios field indexes }
  idx_ContratosClienteBeneficiosID = 0;
  idx_ContratosClienteBeneficiosREFERENCIA = 1;
  idx_ContratosClienteBeneficiosREFERENCIA_CLIENTE = 2;
  idx_ContratosClienteBeneficiosFECHA_CONTRATO = 3;
  idx_ContratosClienteBeneficiosNOMBRE = 4;
  idx_ContratosClienteBeneficiosNIF_CIF = 5;
  idx_ContratosClienteBeneficiosIMPORTE_NETO = 6;
  idx_ContratosClienteBeneficiosIMPORTE_DESCUENTO = 7;
  idx_ContratosClienteBeneficiosBASE_IMPONIBLE = 8;
  idx_ContratosClienteBeneficiosIMPORTE_FACTURAS_PROVEEDOR = 9;
  idx_ContratosClienteBeneficiosIMPORTE_BENEFICIO = 10;
  idx_ContratosClienteBeneficiosPORCENTAJE_BENEFICIO = 11;
  idx_ContratosClienteBeneficiosSITUACION = 12;
  idx_ContratosClienteBeneficiosID_VENDEDOR = 13;
  idx_ContratosClienteBeneficiosVENDEDOR = 14;

  { ContratosCliente fields }
  fld_ContratosClienteID = 'ID';
  fld_ContratosClienteID_EMPRESA = 'ID_EMPRESA';
  fld_ContratosClienteID_CLIENTE = 'ID_CLIENTE';
  fld_ContratosClienteLOPD = 'LOPD';
  fld_ContratosClienteNOMBRE_CLIENTE = 'NOMBRE_CLIENTE';
  fld_ContratosClienteREF_CLIENTE = 'REF_CLIENTE';
  fld_ContratosClienteNOMBRE_COMERCIAL_CLIENTE = 'NOMBRE_COMERCIAL_CLIENTE';
  fld_ContratosClienteNIF_CIF = 'NIF_CIF';
  fld_ContratosClienteNOMBRE = 'NOMBRE';
  fld_ContratosClienteID_DIRECCION = 'ID_DIRECCION';
  fld_ContratosClienteCALLE = 'CALLE';
  fld_ContratosClientePOBLACION = 'POBLACION';
  fld_ContratosClientePROVINCIA = 'PROVINCIA';
  fld_ContratosClienteCODIGO_POSTAL = 'CODIGO_POSTAL';
  fld_ContratosClienteTELEFONO = 'TELEFONO';
  fld_ContratosClienteMOVIL = 'MOVIL';
  fld_ContratosClienteREFERENCIA = 'REFERENCIA';
  fld_ContratosClienteFECHA_CONTRATO = 'FECHA_CONTRATO';
  fld_ContratosClienteSITUACION = 'SITUACION';
  fld_ContratosClienteFORMA_PAGO = 'FORMA_PAGO';
  fld_ContratosClientePLAZO_ENTREGA = 'PLAZO_ENTREGA';
  fld_ContratosClienteOBSERVACIONES = 'OBSERVACIONES';
  fld_ContratosClienteINCIDENCIAS = 'INCIDENCIAS';
  fld_ContratosClienteINCIDENCIAS_ACTIVAS = 'INCIDENCIAS_ACTIVAS';
  fld_ContratosClienteFECHA_ALTA = 'FECHA_ALTA';
  fld_ContratosClienteFECHA_MODIFICACION = 'FECHA_MODIFICACION';
  fld_ContratosClienteUSUARIO = 'USUARIO';
  fld_ContratosClienteRECARGO_EQUIVALENCIA = 'RECARGO_EQUIVALENCIA';
  fld_ContratosClienteRE = 'RE';
  fld_ContratosClienteIMPORTE_RE = 'IMPORTE_RE';
  fld_ContratosClienteID_TIPO_IVA = 'ID_TIPO_IVA';
  fld_ContratosClienteIVA = 'IVA';
  fld_ContratosClienteIMPORTE_IVA = 'IMPORTE_IVA';
  fld_ContratosClienteIMPORTE_NETO = 'IMPORTE_NETO';
  fld_ContratosClienteIMPORTE_PORTE = 'IMPORTE_PORTE';
  fld_ContratosClienteID_TIENDA = 'ID_TIENDA';
  fld_ContratosClienteTIENDA = 'TIENDA';
  fld_ContratosClienteBASE_IMPONIBLE = 'BASE_IMPONIBLE';
  fld_ContratosClienteDESCUENTO = 'DESCUENTO';
  fld_ContratosClienteIMPORTE_DESCUENTO = 'IMPORTE_DESCUENTO';
  fld_ContratosClienteIMPORTE_TOTAL = 'IMPORTE_TOTAL';
  fld_ContratosClienteID_FORMA_PAGO = 'ID_FORMA_PAGO';
  fld_ContratosClienteID_VENDEDOR = 'ID_VENDEDOR';
  fld_ContratosClienteVENDEDOR = 'VENDEDOR';
  fld_ContratosClientePERSONA_CONTACTO = 'PERSONA_CONTACTO';
  fld_ContratosClienteTIPO_CONTRATO = 'TIPO_CONTRATO';
  fld_ContratosClienteCONDICIONES = 'CONDICIONES';
  fld_ContratosClienteCALIDADES = 'CALIDADES';
  fld_ContratosClienteREFERENCIA_CLIENTE = 'REFERENCIA_CLIENTE';
  fld_ContratosClienteLISTA_NOMBRES = 'LISTA_NOMBRES';
  fld_ContratosClienteFECHA_DECISION = 'FECHA_DECISION';
  fld_ContratosClienteFACTURA_ASOCIADA = 'FACTURA_ASOCIADA';
  fld_ContratosClienteFECHA_PREVISTA_MONTAJE = 'FECHA_PREVISTA_MONTAJE';
  fld_ContratosClienteCAMPO_LIBRE = 'CAMPO_LIBRE';
  fld_ContratosClientePROCEDENCIA_CLIENTE = 'PROCEDENCIA_CLIENTE';
  fld_ContratosClienteEMAIL_1 = 'EMAIL_1';
  fld_ContratosClienteFECHA_ULT_PRESENTACION_CLIENTE = 'FECHA_ULT_PRESENTACION_CLIENTE';

  { ContratosCliente field indexes }
  idx_ContratosClienteID = 0;
  idx_ContratosClienteID_EMPRESA = 1;
  idx_ContratosClienteID_CLIENTE = 2;
  idx_ContratosClienteLOPD = 3;
  idx_ContratosClienteNOMBRE_CLIENTE = 4;
  idx_ContratosClienteREF_CLIENTE = 5;
  idx_ContratosClienteNOMBRE_COMERCIAL_CLIENTE = 6;
  idx_ContratosClienteNIF_CIF = 7;
  idx_ContratosClienteNOMBRE = 8;
  idx_ContratosClienteID_DIRECCION = 9;
  idx_ContratosClienteCALLE = 10;
  idx_ContratosClientePOBLACION = 11;
  idx_ContratosClientePROVINCIA = 12;
  idx_ContratosClienteCODIGO_POSTAL = 13;
  idx_ContratosClienteTELEFONO = 14;
  idx_ContratosClienteMOVIL = 15;
  idx_ContratosClienteREFERENCIA = 16;
  idx_ContratosClienteFECHA_CONTRATO = 17;
  idx_ContratosClienteSITUACION = 18;
  idx_ContratosClienteFORMA_PAGO = 19;
  idx_ContratosClientePLAZO_ENTREGA = 20;
  idx_ContratosClienteOBSERVACIONES = 21;
  idx_ContratosClienteINCIDENCIAS = 22;
  idx_ContratosClienteINCIDENCIAS_ACTIVAS = 23;
  idx_ContratosClienteFECHA_ALTA = 24;
  idx_ContratosClienteFECHA_MODIFICACION = 25;
  idx_ContratosClienteUSUARIO = 26;
  idx_ContratosClienteRECARGO_EQUIVALENCIA = 27;
  idx_ContratosClienteRE = 28;
  idx_ContratosClienteIMPORTE_RE = 29;
  idx_ContratosClienteID_TIPO_IVA = 30;
  idx_ContratosClienteIVA = 31;
  idx_ContratosClienteIMPORTE_IVA = 32;
  idx_ContratosClienteIMPORTE_NETO = 33;
  idx_ContratosClienteIMPORTE_PORTE = 34;
  idx_ContratosClienteID_TIENDA = 35;
  idx_ContratosClienteTIENDA = 36;
  idx_ContratosClienteBASE_IMPONIBLE = 37;
  idx_ContratosClienteDESCUENTO = 38;
  idx_ContratosClienteIMPORTE_DESCUENTO = 39;
  idx_ContratosClienteIMPORTE_TOTAL = 40;
  idx_ContratosClienteID_FORMA_PAGO = 41;
  idx_ContratosClienteID_VENDEDOR = 42;
  idx_ContratosClienteVENDEDOR = 43;
  idx_ContratosClientePERSONA_CONTACTO = 44;
  idx_ContratosClienteTIPO_CONTRATO = 45;
  idx_ContratosClienteCONDICIONES = 46;
  idx_ContratosClienteCALIDADES = 47;
  idx_ContratosClienteREFERENCIA_CLIENTE = 48;
  idx_ContratosClienteLISTA_NOMBRES = 49;
  idx_ContratosClienteFECHA_DECISION = 50;
  idx_ContratosClienteFACTURA_ASOCIADA = 51;
  idx_ContratosClienteFECHA_PREVISTA_MONTAJE = 52;
  idx_ContratosClienteCAMPO_LIBRE = 53;
  idx_ContratosClientePROCEDENCIA_CLIENTE = 54;
  idx_ContratosClienteEMAIL_1 = 55;
  idx_ContratosClienteFECHA_ULT_PRESENTACION_CLIENTE = 56;

  { TiposCapitulos fields }
  fld_TiposCapitulosID = 'ID';
  fld_TiposCapitulosPOSICION = 'POSICION';
  fld_TiposCapitulosTIPO_DETALLE = 'TIPO_DETALLE';
  fld_TiposCapitulosTIPO_ARTICULO = 'TIPO_ARTICULO';
  fld_TiposCapitulosID_ARTICULO = 'ID_ARTICULO';
  fld_TiposCapitulosCONCEPTO = 'CONCEPTO';

  { TiposCapitulos field indexes }
  idx_TiposCapitulosID = 0;
  idx_TiposCapitulosPOSICION = 1;
  idx_TiposCapitulosTIPO_DETALLE = 2;
  idx_TiposCapitulosTIPO_ARTICULO = 3;
  idx_TiposCapitulosID_ARTICULO = 4;
  idx_TiposCapitulosCONCEPTO = 5;

  { ContratosCliente_Detalles fields }
  fld_ContratosCliente_DetallesID = 'ID';
  fld_ContratosCliente_DetallesID_CONTRATO = 'ID_CONTRATO';
  fld_ContratosCliente_DetallesPOSICION = 'POSICION';
  fld_ContratosCliente_DetallesTIPO_DETALLE = 'TIPO_DETALLE';
  fld_ContratosCliente_DetallesPROPIEDAD = 'PROPIEDAD';
  fld_ContratosCliente_DetallesCONCEPTO = 'CONCEPTO';
  fld_ContratosCliente_DetallesCANTIDAD = 'CANTIDAD';
  fld_ContratosCliente_DetallesIMPORTE_UNIDAD = 'IMPORTE_UNIDAD';
  fld_ContratosCliente_DetallesIMPORTE_TOTAL = 'IMPORTE_TOTAL';
  fld_ContratosCliente_DetallesVISIBLE2 = 'VISIBLE2';
  fld_ContratosCliente_DetallesVISIBLE = 'VISIBLE';
  fld_ContratosCliente_DetallesID_ARTICULO = 'ID_ARTICULO';
  fld_ContratosCliente_DetallesTIPO_ARTICULO = 'TIPO_ARTICULO';
  fld_ContratosCliente_DetallesDESCUENTO = 'DESCUENTO';
  fld_ContratosCliente_DetallesIMPORTE_PORTE = 'IMPORTE_PORTE';
  fld_ContratosCliente_DetallesREFERENCIA = 'REFERENCIA';
  fld_ContratosCliente_DetallesREFERENCIA_PROVEEDOR = 'REFERENCIA_PROVEEDOR';

  { ContratosCliente_Detalles field indexes }
  idx_ContratosCliente_DetallesID = 0;
  idx_ContratosCliente_DetallesID_CONTRATO = 1;
  idx_ContratosCliente_DetallesPOSICION = 2;
  idx_ContratosCliente_DetallesTIPO_DETALLE = 3;
  idx_ContratosCliente_DetallesPROPIEDAD = 4;
  idx_ContratosCliente_DetallesCONCEPTO = 5;
  idx_ContratosCliente_DetallesCANTIDAD = 6;
  idx_ContratosCliente_DetallesIMPORTE_UNIDAD = 7;
  idx_ContratosCliente_DetallesIMPORTE_TOTAL = 8;
  idx_ContratosCliente_DetallesVISIBLE2 = 9;
  idx_ContratosCliente_DetallesVISIBLE = 10;
  idx_ContratosCliente_DetallesID_ARTICULO = 11;
  idx_ContratosCliente_DetallesTIPO_ARTICULO = 12;
  idx_ContratosCliente_DetallesDESCUENTO = 13;
  idx_ContratosCliente_DetallesIMPORTE_PORTE = 14;
  idx_ContratosCliente_DetallesREFERENCIA = 15;
  idx_ContratosCliente_DetallesREFERENCIA_PROVEEDOR = 16;

type
  { IValores }
  IValores = interface(IDAStronglyTypedDataTable)
  ['{D4C72CBB-5A40-48B5-852D-1A61B100DFEB}']
    { Property getters and setters }
    function GetIDValue: Integer;
    procedure SetIDValue(const aValue: Integer);
    function GetIDIsNull: Boolean;
    procedure SetIDIsNull(const aValue: Boolean);
    function GetID_PROPIEDADValue: Integer;
    procedure SetID_PROPIEDADValue(const aValue: Integer);
    function GetID_PROPIEDADIsNull: Boolean;
    procedure SetID_PROPIEDADIsNull(const aValue: Boolean);
    function GetDESCRIPCIONValue: String;
    procedure SetDESCRIPCIONValue(const aValue: String);
    function GetDESCRIPCIONIsNull: Boolean;
    procedure SetDESCRIPCIONIsNull(const aValue: Boolean);


    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property ID_PROPIEDAD: Integer read GetID_PROPIEDADValue write SetID_PROPIEDADValue;
    property ID_PROPIEDADIsNull: Boolean read GetID_PROPIEDADIsNull write SetID_PROPIEDADIsNull;
    property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue;
    property DESCRIPCIONIsNull: Boolean read GetDESCRIPCIONIsNull write SetDESCRIPCIONIsNull;
  end;

  { TValoresDataTableRules }
  TValoresDataTableRules = class(TIntfObjectDADataTableRules, IValores)
  private
  protected
    { Property getters and setters }
    function GetIDValue: Integer; virtual;
    procedure SetIDValue(const aValue: Integer); virtual;
    function GetIDIsNull: Boolean; virtual;
    procedure SetIDIsNull(const aValue: Boolean); virtual;
    function GetID_PROPIEDADValue: Integer; virtual;
    procedure SetID_PROPIEDADValue(const aValue: Integer); virtual;
    function GetID_PROPIEDADIsNull: Boolean; virtual;
    procedure SetID_PROPIEDADIsNull(const aValue: Boolean); virtual;
    function GetDESCRIPCIONValue: String; virtual;
    procedure SetDESCRIPCIONValue(const aValue: String); virtual;
    function GetDESCRIPCIONIsNull: Boolean; virtual;
    procedure SetDESCRIPCIONIsNull(const aValue: Boolean); virtual;

    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property ID_PROPIEDAD: Integer read GetID_PROPIEDADValue write SetID_PROPIEDADValue;
    property ID_PROPIEDADIsNull: Boolean read GetID_PROPIEDADIsNull write SetID_PROPIEDADIsNull;
    property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue;
    property DESCRIPCIONIsNull: Boolean read GetDESCRIPCIONIsNull write SetDESCRIPCIONIsNull;

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

  end;

  { IPropiedades }
  IPropiedades = interface(IDAStronglyTypedDataTable)
  ['{F803D346-E489-4868-B0A3-F1C2E96E16B2}']
    { Property getters and setters }
    function GetIDValue: Integer;
    procedure SetIDValue(const aValue: Integer);
    function GetIDIsNull: Boolean;
    procedure SetIDIsNull(const aValue: Boolean);
    function GetDESCRIPCIONValue: String;
    procedure SetDESCRIPCIONValue(const aValue: String);
    function GetDESCRIPCIONIsNull: Boolean;
    procedure SetDESCRIPCIONIsNull(const aValue: Boolean);
    function GetID_PROPIEDAD_VALORESValue: Integer;
    procedure SetID_PROPIEDAD_VALORESValue(const aValue: Integer);
    function GetID_PROPIEDAD_VALORESIsNull: Boolean;
    procedure SetID_PROPIEDAD_VALORESIsNull(const aValue: Boolean);


    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue;
    property DESCRIPCIONIsNull: Boolean read GetDESCRIPCIONIsNull write SetDESCRIPCIONIsNull;
    property ID_PROPIEDAD_VALORES: Integer read GetID_PROPIEDAD_VALORESValue write SetID_PROPIEDAD_VALORESValue;
    property ID_PROPIEDAD_VALORESIsNull: Boolean read GetID_PROPIEDAD_VALORESIsNull write SetID_PROPIEDAD_VALORESIsNull;
  end;

  { TPropiedadesDataTableRules }
  TPropiedadesDataTableRules = class(TIntfObjectDADataTableRules, IPropiedades)
  private
  protected
    { Property getters and setters }
    function GetIDValue: Integer; virtual;
    procedure SetIDValue(const aValue: Integer); virtual;
    function GetIDIsNull: Boolean; virtual;
    procedure SetIDIsNull(const aValue: Boolean); virtual;
    function GetDESCRIPCIONValue: String; virtual;
    procedure SetDESCRIPCIONValue(const aValue: String); virtual;
    function GetDESCRIPCIONIsNull: Boolean; virtual;
    procedure SetDESCRIPCIONIsNull(const aValue: Boolean); virtual;
    function GetID_PROPIEDAD_VALORESValue: Integer; virtual;
    procedure SetID_PROPIEDAD_VALORESValue(const aValue: Integer); virtual;
    function GetID_PROPIEDAD_VALORESIsNull: Boolean; virtual;
    procedure SetID_PROPIEDAD_VALORESIsNull(const aValue: Boolean); virtual;

    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue;
    property DESCRIPCIONIsNull: Boolean read GetDESCRIPCIONIsNull write SetDESCRIPCIONIsNull;
    property ID_PROPIEDAD_VALORES: Integer read GetID_PROPIEDAD_VALORESValue write SetID_PROPIEDAD_VALORESValue;
    property ID_PROPIEDAD_VALORESIsNull: Boolean read GetID_PROPIEDAD_VALORESIsNull write SetID_PROPIEDAD_VALORESIsNull;

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

  end;

  { IListaAnosContratos }
  IListaAnosContratos = interface(IDAStronglyTypedDataTable)
  ['{B9314FAD-1F9D-40AE-BA67-0D5AB968CB40}']
    { Property getters and setters }
    function GetANOValue: String;
    procedure SetANOValue(const aValue: String);
    function GetANOIsNull: Boolean;
    procedure SetANOIsNull(const aValue: Boolean);


    { Properties }
    property ANO: String read GetANOValue write SetANOValue;
    property ANOIsNull: Boolean read GetANOIsNull write SetANOIsNull;
  end;

  { TListaAnosContratosDataTableRules }
  TListaAnosContratosDataTableRules = class(TIntfObjectDADataTableRules, IListaAnosContratos)
  private
  protected
    { Property getters and setters }
    function GetANOValue: String; virtual;
    procedure SetANOValue(const aValue: String); virtual;
    function GetANOIsNull: Boolean; virtual;
    procedure SetANOIsNull(const aValue: Boolean); virtual;

    { Properties }
    property ANO: String read GetANOValue write SetANOValue;
    property ANOIsNull: Boolean read GetANOIsNull write SetANOIsNull;

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

  end;

  { IContratosClienteBeneficios }
  IContratosClienteBeneficios = interface(IDAStronglyTypedDataTable)
  ['{EFDA00B5-AC6D-4E4E-A034-0AA20C0A990A}']
    { Property getters and setters }
    function GetIDValue: Integer;
    procedure SetIDValue(const aValue: Integer);
    function GetIDIsNull: Boolean;
    procedure SetIDIsNull(const aValue: Boolean);
    function GetREFERENCIAValue: String;
    procedure SetREFERENCIAValue(const aValue: String);
    function GetREFERENCIAIsNull: Boolean;
    procedure SetREFERENCIAIsNull(const aValue: Boolean);
    function GetREFERENCIA_CLIENTEValue: String;
    procedure SetREFERENCIA_CLIENTEValue(const aValue: String);
    function GetREFERENCIA_CLIENTEIsNull: Boolean;
    procedure SetREFERENCIA_CLIENTEIsNull(const aValue: Boolean);
    function GetFECHA_CONTRATOValue: DateTime;
    procedure SetFECHA_CONTRATOValue(const aValue: DateTime);
    function GetFECHA_CONTRATOIsNull: Boolean;
    procedure SetFECHA_CONTRATOIsNull(const aValue: Boolean);
    function GetNOMBREValue: String;
    procedure SetNOMBREValue(const aValue: String);
    function GetNOMBREIsNull: Boolean;
    procedure SetNOMBREIsNull(const aValue: Boolean);
    function GetNIF_CIFValue: String;
    procedure SetNIF_CIFValue(const aValue: String);
    function GetNIF_CIFIsNull: Boolean;
    procedure SetNIF_CIFIsNull(const aValue: Boolean);
    function GetIMPORTE_NETOValue: Currency;
    procedure SetIMPORTE_NETOValue(const aValue: Currency);
    function GetIMPORTE_NETOIsNull: Boolean;
    procedure SetIMPORTE_NETOIsNull(const aValue: Boolean);
    function GetIMPORTE_DESCUENTOValue: Currency;
    procedure SetIMPORTE_DESCUENTOValue(const aValue: Currency);
    function GetIMPORTE_DESCUENTOIsNull: Boolean;
    procedure SetIMPORTE_DESCUENTOIsNull(const aValue: Boolean);
    function GetBASE_IMPONIBLEValue: Currency;
    procedure SetBASE_IMPONIBLEValue(const aValue: Currency);
    function GetBASE_IMPONIBLEIsNull: Boolean;
    procedure SetBASE_IMPONIBLEIsNull(const aValue: Boolean);
    function GetIMPORTE_FACTURAS_PROVEEDORValue: Currency;
    procedure SetIMPORTE_FACTURAS_PROVEEDORValue(const aValue: Currency);
    function GetIMPORTE_FACTURAS_PROVEEDORIsNull: Boolean;
    procedure SetIMPORTE_FACTURAS_PROVEEDORIsNull(const aValue: Boolean);
    function GetIMPORTE_BENEFICIOValue: Currency;
    procedure SetIMPORTE_BENEFICIOValue(const aValue: Currency);
    function GetIMPORTE_BENEFICIOIsNull: Boolean;
    procedure SetIMPORTE_BENEFICIOIsNull(const aValue: Boolean);
    function GetPORCENTAJE_BENEFICIOValue: Currency;
    procedure SetPORCENTAJE_BENEFICIOValue(const aValue: Currency);
    function GetPORCENTAJE_BENEFICIOIsNull: Boolean;
    procedure SetPORCENTAJE_BENEFICIOIsNull(const aValue: Boolean);
    function GetSITUACIONValue: String;
    procedure SetSITUACIONValue(const aValue: String);
    function GetSITUACIONIsNull: Boolean;
    procedure SetSITUACIONIsNull(const aValue: Boolean);
    function GetID_VENDEDORValue: Integer;
    procedure SetID_VENDEDORValue(const aValue: Integer);
    function GetID_VENDEDORIsNull: Boolean;
    procedure SetID_VENDEDORIsNull(const aValue: Boolean);
    function GetVENDEDORValue: String;
    procedure SetVENDEDORValue(const aValue: String);
    function GetVENDEDORIsNull: Boolean;
    procedure SetVENDEDORIsNull(const aValue: Boolean);


    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue;
    property REFERENCIAIsNull: Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull;
    property REFERENCIA_CLIENTE: String read GetREFERENCIA_CLIENTEValue write SetREFERENCIA_CLIENTEValue;
    property REFERENCIA_CLIENTEIsNull: Boolean read GetREFERENCIA_CLIENTEIsNull write SetREFERENCIA_CLIENTEIsNull;
    property FECHA_CONTRATO: DateTime read GetFECHA_CONTRATOValue write SetFECHA_CONTRATOValue;
    property FECHA_CONTRATOIsNull: Boolean read GetFECHA_CONTRATOIsNull write SetFECHA_CONTRATOIsNull;
    property NOMBRE: String read GetNOMBREValue write SetNOMBREValue;
    property NOMBREIsNull: Boolean read GetNOMBREIsNull write SetNOMBREIsNull;
    property NIF_CIF: String read GetNIF_CIFValue write SetNIF_CIFValue;
    property NIF_CIFIsNull: Boolean read GetNIF_CIFIsNull write SetNIF_CIFIsNull;
    property IMPORTE_NETO: Currency read GetIMPORTE_NETOValue write SetIMPORTE_NETOValue;
    property IMPORTE_NETOIsNull: Boolean read GetIMPORTE_NETOIsNull write SetIMPORTE_NETOIsNull;
    property IMPORTE_DESCUENTO: Currency read GetIMPORTE_DESCUENTOValue write SetIMPORTE_DESCUENTOValue;
    property IMPORTE_DESCUENTOIsNull: Boolean read GetIMPORTE_DESCUENTOIsNull write SetIMPORTE_DESCUENTOIsNull;
    property BASE_IMPONIBLE: Currency read GetBASE_IMPONIBLEValue write SetBASE_IMPONIBLEValue;
    property BASE_IMPONIBLEIsNull: Boolean read GetBASE_IMPONIBLEIsNull write SetBASE_IMPONIBLEIsNull;
    property IMPORTE_FACTURAS_PROVEEDOR: Currency read GetIMPORTE_FACTURAS_PROVEEDORValue write SetIMPORTE_FACTURAS_PROVEEDORValue;
    property IMPORTE_FACTURAS_PROVEEDORIsNull: Boolean read GetIMPORTE_FACTURAS_PROVEEDORIsNull write SetIMPORTE_FACTURAS_PROVEEDORIsNull;
    property IMPORTE_BENEFICIO: Currency read GetIMPORTE_BENEFICIOValue write SetIMPORTE_BENEFICIOValue;
    property IMPORTE_BENEFICIOIsNull: Boolean read GetIMPORTE_BENEFICIOIsNull write SetIMPORTE_BENEFICIOIsNull;
    property PORCENTAJE_BENEFICIO: Currency read GetPORCENTAJE_BENEFICIOValue write SetPORCENTAJE_BENEFICIOValue;
    property PORCENTAJE_BENEFICIOIsNull: Boolean read GetPORCENTAJE_BENEFICIOIsNull write SetPORCENTAJE_BENEFICIOIsNull;
    property SITUACION: String read GetSITUACIONValue write SetSITUACIONValue;
    property SITUACIONIsNull: Boolean read GetSITUACIONIsNull write SetSITUACIONIsNull;
    property ID_VENDEDOR: Integer read GetID_VENDEDORValue write SetID_VENDEDORValue;
    property ID_VENDEDORIsNull: Boolean read GetID_VENDEDORIsNull write SetID_VENDEDORIsNull;
    property VENDEDOR: String read GetVENDEDORValue write SetVENDEDORValue;
    property VENDEDORIsNull: Boolean read GetVENDEDORIsNull write SetVENDEDORIsNull;
  end;

  { TContratosClienteBeneficiosDataTableRules }
  TContratosClienteBeneficiosDataTableRules = class(TIntfObjectDADataTableRules, IContratosClienteBeneficios)
  private
  protected
    { Property getters and setters }
    function GetIDValue: Integer; virtual;
    procedure SetIDValue(const aValue: Integer); virtual;
    function GetIDIsNull: Boolean; virtual;
    procedure SetIDIsNull(const aValue: Boolean); virtual;
    function GetREFERENCIAValue: String; virtual;
    procedure SetREFERENCIAValue(const aValue: String); virtual;
    function GetREFERENCIAIsNull: Boolean; virtual;
    procedure SetREFERENCIAIsNull(const aValue: Boolean); virtual;
    function GetREFERENCIA_CLIENTEValue: String; virtual;
    procedure SetREFERENCIA_CLIENTEValue(const aValue: String); virtual;
    function GetREFERENCIA_CLIENTEIsNull: Boolean; virtual;
    procedure SetREFERENCIA_CLIENTEIsNull(const aValue: Boolean); virtual;
    function GetFECHA_CONTRATOValue: DateTime; virtual;
    procedure SetFECHA_CONTRATOValue(const aValue: DateTime); virtual;
    function GetFECHA_CONTRATOIsNull: Boolean; virtual;
    procedure SetFECHA_CONTRATOIsNull(const aValue: Boolean); virtual;
    function GetNOMBREValue: String; virtual;
    procedure SetNOMBREValue(const aValue: String); virtual;
    function GetNOMBREIsNull: Boolean; virtual;
    procedure SetNOMBREIsNull(const aValue: Boolean); virtual;
    function GetNIF_CIFValue: String; virtual;
    procedure SetNIF_CIFValue(const aValue: String); virtual;
    function GetNIF_CIFIsNull: Boolean; virtual;
    procedure SetNIF_CIFIsNull(const aValue: Boolean); virtual;
    function GetIMPORTE_NETOValue: Currency; virtual;
    procedure SetIMPORTE_NETOValue(const aValue: Currency); virtual;
    function GetIMPORTE_NETOIsNull: Boolean; virtual;
    procedure SetIMPORTE_NETOIsNull(const aValue: Boolean); virtual;
    function GetIMPORTE_DESCUENTOValue: Currency; virtual;
    procedure SetIMPORTE_DESCUENTOValue(const aValue: Currency); virtual;
    function GetIMPORTE_DESCUENTOIsNull: Boolean; virtual;
    procedure SetIMPORTE_DESCUENTOIsNull(const aValue: Boolean); virtual;
    function GetBASE_IMPONIBLEValue: Currency; virtual;
    procedure SetBASE_IMPONIBLEValue(const aValue: Currency); virtual;
    function GetBASE_IMPONIBLEIsNull: Boolean; virtual;
    procedure SetBASE_IMPONIBLEIsNull(const aValue: Boolean); virtual;
    function GetIMPORTE_FACTURAS_PROVEEDORValue: Currency; virtual;
    procedure SetIMPORTE_FACTURAS_PROVEEDORValue(const aValue: Currency); virtual;
    function GetIMPORTE_FACTURAS_PROVEEDORIsNull: Boolean; virtual;
    procedure SetIMPORTE_FACTURAS_PROVEEDORIsNull(const aValue: Boolean); virtual;
    function GetIMPORTE_BENEFICIOValue: Currency; virtual;
    procedure SetIMPORTE_BENEFICIOValue(const aValue: Currency); virtual;
    function GetIMPORTE_BENEFICIOIsNull: Boolean; virtual;
    procedure SetIMPORTE_BENEFICIOIsNull(const aValue: Boolean); virtual;
    function GetPORCENTAJE_BENEFICIOValue: Currency; virtual;
    procedure SetPORCENTAJE_BENEFICIOValue(const aValue: Currency); virtual;
    function GetPORCENTAJE_BENEFICIOIsNull: Boolean; virtual;
    procedure SetPORCENTAJE_BENEFICIOIsNull(const aValue: Boolean); virtual;
    function GetSITUACIONValue: String; virtual;
    procedure SetSITUACIONValue(const aValue: String); virtual;
    function GetSITUACIONIsNull: Boolean; virtual;
    procedure SetSITUACIONIsNull(const aValue: Boolean); virtual;
    function GetID_VENDEDORValue: Integer; virtual;
    procedure SetID_VENDEDORValue(const aValue: Integer); virtual;
    function GetID_VENDEDORIsNull: Boolean; virtual;
    procedure SetID_VENDEDORIsNull(const aValue: Boolean); virtual;
    function GetVENDEDORValue: String; virtual;
    procedure SetVENDEDORValue(const aValue: String); virtual;
    function GetVENDEDORIsNull: Boolean; virtual;
    procedure SetVENDEDORIsNull(const aValue: Boolean); virtual;

    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue;
    property REFERENCIAIsNull: Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull;
    property REFERENCIA_CLIENTE: String read GetREFERENCIA_CLIENTEValue write SetREFERENCIA_CLIENTEValue;
    property REFERENCIA_CLIENTEIsNull: Boolean read GetREFERENCIA_CLIENTEIsNull write SetREFERENCIA_CLIENTEIsNull;
    property FECHA_CONTRATO: DateTime read GetFECHA_CONTRATOValue write SetFECHA_CONTRATOValue;
    property FECHA_CONTRATOIsNull: Boolean read GetFECHA_CONTRATOIsNull write SetFECHA_CONTRATOIsNull;
    property NOMBRE: String read GetNOMBREValue write SetNOMBREValue;
    property NOMBREIsNull: Boolean read GetNOMBREIsNull write SetNOMBREIsNull;
    property NIF_CIF: String read GetNIF_CIFValue write SetNIF_CIFValue;
    property NIF_CIFIsNull: Boolean read GetNIF_CIFIsNull write SetNIF_CIFIsNull;
    property IMPORTE_NETO: Currency read GetIMPORTE_NETOValue write SetIMPORTE_NETOValue;
    property IMPORTE_NETOIsNull: Boolean read GetIMPORTE_NETOIsNull write SetIMPORTE_NETOIsNull;
    property IMPORTE_DESCUENTO: Currency read GetIMPORTE_DESCUENTOValue write SetIMPORTE_DESCUENTOValue;
    property IMPORTE_DESCUENTOIsNull: Boolean read GetIMPORTE_DESCUENTOIsNull write SetIMPORTE_DESCUENTOIsNull;
    property BASE_IMPONIBLE: Currency read GetBASE_IMPONIBLEValue write SetBASE_IMPONIBLEValue;
    property BASE_IMPONIBLEIsNull: Boolean read GetBASE_IMPONIBLEIsNull write SetBASE_IMPONIBLEIsNull;
    property IMPORTE_FACTURAS_PROVEEDOR: Currency read GetIMPORTE_FACTURAS_PROVEEDORValue write SetIMPORTE_FACTURAS_PROVEEDORValue;
    property IMPORTE_FACTURAS_PROVEEDORIsNull: Boolean read GetIMPORTE_FACTURAS_PROVEEDORIsNull write SetIMPORTE_FACTURAS_PROVEEDORIsNull;
    property IMPORTE_BENEFICIO: Currency read GetIMPORTE_BENEFICIOValue write SetIMPORTE_BENEFICIOValue;
    property IMPORTE_BENEFICIOIsNull: Boolean read GetIMPORTE_BENEFICIOIsNull write SetIMPORTE_BENEFICIOIsNull;
    property PORCENTAJE_BENEFICIO: Currency read GetPORCENTAJE_BENEFICIOValue write SetPORCENTAJE_BENEFICIOValue;
    property PORCENTAJE_BENEFICIOIsNull: Boolean read GetPORCENTAJE_BENEFICIOIsNull write SetPORCENTAJE_BENEFICIOIsNull;
    property SITUACION: String read GetSITUACIONValue write SetSITUACIONValue;
    property SITUACIONIsNull: Boolean read GetSITUACIONIsNull write SetSITUACIONIsNull;
    property ID_VENDEDOR: Integer read GetID_VENDEDORValue write SetID_VENDEDORValue;
    property ID_VENDEDORIsNull: Boolean read GetID_VENDEDORIsNull write SetID_VENDEDORIsNull;
    property VENDEDOR: String read GetVENDEDORValue write SetVENDEDORValue;
    property VENDEDORIsNull: Boolean read GetVENDEDORIsNull write SetVENDEDORIsNull;

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

  end;

  { IContratosCliente }
  IContratosCliente = interface(IDAStronglyTypedDataTable)
  ['{F8022D8A-297E-4D9D-8AC6-B18A5C333FE6}']
    { Property getters and setters }
    function GetIDValue: Integer;
    procedure SetIDValue(const aValue: Integer);
    function GetIDIsNull: Boolean;
    procedure SetIDIsNull(const aValue: Boolean);
    function GetID_EMPRESAValue: Integer;
    procedure SetID_EMPRESAValue(const aValue: Integer);
    function GetID_EMPRESAIsNull: Boolean;
    procedure SetID_EMPRESAIsNull(const aValue: Boolean);
    function GetID_CLIENTEValue: Integer;
    procedure SetID_CLIENTEValue(const aValue: Integer);
    function GetID_CLIENTEIsNull: Boolean;
    procedure SetID_CLIENTEIsNull(const aValue: Boolean);
    function GetLOPDValue: SmallInt;
    procedure SetLOPDValue(const aValue: SmallInt);
    function GetLOPDIsNull: Boolean;
    procedure SetLOPDIsNull(const aValue: Boolean);
    function GetNOMBRE_CLIENTEValue: String;
    procedure SetNOMBRE_CLIENTEValue(const aValue: String);
    function GetNOMBRE_CLIENTEIsNull: Boolean;
    procedure SetNOMBRE_CLIENTEIsNull(const aValue: Boolean);
    function GetREF_CLIENTEValue: String;
    procedure SetREF_CLIENTEValue(const aValue: String);
    function GetREF_CLIENTEIsNull: Boolean;
    procedure SetREF_CLIENTEIsNull(const aValue: Boolean);
    function GetNOMBRE_COMERCIAL_CLIENTEValue: String;
    procedure SetNOMBRE_COMERCIAL_CLIENTEValue(const aValue: String);
    function GetNOMBRE_COMERCIAL_CLIENTEIsNull: Boolean;
    procedure SetNOMBRE_COMERCIAL_CLIENTEIsNull(const aValue: Boolean);
    function GetNIF_CIFValue: String;
    procedure SetNIF_CIFValue(const aValue: String);
    function GetNIF_CIFIsNull: Boolean;
    procedure SetNIF_CIFIsNull(const aValue: Boolean);
    function GetNOMBREValue: String;
    procedure SetNOMBREValue(const aValue: String);
    function GetNOMBREIsNull: Boolean;
    procedure SetNOMBREIsNull(const aValue: Boolean);
    function GetID_DIRECCIONValue: Integer;
    procedure SetID_DIRECCIONValue(const aValue: Integer);
    function GetID_DIRECCIONIsNull: Boolean;
    procedure SetID_DIRECCIONIsNull(const aValue: Boolean);
    function GetCALLEValue: String;
    procedure SetCALLEValue(const aValue: String);
    function GetCALLEIsNull: Boolean;
    procedure SetCALLEIsNull(const aValue: Boolean);
    function GetPOBLACIONValue: String;
    procedure SetPOBLACIONValue(const aValue: String);
    function GetPOBLACIONIsNull: Boolean;
    procedure SetPOBLACIONIsNull(const aValue: Boolean);
    function GetPROVINCIAValue: String;
    procedure SetPROVINCIAValue(const aValue: String);
    function GetPROVINCIAIsNull: Boolean;
    procedure SetPROVINCIAIsNull(const aValue: Boolean);
    function GetCODIGO_POSTALValue: String;
    procedure SetCODIGO_POSTALValue(const aValue: String);
    function GetCODIGO_POSTALIsNull: Boolean;
    procedure SetCODIGO_POSTALIsNull(const aValue: Boolean);
    function GetTELEFONOValue: String;
    procedure SetTELEFONOValue(const aValue: String);
    function GetTELEFONOIsNull: Boolean;
    procedure SetTELEFONOIsNull(const aValue: Boolean);
    function GetMOVILValue: String;
    procedure SetMOVILValue(const aValue: String);
    function GetMOVILIsNull: Boolean;
    procedure SetMOVILIsNull(const aValue: Boolean);
    function GetREFERENCIAValue: String;
    procedure SetREFERENCIAValue(const aValue: String);
    function GetREFERENCIAIsNull: Boolean;
    procedure SetREFERENCIAIsNull(const aValue: Boolean);
    function GetFECHA_CONTRATOValue: DateTime;
    procedure SetFECHA_CONTRATOValue(const aValue: DateTime);
    function GetFECHA_CONTRATOIsNull: Boolean;
    procedure SetFECHA_CONTRATOIsNull(const aValue: Boolean);
    function GetSITUACIONValue: String;
    procedure SetSITUACIONValue(const aValue: String);
    function GetSITUACIONIsNull: Boolean;
    procedure SetSITUACIONIsNull(const aValue: Boolean);
    function GetFORMA_PAGOValue: IROStrings;
    function GetFORMA_PAGOIsNull: Boolean;
    procedure SetFORMA_PAGOIsNull(const aValue: Boolean);
    function GetPLAZO_ENTREGAValue: IROStrings;
    function GetPLAZO_ENTREGAIsNull: Boolean;
    procedure SetPLAZO_ENTREGAIsNull(const aValue: Boolean);
    function GetOBSERVACIONESValue: IROStrings;
    function GetOBSERVACIONESIsNull: Boolean;
    procedure SetOBSERVACIONESIsNull(const aValue: Boolean);
    function GetINCIDENCIASValue: IROStrings;
    function GetINCIDENCIASIsNull: Boolean;
    procedure SetINCIDENCIASIsNull(const aValue: Boolean);
    function GetINCIDENCIAS_ACTIVASValue: Integer;
    procedure SetINCIDENCIAS_ACTIVASValue(const aValue: Integer);
    function GetINCIDENCIAS_ACTIVASIsNull: Boolean;
    procedure SetINCIDENCIAS_ACTIVASIsNull(const aValue: Boolean);
    function GetFECHA_ALTAValue: DateTime;
    procedure SetFECHA_ALTAValue(const aValue: DateTime);
    function GetFECHA_ALTAIsNull: Boolean;
    procedure SetFECHA_ALTAIsNull(const aValue: Boolean);
    function GetFECHA_MODIFICACIONValue: DateTime;
    procedure SetFECHA_MODIFICACIONValue(const aValue: DateTime);
    function GetFECHA_MODIFICACIONIsNull: Boolean;
    procedure SetFECHA_MODIFICACIONIsNull(const aValue: Boolean);
    function GetUSUARIOValue: String;
    procedure SetUSUARIOValue(const aValue: String);
    function GetUSUARIOIsNull: Boolean;
    procedure SetUSUARIOIsNull(const aValue: Boolean);
    function GetRECARGO_EQUIVALENCIAValue: SmallInt;
    procedure SetRECARGO_EQUIVALENCIAValue(const aValue: SmallInt);
    function GetRECARGO_EQUIVALENCIAIsNull: Boolean;
    procedure SetRECARGO_EQUIVALENCIAIsNull(const aValue: Boolean);
    function GetREValue: Float;
    procedure SetREValue(const aValue: Float);
    function GetREIsNull: Boolean;
    procedure SetREIsNull(const aValue: Boolean);
    function GetIMPORTE_REValue: Currency;
    procedure SetIMPORTE_REValue(const aValue: Currency);
    function GetIMPORTE_REIsNull: Boolean;
    procedure SetIMPORTE_REIsNull(const aValue: Boolean);
    function GetID_TIPO_IVAValue: Integer;
    procedure SetID_TIPO_IVAValue(const aValue: Integer);
    function GetID_TIPO_IVAIsNull: Boolean;
    procedure SetID_TIPO_IVAIsNull(const aValue: Boolean);
    function GetIVAValue: Float;
    procedure SetIVAValue(const aValue: Float);
    function GetIVAIsNull: Boolean;
    procedure SetIVAIsNull(const aValue: Boolean);
    function GetIMPORTE_IVAValue: Currency;
    procedure SetIMPORTE_IVAValue(const aValue: Currency);
    function GetIMPORTE_IVAIsNull: Boolean;
    procedure SetIMPORTE_IVAIsNull(const aValue: Boolean);
    function GetIMPORTE_NETOValue: Currency;
    procedure SetIMPORTE_NETOValue(const aValue: Currency);
    function GetIMPORTE_NETOIsNull: Boolean;
    procedure SetIMPORTE_NETOIsNull(const aValue: Boolean);
    function GetIMPORTE_PORTEValue: Currency;
    procedure SetIMPORTE_PORTEValue(const aValue: Currency);
    function GetIMPORTE_PORTEIsNull: Boolean;
    procedure SetIMPORTE_PORTEIsNull(const aValue: Boolean);
    function GetID_TIENDAValue: Integer;
    procedure SetID_TIENDAValue(const aValue: Integer);
    function GetID_TIENDAIsNull: Boolean;
    procedure SetID_TIENDAIsNull(const aValue: Boolean);
    function GetTIENDAValue: String;
    procedure SetTIENDAValue(const aValue: String);
    function GetTIENDAIsNull: Boolean;
    procedure SetTIENDAIsNull(const aValue: Boolean);
    function GetBASE_IMPONIBLEValue: Currency;
    procedure SetBASE_IMPONIBLEValue(const aValue: Currency);
    function GetBASE_IMPONIBLEIsNull: Boolean;
    procedure SetBASE_IMPONIBLEIsNull(const aValue: Boolean);
    function GetDESCUENTOValue: Float;
    procedure SetDESCUENTOValue(const aValue: Float);
    function GetDESCUENTOIsNull: Boolean;
    procedure SetDESCUENTOIsNull(const aValue: Boolean);
    function GetIMPORTE_DESCUENTOValue: Currency;
    procedure SetIMPORTE_DESCUENTOValue(const aValue: Currency);
    function GetIMPORTE_DESCUENTOIsNull: Boolean;
    procedure SetIMPORTE_DESCUENTOIsNull(const aValue: Boolean);
    function GetIMPORTE_TOTALValue: Currency;
    procedure SetIMPORTE_TOTALValue(const aValue: Currency);
    function GetIMPORTE_TOTALIsNull: Boolean;
    procedure SetIMPORTE_TOTALIsNull(const aValue: Boolean);
    function GetID_FORMA_PAGOValue: Integer;
    procedure SetID_FORMA_PAGOValue(const aValue: Integer);
    function GetID_FORMA_PAGOIsNull: Boolean;
    procedure SetID_FORMA_PAGOIsNull(const aValue: Boolean);
    function GetID_VENDEDORValue: Integer;
    procedure SetID_VENDEDORValue(const aValue: Integer);
    function GetID_VENDEDORIsNull: Boolean;
    procedure SetID_VENDEDORIsNull(const aValue: Boolean);
    function GetVENDEDORValue: String;
    procedure SetVENDEDORValue(const aValue: String);
    function GetVENDEDORIsNull: Boolean;
    procedure SetVENDEDORIsNull(const aValue: Boolean);
    function GetPERSONA_CONTACTOValue: String;
    procedure SetPERSONA_CONTACTOValue(const aValue: String);
    function GetPERSONA_CONTACTOIsNull: Boolean;
    procedure SetPERSONA_CONTACTOIsNull(const aValue: Boolean);
    function GetTIPO_CONTRATOValue: String;
    procedure SetTIPO_CONTRATOValue(const aValue: String);
    function GetTIPO_CONTRATOIsNull: Boolean;
    procedure SetTIPO_CONTRATOIsNull(const aValue: Boolean);
    function GetCONDICIONESValue: IROStrings;
    function GetCONDICIONESIsNull: Boolean;
    procedure SetCONDICIONESIsNull(const aValue: Boolean);
    function GetCALIDADESValue: IROStrings;
    function GetCALIDADESIsNull: Boolean;
    procedure SetCALIDADESIsNull(const aValue: Boolean);
    function GetREFERENCIA_CLIENTEValue: String;
    procedure SetREFERENCIA_CLIENTEValue(const aValue: String);
    function GetREFERENCIA_CLIENTEIsNull: Boolean;
    procedure SetREFERENCIA_CLIENTEIsNull(const aValue: Boolean);
    function GetLISTA_NOMBRESValue: String;
    procedure SetLISTA_NOMBRESValue(const aValue: String);
    function GetLISTA_NOMBRESIsNull: Boolean;
    procedure SetLISTA_NOMBRESIsNull(const aValue: Boolean);
    function GetFECHA_DECISIONValue: DateTime;
    procedure SetFECHA_DECISIONValue(const aValue: DateTime);
    function GetFECHA_DECISIONIsNull: Boolean;
    procedure SetFECHA_DECISIONIsNull(const aValue: Boolean);
    function GetFACTURA_ASOCIADAValue: String;
    procedure SetFACTURA_ASOCIADAValue(const aValue: String);
    function GetFACTURA_ASOCIADAIsNull: Boolean;
    procedure SetFACTURA_ASOCIADAIsNull(const aValue: Boolean);
    function GetFECHA_PREVISTA_MONTAJEValue: DateTime;
    procedure SetFECHA_PREVISTA_MONTAJEValue(const aValue: DateTime);
    function GetFECHA_PREVISTA_MONTAJEIsNull: Boolean;
    procedure SetFECHA_PREVISTA_MONTAJEIsNull(const aValue: Boolean);
    function GetCAMPO_LIBREValue: String;
    procedure SetCAMPO_LIBREValue(const aValue: String);
    function GetCAMPO_LIBREIsNull: Boolean;
    procedure SetCAMPO_LIBREIsNull(const aValue: Boolean);
    function GetPROCEDENCIA_CLIENTEValue: String;
    procedure SetPROCEDENCIA_CLIENTEValue(const aValue: String);
    function GetPROCEDENCIA_CLIENTEIsNull: Boolean;
    procedure SetPROCEDENCIA_CLIENTEIsNull(const aValue: Boolean);
    function GetEMAIL_1Value: String;
    procedure SetEMAIL_1Value(const aValue: String);
    function GetEMAIL_1IsNull: Boolean;
    procedure SetEMAIL_1IsNull(const aValue: Boolean);
    function GetFECHA_ULT_PRESENTACION_CLIENTEValue: DateTime;
    procedure SetFECHA_ULT_PRESENTACION_CLIENTEValue(const aValue: DateTime);
    function GetFECHA_ULT_PRESENTACION_CLIENTEIsNull: Boolean;
    procedure SetFECHA_ULT_PRESENTACION_CLIENTEIsNull(const aValue: Boolean);


    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property ID_EMPRESA: Integer read GetID_EMPRESAValue write SetID_EMPRESAValue;
    property ID_EMPRESAIsNull: Boolean read GetID_EMPRESAIsNull write SetID_EMPRESAIsNull;
    property ID_CLIENTE: Integer read GetID_CLIENTEValue write SetID_CLIENTEValue;
    property ID_CLIENTEIsNull: Boolean read GetID_CLIENTEIsNull write SetID_CLIENTEIsNull;
    property LOPD: SmallInt read GetLOPDValue write SetLOPDValue;
    property LOPDIsNull: Boolean read GetLOPDIsNull write SetLOPDIsNull;
    property NOMBRE_CLIENTE: String read GetNOMBRE_CLIENTEValue write SetNOMBRE_CLIENTEValue;
    property NOMBRE_CLIENTEIsNull: Boolean read GetNOMBRE_CLIENTEIsNull write SetNOMBRE_CLIENTEIsNull;
    property REF_CLIENTE: String read GetREF_CLIENTEValue write SetREF_CLIENTEValue;
    property REF_CLIENTEIsNull: Boolean read GetREF_CLIENTEIsNull write SetREF_CLIENTEIsNull;
    property NOMBRE_COMERCIAL_CLIENTE: String read GetNOMBRE_COMERCIAL_CLIENTEValue write SetNOMBRE_COMERCIAL_CLIENTEValue;
    property NOMBRE_COMERCIAL_CLIENTEIsNull: Boolean read GetNOMBRE_COMERCIAL_CLIENTEIsNull write SetNOMBRE_COMERCIAL_CLIENTEIsNull;
    property NIF_CIF: String read GetNIF_CIFValue write SetNIF_CIFValue;
    property NIF_CIFIsNull: Boolean read GetNIF_CIFIsNull write SetNIF_CIFIsNull;
    property NOMBRE: String read GetNOMBREValue write SetNOMBREValue;
    property NOMBREIsNull: Boolean read GetNOMBREIsNull write SetNOMBREIsNull;
    property ID_DIRECCION: Integer read GetID_DIRECCIONValue write SetID_DIRECCIONValue;
    property ID_DIRECCIONIsNull: Boolean read GetID_DIRECCIONIsNull write SetID_DIRECCIONIsNull;
    property CALLE: String read GetCALLEValue write SetCALLEValue;
    property CALLEIsNull: Boolean read GetCALLEIsNull write SetCALLEIsNull;
    property POBLACION: String read GetPOBLACIONValue write SetPOBLACIONValue;
    property POBLACIONIsNull: Boolean read GetPOBLACIONIsNull write SetPOBLACIONIsNull;
    property PROVINCIA: String read GetPROVINCIAValue write SetPROVINCIAValue;
    property PROVINCIAIsNull: Boolean read GetPROVINCIAIsNull write SetPROVINCIAIsNull;
    property CODIGO_POSTAL: String read GetCODIGO_POSTALValue write SetCODIGO_POSTALValue;
    property CODIGO_POSTALIsNull: Boolean read GetCODIGO_POSTALIsNull write SetCODIGO_POSTALIsNull;
    property TELEFONO: String read GetTELEFONOValue write SetTELEFONOValue;
    property TELEFONOIsNull: Boolean read GetTELEFONOIsNull write SetTELEFONOIsNull;
    property MOVIL: String read GetMOVILValue write SetMOVILValue;
    property MOVILIsNull: Boolean read GetMOVILIsNull write SetMOVILIsNull;
    property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue;
    property REFERENCIAIsNull: Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull;
    property FECHA_CONTRATO: DateTime read GetFECHA_CONTRATOValue write SetFECHA_CONTRATOValue;
    property FECHA_CONTRATOIsNull: Boolean read GetFECHA_CONTRATOIsNull write SetFECHA_CONTRATOIsNull;
    property SITUACION: String read GetSITUACIONValue write SetSITUACIONValue;
    property SITUACIONIsNull: Boolean read GetSITUACIONIsNull write SetSITUACIONIsNull;
    property FORMA_PAGO: IROStrings read GetFORMA_PAGOValue;
    property FORMA_PAGOIsNull: Boolean read GetFORMA_PAGOIsNull write SetFORMA_PAGOIsNull;
    property PLAZO_ENTREGA: IROStrings read GetPLAZO_ENTREGAValue;
    property PLAZO_ENTREGAIsNull: Boolean read GetPLAZO_ENTREGAIsNull write SetPLAZO_ENTREGAIsNull;
    property OBSERVACIONES: IROStrings read GetOBSERVACIONESValue;
    property OBSERVACIONESIsNull: Boolean read GetOBSERVACIONESIsNull write SetOBSERVACIONESIsNull;
    property INCIDENCIAS: IROStrings read GetINCIDENCIASValue;
    property INCIDENCIASIsNull: Boolean read GetINCIDENCIASIsNull write SetINCIDENCIASIsNull;
    property INCIDENCIAS_ACTIVAS: Integer read GetINCIDENCIAS_ACTIVASValue write SetINCIDENCIAS_ACTIVASValue;
    property INCIDENCIAS_ACTIVASIsNull: Boolean read GetINCIDENCIAS_ACTIVASIsNull write SetINCIDENCIAS_ACTIVASIsNull;
    property FECHA_ALTA: DateTime read GetFECHA_ALTAValue write SetFECHA_ALTAValue;
    property FECHA_ALTAIsNull: Boolean read GetFECHA_ALTAIsNull write SetFECHA_ALTAIsNull;
    property FECHA_MODIFICACION: DateTime read GetFECHA_MODIFICACIONValue write SetFECHA_MODIFICACIONValue;
    property FECHA_MODIFICACIONIsNull: Boolean read GetFECHA_MODIFICACIONIsNull write SetFECHA_MODIFICACIONIsNull;
    property USUARIO: String read GetUSUARIOValue write SetUSUARIOValue;
    property USUARIOIsNull: Boolean read GetUSUARIOIsNull write SetUSUARIOIsNull;
    property RECARGO_EQUIVALENCIA: SmallInt read GetRECARGO_EQUIVALENCIAValue write SetRECARGO_EQUIVALENCIAValue;
    property RECARGO_EQUIVALENCIAIsNull: Boolean read GetRECARGO_EQUIVALENCIAIsNull write SetRECARGO_EQUIVALENCIAIsNull;
    property RE: Float read GetREValue write SetREValue;
    property REIsNull: Boolean read GetREIsNull write SetREIsNull;
    property IMPORTE_RE: Currency read GetIMPORTE_REValue write SetIMPORTE_REValue;
    property IMPORTE_REIsNull: Boolean read GetIMPORTE_REIsNull write SetIMPORTE_REIsNull;
    property ID_TIPO_IVA: Integer read GetID_TIPO_IVAValue write SetID_TIPO_IVAValue;
    property ID_TIPO_IVAIsNull: Boolean read GetID_TIPO_IVAIsNull write SetID_TIPO_IVAIsNull;
    property IVA: Float read GetIVAValue write SetIVAValue;
    property IVAIsNull: Boolean read GetIVAIsNull write SetIVAIsNull;
    property IMPORTE_IVA: Currency read GetIMPORTE_IVAValue write SetIMPORTE_IVAValue;
    property IMPORTE_IVAIsNull: Boolean read GetIMPORTE_IVAIsNull write SetIMPORTE_IVAIsNull;
    property IMPORTE_NETO: Currency read GetIMPORTE_NETOValue write SetIMPORTE_NETOValue;
    property IMPORTE_NETOIsNull: Boolean read GetIMPORTE_NETOIsNull write SetIMPORTE_NETOIsNull;
    property IMPORTE_PORTE: Currency read GetIMPORTE_PORTEValue write SetIMPORTE_PORTEValue;
    property IMPORTE_PORTEIsNull: Boolean read GetIMPORTE_PORTEIsNull write SetIMPORTE_PORTEIsNull;
    property ID_TIENDA: Integer read GetID_TIENDAValue write SetID_TIENDAValue;
    property ID_TIENDAIsNull: Boolean read GetID_TIENDAIsNull write SetID_TIENDAIsNull;
    property TIENDA: String read GetTIENDAValue write SetTIENDAValue;
    property TIENDAIsNull: Boolean read GetTIENDAIsNull write SetTIENDAIsNull;
    property BASE_IMPONIBLE: Currency read GetBASE_IMPONIBLEValue write SetBASE_IMPONIBLEValue;
    property BASE_IMPONIBLEIsNull: Boolean read GetBASE_IMPONIBLEIsNull write SetBASE_IMPONIBLEIsNull;
    property DESCUENTO: Float read GetDESCUENTOValue write SetDESCUENTOValue;
    property DESCUENTOIsNull: Boolean read GetDESCUENTOIsNull write SetDESCUENTOIsNull;
    property IMPORTE_DESCUENTO: Currency read GetIMPORTE_DESCUENTOValue write SetIMPORTE_DESCUENTOValue;
    property IMPORTE_DESCUENTOIsNull: Boolean read GetIMPORTE_DESCUENTOIsNull write SetIMPORTE_DESCUENTOIsNull;
    property IMPORTE_TOTAL: Currency read GetIMPORTE_TOTALValue write SetIMPORTE_TOTALValue;
    property IMPORTE_TOTALIsNull: Boolean read GetIMPORTE_TOTALIsNull write SetIMPORTE_TOTALIsNull;
    property ID_FORMA_PAGO: Integer read GetID_FORMA_PAGOValue write SetID_FORMA_PAGOValue;
    property ID_FORMA_PAGOIsNull: Boolean read GetID_FORMA_PAGOIsNull write SetID_FORMA_PAGOIsNull;
    property ID_VENDEDOR: Integer read GetID_VENDEDORValue write SetID_VENDEDORValue;
    property ID_VENDEDORIsNull: Boolean read GetID_VENDEDORIsNull write SetID_VENDEDORIsNull;
    property VENDEDOR: String read GetVENDEDORValue write SetVENDEDORValue;
    property VENDEDORIsNull: Boolean read GetVENDEDORIsNull write SetVENDEDORIsNull;
    property PERSONA_CONTACTO: String read GetPERSONA_CONTACTOValue write SetPERSONA_CONTACTOValue;
    property PERSONA_CONTACTOIsNull: Boolean read GetPERSONA_CONTACTOIsNull write SetPERSONA_CONTACTOIsNull;
    property TIPO_CONTRATO: String read GetTIPO_CONTRATOValue write SetTIPO_CONTRATOValue;
    property TIPO_CONTRATOIsNull: Boolean read GetTIPO_CONTRATOIsNull write SetTIPO_CONTRATOIsNull;
    property CONDICIONES: IROStrings read GetCONDICIONESValue;
    property CONDICIONESIsNull: Boolean read GetCONDICIONESIsNull write SetCONDICIONESIsNull;
    property CALIDADES: IROStrings read GetCALIDADESValue;
    property CALIDADESIsNull: Boolean read GetCALIDADESIsNull write SetCALIDADESIsNull;
    property REFERENCIA_CLIENTE: String read GetREFERENCIA_CLIENTEValue write SetREFERENCIA_CLIENTEValue;
    property REFERENCIA_CLIENTEIsNull: Boolean read GetREFERENCIA_CLIENTEIsNull write SetREFERENCIA_CLIENTEIsNull;
    property LISTA_NOMBRES: String read GetLISTA_NOMBRESValue write SetLISTA_NOMBRESValue;
    property LISTA_NOMBRESIsNull: Boolean read GetLISTA_NOMBRESIsNull write SetLISTA_NOMBRESIsNull;
    property FECHA_DECISION: DateTime read GetFECHA_DECISIONValue write SetFECHA_DECISIONValue;
    property FECHA_DECISIONIsNull: Boolean read GetFECHA_DECISIONIsNull write SetFECHA_DECISIONIsNull;
    property FACTURA_ASOCIADA: String read GetFACTURA_ASOCIADAValue write SetFACTURA_ASOCIADAValue;
    property FACTURA_ASOCIADAIsNull: Boolean read GetFACTURA_ASOCIADAIsNull write SetFACTURA_ASOCIADAIsNull;
    property FECHA_PREVISTA_MONTAJE: DateTime read GetFECHA_PREVISTA_MONTAJEValue write SetFECHA_PREVISTA_MONTAJEValue;
    property FECHA_PREVISTA_MONTAJEIsNull: Boolean read GetFECHA_PREVISTA_MONTAJEIsNull write SetFECHA_PREVISTA_MONTAJEIsNull;
    property CAMPO_LIBRE: String read GetCAMPO_LIBREValue write SetCAMPO_LIBREValue;
    property CAMPO_LIBREIsNull: Boolean read GetCAMPO_LIBREIsNull write SetCAMPO_LIBREIsNull;
    property PROCEDENCIA_CLIENTE: String read GetPROCEDENCIA_CLIENTEValue write SetPROCEDENCIA_CLIENTEValue;
    property PROCEDENCIA_CLIENTEIsNull: Boolean read GetPROCEDENCIA_CLIENTEIsNull write SetPROCEDENCIA_CLIENTEIsNull;
    property EMAIL_1: String read GetEMAIL_1Value write SetEMAIL_1Value;
    property EMAIL_1IsNull: Boolean read GetEMAIL_1IsNull write SetEMAIL_1IsNull;
    property FECHA_ULT_PRESENTACION_CLIENTE: DateTime read GetFECHA_ULT_PRESENTACION_CLIENTEValue write SetFECHA_ULT_PRESENTACION_CLIENTEValue;
    property FECHA_ULT_PRESENTACION_CLIENTEIsNull: Boolean read GetFECHA_ULT_PRESENTACION_CLIENTEIsNull write SetFECHA_ULT_PRESENTACION_CLIENTEIsNull;
  end;

  { TContratosClienteDataTableRules }
  TContratosClienteDataTableRules = class(TIntfObjectDADataTableRules, IContratosCliente)
  private
    f_FORMA_PAGO: IROStrings;
    f_PLAZO_ENTREGA: IROStrings;
    f_OBSERVACIONES: IROStrings;
    f_INCIDENCIAS: IROStrings;
    f_CONDICIONES: IROStrings;
    f_CALIDADES: IROStrings;
    procedure FORMA_PAGO_OnChange(Sender: TObject);
    procedure PLAZO_ENTREGA_OnChange(Sender: TObject);
    procedure OBSERVACIONES_OnChange(Sender: TObject);
    procedure INCIDENCIAS_OnChange(Sender: TObject);
    procedure CONDICIONES_OnChange(Sender: TObject);
    procedure CALIDADES_OnChange(Sender: TObject);
  protected
    { Property getters and setters }
    function GetIDValue: Integer; virtual;
    procedure SetIDValue(const aValue: Integer); virtual;
    function GetIDIsNull: Boolean; virtual;
    procedure SetIDIsNull(const aValue: Boolean); virtual;
    function GetID_EMPRESAValue: Integer; virtual;
    procedure SetID_EMPRESAValue(const aValue: Integer); virtual;
    function GetID_EMPRESAIsNull: Boolean; virtual;
    procedure SetID_EMPRESAIsNull(const aValue: Boolean); virtual;
    function GetID_CLIENTEValue: Integer; virtual;
    procedure SetID_CLIENTEValue(const aValue: Integer); virtual;
    function GetID_CLIENTEIsNull: Boolean; virtual;
    procedure SetID_CLIENTEIsNull(const aValue: Boolean); virtual;
    function GetLOPDValue: SmallInt; virtual;
    procedure SetLOPDValue(const aValue: SmallInt); virtual;
    function GetLOPDIsNull: Boolean; virtual;
    procedure SetLOPDIsNull(const aValue: Boolean); virtual;
    function GetNOMBRE_CLIENTEValue: String; virtual;
    procedure SetNOMBRE_CLIENTEValue(const aValue: String); virtual;
    function GetNOMBRE_CLIENTEIsNull: Boolean; virtual;
    procedure SetNOMBRE_CLIENTEIsNull(const aValue: Boolean); virtual;
    function GetREF_CLIENTEValue: String; virtual;
    procedure SetREF_CLIENTEValue(const aValue: String); virtual;
    function GetREF_CLIENTEIsNull: Boolean; virtual;
    procedure SetREF_CLIENTEIsNull(const aValue: Boolean); virtual;
    function GetNOMBRE_COMERCIAL_CLIENTEValue: String; virtual;
    procedure SetNOMBRE_COMERCIAL_CLIENTEValue(const aValue: String); virtual;
    function GetNOMBRE_COMERCIAL_CLIENTEIsNull: Boolean; virtual;
    procedure SetNOMBRE_COMERCIAL_CLIENTEIsNull(const aValue: Boolean); virtual;
    function GetNIF_CIFValue: String; virtual;
    procedure SetNIF_CIFValue(const aValue: String); virtual;
    function GetNIF_CIFIsNull: Boolean; virtual;
    procedure SetNIF_CIFIsNull(const aValue: Boolean); virtual;
    function GetNOMBREValue: String; virtual;
    procedure SetNOMBREValue(const aValue: String); virtual;
    function GetNOMBREIsNull: Boolean; virtual;
    procedure SetNOMBREIsNull(const aValue: Boolean); virtual;
    function GetID_DIRECCIONValue: Integer; virtual;
    procedure SetID_DIRECCIONValue(const aValue: Integer); virtual;
    function GetID_DIRECCIONIsNull: Boolean; virtual;
    procedure SetID_DIRECCIONIsNull(const aValue: Boolean); virtual;
    function GetCALLEValue: String; virtual;
    procedure SetCALLEValue(const aValue: String); virtual;
    function GetCALLEIsNull: Boolean; virtual;
    procedure SetCALLEIsNull(const aValue: Boolean); virtual;
    function GetPOBLACIONValue: String; virtual;
    procedure SetPOBLACIONValue(const aValue: String); virtual;
    function GetPOBLACIONIsNull: Boolean; virtual;
    procedure SetPOBLACIONIsNull(const aValue: Boolean); virtual;
    function GetPROVINCIAValue: String; virtual;
    procedure SetPROVINCIAValue(const aValue: String); virtual;
    function GetPROVINCIAIsNull: Boolean; virtual;
    procedure SetPROVINCIAIsNull(const aValue: Boolean); virtual;
    function GetCODIGO_POSTALValue: String; virtual;
    procedure SetCODIGO_POSTALValue(const aValue: String); virtual;
    function GetCODIGO_POSTALIsNull: Boolean; virtual;
    procedure SetCODIGO_POSTALIsNull(const aValue: Boolean); virtual;
    function GetTELEFONOValue: String; virtual;
    procedure SetTELEFONOValue(const aValue: String); virtual;
    function GetTELEFONOIsNull: Boolean; virtual;
    procedure SetTELEFONOIsNull(const aValue: Boolean); virtual;
    function GetMOVILValue: String; virtual;
    procedure SetMOVILValue(const aValue: String); virtual;
    function GetMOVILIsNull: Boolean; virtual;
    procedure SetMOVILIsNull(const aValue: Boolean); virtual;
    function GetREFERENCIAValue: String; virtual;
    procedure SetREFERENCIAValue(const aValue: String); virtual;
    function GetREFERENCIAIsNull: Boolean; virtual;
    procedure SetREFERENCIAIsNull(const aValue: Boolean); virtual;
    function GetFECHA_CONTRATOValue: DateTime; virtual;
    procedure SetFECHA_CONTRATOValue(const aValue: DateTime); virtual;
    function GetFECHA_CONTRATOIsNull: Boolean; virtual;
    procedure SetFECHA_CONTRATOIsNull(const aValue: Boolean); virtual;
    function GetSITUACIONValue: String; virtual;
    procedure SetSITUACIONValue(const aValue: String); virtual;
    function GetSITUACIONIsNull: Boolean; virtual;
    procedure SetSITUACIONIsNull(const aValue: Boolean); virtual;
    function GetFORMA_PAGOValue: IROStrings; virtual;
    function GetFORMA_PAGOIsNull: Boolean; virtual;
    procedure SetFORMA_PAGOIsNull(const aValue: Boolean); virtual;
    function GetPLAZO_ENTREGAValue: IROStrings; virtual;
    function GetPLAZO_ENTREGAIsNull: Boolean; virtual;
    procedure SetPLAZO_ENTREGAIsNull(const aValue: Boolean); virtual;
    function GetOBSERVACIONESValue: IROStrings; virtual;
    function GetOBSERVACIONESIsNull: Boolean; virtual;
    procedure SetOBSERVACIONESIsNull(const aValue: Boolean); virtual;
    function GetINCIDENCIASValue: IROStrings; virtual;
    function GetINCIDENCIASIsNull: Boolean; virtual;
    procedure SetINCIDENCIASIsNull(const aValue: Boolean); virtual;
    function GetINCIDENCIAS_ACTIVASValue: Integer; virtual;
    procedure SetINCIDENCIAS_ACTIVASValue(const aValue: Integer); virtual;
    function GetINCIDENCIAS_ACTIVASIsNull: Boolean; virtual;
    procedure SetINCIDENCIAS_ACTIVASIsNull(const aValue: Boolean); virtual;
    function GetFECHA_ALTAValue: DateTime; virtual;
    procedure SetFECHA_ALTAValue(const aValue: DateTime); virtual;
    function GetFECHA_ALTAIsNull: Boolean; virtual;
    procedure SetFECHA_ALTAIsNull(const aValue: Boolean); virtual;
    function GetFECHA_MODIFICACIONValue: DateTime; virtual;
    procedure SetFECHA_MODIFICACIONValue(const aValue: DateTime); virtual;
    function GetFECHA_MODIFICACIONIsNull: Boolean; virtual;
    procedure SetFECHA_MODIFICACIONIsNull(const aValue: Boolean); virtual;
    function GetUSUARIOValue: String; virtual;
    procedure SetUSUARIOValue(const aValue: String); virtual;
    function GetUSUARIOIsNull: Boolean; virtual;
    procedure SetUSUARIOIsNull(const aValue: Boolean); virtual;
    function GetRECARGO_EQUIVALENCIAValue: SmallInt; virtual;
    procedure SetRECARGO_EQUIVALENCIAValue(const aValue: SmallInt); virtual;
    function GetRECARGO_EQUIVALENCIAIsNull: Boolean; virtual;
    procedure SetRECARGO_EQUIVALENCIAIsNull(const aValue: Boolean); virtual;
    function GetREValue: Float; virtual;
    procedure SetREValue(const aValue: Float); virtual;
    function GetREIsNull: Boolean; virtual;
    procedure SetREIsNull(const aValue: Boolean); virtual;
    function GetIMPORTE_REValue: Currency; virtual;
    procedure SetIMPORTE_REValue(const aValue: Currency); virtual;
    function GetIMPORTE_REIsNull: Boolean; virtual;
    procedure SetIMPORTE_REIsNull(const aValue: Boolean); virtual;
    function GetID_TIPO_IVAValue: Integer; virtual;
    procedure SetID_TIPO_IVAValue(const aValue: Integer); virtual;
    function GetID_TIPO_IVAIsNull: Boolean; virtual;
    procedure SetID_TIPO_IVAIsNull(const aValue: Boolean); virtual;
    function GetIVAValue: Float; virtual;
    procedure SetIVAValue(const aValue: Float); virtual;
    function GetIVAIsNull: Boolean; virtual;
    procedure SetIVAIsNull(const aValue: Boolean); virtual;
    function GetIMPORTE_IVAValue: Currency; virtual;
    procedure SetIMPORTE_IVAValue(const aValue: Currency); virtual;
    function GetIMPORTE_IVAIsNull: Boolean; virtual;
    procedure SetIMPORTE_IVAIsNull(const aValue: Boolean); virtual;
    function GetIMPORTE_NETOValue: Currency; virtual;
    procedure SetIMPORTE_NETOValue(const aValue: Currency); virtual;
    function GetIMPORTE_NETOIsNull: Boolean; virtual;
    procedure SetIMPORTE_NETOIsNull(const aValue: Boolean); virtual;
    function GetIMPORTE_PORTEValue: Currency; virtual;
    procedure SetIMPORTE_PORTEValue(const aValue: Currency); virtual;
    function GetIMPORTE_PORTEIsNull: Boolean; virtual;
    procedure SetIMPORTE_PORTEIsNull(const aValue: Boolean); virtual;
    function GetID_TIENDAValue: Integer; virtual;
    procedure SetID_TIENDAValue(const aValue: Integer); virtual;
    function GetID_TIENDAIsNull: Boolean; virtual;
    procedure SetID_TIENDAIsNull(const aValue: Boolean); virtual;
    function GetTIENDAValue: String; virtual;
    procedure SetTIENDAValue(const aValue: String); virtual;
    function GetTIENDAIsNull: Boolean; virtual;
    procedure SetTIENDAIsNull(const aValue: Boolean); virtual;
    function GetBASE_IMPONIBLEValue: Currency; virtual;
    procedure SetBASE_IMPONIBLEValue(const aValue: Currency); virtual;
    function GetBASE_IMPONIBLEIsNull: Boolean; virtual;
    procedure SetBASE_IMPONIBLEIsNull(const aValue: Boolean); virtual;
    function GetDESCUENTOValue: Float; virtual;
    procedure SetDESCUENTOValue(const aValue: Float); virtual;
    function GetDESCUENTOIsNull: Boolean; virtual;
    procedure SetDESCUENTOIsNull(const aValue: Boolean); virtual;
    function GetIMPORTE_DESCUENTOValue: Currency; virtual;
    procedure SetIMPORTE_DESCUENTOValue(const aValue: Currency); virtual;
    function GetIMPORTE_DESCUENTOIsNull: Boolean; virtual;
    procedure SetIMPORTE_DESCUENTOIsNull(const aValue: Boolean); virtual;
    function GetIMPORTE_TOTALValue: Currency; virtual;
    procedure SetIMPORTE_TOTALValue(const aValue: Currency); virtual;
    function GetIMPORTE_TOTALIsNull: Boolean; virtual;
    procedure SetIMPORTE_TOTALIsNull(const aValue: Boolean); virtual;
    function GetID_FORMA_PAGOValue: Integer; virtual;
    procedure SetID_FORMA_PAGOValue(const aValue: Integer); virtual;
    function GetID_FORMA_PAGOIsNull: Boolean; virtual;
    procedure SetID_FORMA_PAGOIsNull(const aValue: Boolean); virtual;
    function GetID_VENDEDORValue: Integer; virtual;
    procedure SetID_VENDEDORValue(const aValue: Integer); virtual;
    function GetID_VENDEDORIsNull: Boolean; virtual;
    procedure SetID_VENDEDORIsNull(const aValue: Boolean); virtual;
    function GetVENDEDORValue: String; virtual;
    procedure SetVENDEDORValue(const aValue: String); virtual;
    function GetVENDEDORIsNull: Boolean; virtual;
    procedure SetVENDEDORIsNull(const aValue: Boolean); virtual;
    function GetPERSONA_CONTACTOValue: String; virtual;
    procedure SetPERSONA_CONTACTOValue(const aValue: String); virtual;
    function GetPERSONA_CONTACTOIsNull: Boolean; virtual;
    procedure SetPERSONA_CONTACTOIsNull(const aValue: Boolean); virtual;
    function GetTIPO_CONTRATOValue: String; virtual;
    procedure SetTIPO_CONTRATOValue(const aValue: String); virtual;
    function GetTIPO_CONTRATOIsNull: Boolean; virtual;
    procedure SetTIPO_CONTRATOIsNull(const aValue: Boolean); virtual;
    function GetCONDICIONESValue: IROStrings; virtual;
    function GetCONDICIONESIsNull: Boolean; virtual;
    procedure SetCONDICIONESIsNull(const aValue: Boolean); virtual;
    function GetCALIDADESValue: IROStrings; virtual;
    function GetCALIDADESIsNull: Boolean; virtual;
    procedure SetCALIDADESIsNull(const aValue: Boolean); virtual;
    function GetREFERENCIA_CLIENTEValue: String; virtual;
    procedure SetREFERENCIA_CLIENTEValue(const aValue: String); virtual;
    function GetREFERENCIA_CLIENTEIsNull: Boolean; virtual;
    procedure SetREFERENCIA_CLIENTEIsNull(const aValue: Boolean); virtual;
    function GetLISTA_NOMBRESValue: String; virtual;
    procedure SetLISTA_NOMBRESValue(const aValue: String); virtual;
    function GetLISTA_NOMBRESIsNull: Boolean; virtual;
    procedure SetLISTA_NOMBRESIsNull(const aValue: Boolean); virtual;
    function GetFECHA_DECISIONValue: DateTime; virtual;
    procedure SetFECHA_DECISIONValue(const aValue: DateTime); virtual;
    function GetFECHA_DECISIONIsNull: Boolean; virtual;
    procedure SetFECHA_DECISIONIsNull(const aValue: Boolean); virtual;
    function GetFACTURA_ASOCIADAValue: String; virtual;
    procedure SetFACTURA_ASOCIADAValue(const aValue: String); virtual;
    function GetFACTURA_ASOCIADAIsNull: Boolean; virtual;
    procedure SetFACTURA_ASOCIADAIsNull(const aValue: Boolean); virtual;
    function GetFECHA_PREVISTA_MONTAJEValue: DateTime; virtual;
    procedure SetFECHA_PREVISTA_MONTAJEValue(const aValue: DateTime); virtual;
    function GetFECHA_PREVISTA_MONTAJEIsNull: Boolean; virtual;
    procedure SetFECHA_PREVISTA_MONTAJEIsNull(const aValue: Boolean); virtual;
    function GetCAMPO_LIBREValue: String; virtual;
    procedure SetCAMPO_LIBREValue(const aValue: String); virtual;
    function GetCAMPO_LIBREIsNull: Boolean; virtual;
    procedure SetCAMPO_LIBREIsNull(const aValue: Boolean); virtual;
    function GetPROCEDENCIA_CLIENTEValue: String; virtual;
    procedure SetPROCEDENCIA_CLIENTEValue(const aValue: String); virtual;
    function GetPROCEDENCIA_CLIENTEIsNull: Boolean; virtual;
    procedure SetPROCEDENCIA_CLIENTEIsNull(const aValue: Boolean); virtual;
    function GetEMAIL_1Value: String; virtual;
    procedure SetEMAIL_1Value(const aValue: String); virtual;
    function GetEMAIL_1IsNull: Boolean; virtual;
    procedure SetEMAIL_1IsNull(const aValue: Boolean); virtual;
    function GetFECHA_ULT_PRESENTACION_CLIENTEValue: DateTime; virtual;
    procedure SetFECHA_ULT_PRESENTACION_CLIENTEValue(const aValue: DateTime); virtual;
    function GetFECHA_ULT_PRESENTACION_CLIENTEIsNull: Boolean; virtual;
    procedure SetFECHA_ULT_PRESENTACION_CLIENTEIsNull(const aValue: Boolean); virtual;

    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property ID_EMPRESA: Integer read GetID_EMPRESAValue write SetID_EMPRESAValue;
    property ID_EMPRESAIsNull: Boolean read GetID_EMPRESAIsNull write SetID_EMPRESAIsNull;
    property ID_CLIENTE: Integer read GetID_CLIENTEValue write SetID_CLIENTEValue;
    property ID_CLIENTEIsNull: Boolean read GetID_CLIENTEIsNull write SetID_CLIENTEIsNull;
    property LOPD: SmallInt read GetLOPDValue write SetLOPDValue;
    property LOPDIsNull: Boolean read GetLOPDIsNull write SetLOPDIsNull;
    property NOMBRE_CLIENTE: String read GetNOMBRE_CLIENTEValue write SetNOMBRE_CLIENTEValue;
    property NOMBRE_CLIENTEIsNull: Boolean read GetNOMBRE_CLIENTEIsNull write SetNOMBRE_CLIENTEIsNull;
    property REF_CLIENTE: String read GetREF_CLIENTEValue write SetREF_CLIENTEValue;
    property REF_CLIENTEIsNull: Boolean read GetREF_CLIENTEIsNull write SetREF_CLIENTEIsNull;
    property NOMBRE_COMERCIAL_CLIENTE: String read GetNOMBRE_COMERCIAL_CLIENTEValue write SetNOMBRE_COMERCIAL_CLIENTEValue;
    property NOMBRE_COMERCIAL_CLIENTEIsNull: Boolean read GetNOMBRE_COMERCIAL_CLIENTEIsNull write SetNOMBRE_COMERCIAL_CLIENTEIsNull;
    property NIF_CIF: String read GetNIF_CIFValue write SetNIF_CIFValue;
    property NIF_CIFIsNull: Boolean read GetNIF_CIFIsNull write SetNIF_CIFIsNull;
    property NOMBRE: String read GetNOMBREValue write SetNOMBREValue;
    property NOMBREIsNull: Boolean read GetNOMBREIsNull write SetNOMBREIsNull;
    property ID_DIRECCION: Integer read GetID_DIRECCIONValue write SetID_DIRECCIONValue;
    property ID_DIRECCIONIsNull: Boolean read GetID_DIRECCIONIsNull write SetID_DIRECCIONIsNull;
    property CALLE: String read GetCALLEValue write SetCALLEValue;
    property CALLEIsNull: Boolean read GetCALLEIsNull write SetCALLEIsNull;
    property POBLACION: String read GetPOBLACIONValue write SetPOBLACIONValue;
    property POBLACIONIsNull: Boolean read GetPOBLACIONIsNull write SetPOBLACIONIsNull;
    property PROVINCIA: String read GetPROVINCIAValue write SetPROVINCIAValue;
    property PROVINCIAIsNull: Boolean read GetPROVINCIAIsNull write SetPROVINCIAIsNull;
    property CODIGO_POSTAL: String read GetCODIGO_POSTALValue write SetCODIGO_POSTALValue;
    property CODIGO_POSTALIsNull: Boolean read GetCODIGO_POSTALIsNull write SetCODIGO_POSTALIsNull;
    property TELEFONO: String read GetTELEFONOValue write SetTELEFONOValue;
    property TELEFONOIsNull: Boolean read GetTELEFONOIsNull write SetTELEFONOIsNull;
    property MOVIL: String read GetMOVILValue write SetMOVILValue;
    property MOVILIsNull: Boolean read GetMOVILIsNull write SetMOVILIsNull;
    property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue;
    property REFERENCIAIsNull: Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull;
    property FECHA_CONTRATO: DateTime read GetFECHA_CONTRATOValue write SetFECHA_CONTRATOValue;
    property FECHA_CONTRATOIsNull: Boolean read GetFECHA_CONTRATOIsNull write SetFECHA_CONTRATOIsNull;
    property SITUACION: String read GetSITUACIONValue write SetSITUACIONValue;
    property SITUACIONIsNull: Boolean read GetSITUACIONIsNull write SetSITUACIONIsNull;
    property FORMA_PAGO: IROStrings read GetFORMA_PAGOValue;
    property FORMA_PAGOIsNull: Boolean read GetFORMA_PAGOIsNull write SetFORMA_PAGOIsNull;
    property PLAZO_ENTREGA: IROStrings read GetPLAZO_ENTREGAValue;
    property PLAZO_ENTREGAIsNull: Boolean read GetPLAZO_ENTREGAIsNull write SetPLAZO_ENTREGAIsNull;
    property OBSERVACIONES: IROStrings read GetOBSERVACIONESValue;
    property OBSERVACIONESIsNull: Boolean read GetOBSERVACIONESIsNull write SetOBSERVACIONESIsNull;
    property INCIDENCIAS: IROStrings read GetINCIDENCIASValue;
    property INCIDENCIASIsNull: Boolean read GetINCIDENCIASIsNull write SetINCIDENCIASIsNull;
    property INCIDENCIAS_ACTIVAS: Integer read GetINCIDENCIAS_ACTIVASValue write SetINCIDENCIAS_ACTIVASValue;
    property INCIDENCIAS_ACTIVASIsNull: Boolean read GetINCIDENCIAS_ACTIVASIsNull write SetINCIDENCIAS_ACTIVASIsNull;
    property FECHA_ALTA: DateTime read GetFECHA_ALTAValue write SetFECHA_ALTAValue;
    property FECHA_ALTAIsNull: Boolean read GetFECHA_ALTAIsNull write SetFECHA_ALTAIsNull;
    property FECHA_MODIFICACION: DateTime read GetFECHA_MODIFICACIONValue write SetFECHA_MODIFICACIONValue;
    property FECHA_MODIFICACIONIsNull: Boolean read GetFECHA_MODIFICACIONIsNull write SetFECHA_MODIFICACIONIsNull;
    property USUARIO: String read GetUSUARIOValue write SetUSUARIOValue;
    property USUARIOIsNull: Boolean read GetUSUARIOIsNull write SetUSUARIOIsNull;
    property RECARGO_EQUIVALENCIA: SmallInt read GetRECARGO_EQUIVALENCIAValue write SetRECARGO_EQUIVALENCIAValue;
    property RECARGO_EQUIVALENCIAIsNull: Boolean read GetRECARGO_EQUIVALENCIAIsNull write SetRECARGO_EQUIVALENCIAIsNull;
    property RE: Float read GetREValue write SetREValue;
    property REIsNull: Boolean read GetREIsNull write SetREIsNull;
    property IMPORTE_RE: Currency read GetIMPORTE_REValue write SetIMPORTE_REValue;
    property IMPORTE_REIsNull: Boolean read GetIMPORTE_REIsNull write SetIMPORTE_REIsNull;
    property ID_TIPO_IVA: Integer read GetID_TIPO_IVAValue write SetID_TIPO_IVAValue;
    property ID_TIPO_IVAIsNull: Boolean read GetID_TIPO_IVAIsNull write SetID_TIPO_IVAIsNull;
    property IVA: Float read GetIVAValue write SetIVAValue;
    property IVAIsNull: Boolean read GetIVAIsNull write SetIVAIsNull;
    property IMPORTE_IVA: Currency read GetIMPORTE_IVAValue write SetIMPORTE_IVAValue;
    property IMPORTE_IVAIsNull: Boolean read GetIMPORTE_IVAIsNull write SetIMPORTE_IVAIsNull;
    property IMPORTE_NETO: Currency read GetIMPORTE_NETOValue write SetIMPORTE_NETOValue;
    property IMPORTE_NETOIsNull: Boolean read GetIMPORTE_NETOIsNull write SetIMPORTE_NETOIsNull;
    property IMPORTE_PORTE: Currency read GetIMPORTE_PORTEValue write SetIMPORTE_PORTEValue;
    property IMPORTE_PORTEIsNull: Boolean read GetIMPORTE_PORTEIsNull write SetIMPORTE_PORTEIsNull;
    property ID_TIENDA: Integer read GetID_TIENDAValue write SetID_TIENDAValue;
    property ID_TIENDAIsNull: Boolean read GetID_TIENDAIsNull write SetID_TIENDAIsNull;
    property TIENDA: String read GetTIENDAValue write SetTIENDAValue;
    property TIENDAIsNull: Boolean read GetTIENDAIsNull write SetTIENDAIsNull;
    property BASE_IMPONIBLE: Currency read GetBASE_IMPONIBLEValue write SetBASE_IMPONIBLEValue;
    property BASE_IMPONIBLEIsNull: Boolean read GetBASE_IMPONIBLEIsNull write SetBASE_IMPONIBLEIsNull;
    property DESCUENTO: Float read GetDESCUENTOValue write SetDESCUENTOValue;
    property DESCUENTOIsNull: Boolean read GetDESCUENTOIsNull write SetDESCUENTOIsNull;
    property IMPORTE_DESCUENTO: Currency read GetIMPORTE_DESCUENTOValue write SetIMPORTE_DESCUENTOValue;
    property IMPORTE_DESCUENTOIsNull: Boolean read GetIMPORTE_DESCUENTOIsNull write SetIMPORTE_DESCUENTOIsNull;
    property IMPORTE_TOTAL: Currency read GetIMPORTE_TOTALValue write SetIMPORTE_TOTALValue;
    property IMPORTE_TOTALIsNull: Boolean read GetIMPORTE_TOTALIsNull write SetIMPORTE_TOTALIsNull;
    property ID_FORMA_PAGO: Integer read GetID_FORMA_PAGOValue write SetID_FORMA_PAGOValue;
    property ID_FORMA_PAGOIsNull: Boolean read GetID_FORMA_PAGOIsNull write SetID_FORMA_PAGOIsNull;
    property ID_VENDEDOR: Integer read GetID_VENDEDORValue write SetID_VENDEDORValue;
    property ID_VENDEDORIsNull: Boolean read GetID_VENDEDORIsNull write SetID_VENDEDORIsNull;
    property VENDEDOR: String read GetVENDEDORValue write SetVENDEDORValue;
    property VENDEDORIsNull: Boolean read GetVENDEDORIsNull write SetVENDEDORIsNull;
    property PERSONA_CONTACTO: String read GetPERSONA_CONTACTOValue write SetPERSONA_CONTACTOValue;
    property PERSONA_CONTACTOIsNull: Boolean read GetPERSONA_CONTACTOIsNull write SetPERSONA_CONTACTOIsNull;
    property TIPO_CONTRATO: String read GetTIPO_CONTRATOValue write SetTIPO_CONTRATOValue;
    property TIPO_CONTRATOIsNull: Boolean read GetTIPO_CONTRATOIsNull write SetTIPO_CONTRATOIsNull;
    property CONDICIONES: IROStrings read GetCONDICIONESValue;
    property CONDICIONESIsNull: Boolean read GetCONDICIONESIsNull write SetCONDICIONESIsNull;
    property CALIDADES: IROStrings read GetCALIDADESValue;
    property CALIDADESIsNull: Boolean read GetCALIDADESIsNull write SetCALIDADESIsNull;
    property REFERENCIA_CLIENTE: String read GetREFERENCIA_CLIENTEValue write SetREFERENCIA_CLIENTEValue;
    property REFERENCIA_CLIENTEIsNull: Boolean read GetREFERENCIA_CLIENTEIsNull write SetREFERENCIA_CLIENTEIsNull;
    property LISTA_NOMBRES: String read GetLISTA_NOMBRESValue write SetLISTA_NOMBRESValue;
    property LISTA_NOMBRESIsNull: Boolean read GetLISTA_NOMBRESIsNull write SetLISTA_NOMBRESIsNull;
    property FECHA_DECISION: DateTime read GetFECHA_DECISIONValue write SetFECHA_DECISIONValue;
    property FECHA_DECISIONIsNull: Boolean read GetFECHA_DECISIONIsNull write SetFECHA_DECISIONIsNull;
    property FACTURA_ASOCIADA: String read GetFACTURA_ASOCIADAValue write SetFACTURA_ASOCIADAValue;
    property FACTURA_ASOCIADAIsNull: Boolean read GetFACTURA_ASOCIADAIsNull write SetFACTURA_ASOCIADAIsNull;
    property FECHA_PREVISTA_MONTAJE: DateTime read GetFECHA_PREVISTA_MONTAJEValue write SetFECHA_PREVISTA_MONTAJEValue;
    property FECHA_PREVISTA_MONTAJEIsNull: Boolean read GetFECHA_PREVISTA_MONTAJEIsNull write SetFECHA_PREVISTA_MONTAJEIsNull;
    property CAMPO_LIBRE: String read GetCAMPO_LIBREValue write SetCAMPO_LIBREValue;
    property CAMPO_LIBREIsNull: Boolean read GetCAMPO_LIBREIsNull write SetCAMPO_LIBREIsNull;
    property PROCEDENCIA_CLIENTE: String read GetPROCEDENCIA_CLIENTEValue write SetPROCEDENCIA_CLIENTEValue;
    property PROCEDENCIA_CLIENTEIsNull: Boolean read GetPROCEDENCIA_CLIENTEIsNull write SetPROCEDENCIA_CLIENTEIsNull;
    property EMAIL_1: String read GetEMAIL_1Value write SetEMAIL_1Value;
    property EMAIL_1IsNull: Boolean read GetEMAIL_1IsNull write SetEMAIL_1IsNull;
    property FECHA_ULT_PRESENTACION_CLIENTE: DateTime read GetFECHA_ULT_PRESENTACION_CLIENTEValue write SetFECHA_ULT_PRESENTACION_CLIENTEValue;
    property FECHA_ULT_PRESENTACION_CLIENTEIsNull: Boolean read GetFECHA_ULT_PRESENTACION_CLIENTEIsNull write SetFECHA_ULT_PRESENTACION_CLIENTEIsNull;

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

  end;

  {
  No tocar es la lista de distintos capitulos existentes
  }
  { ITiposCapitulos }
  ITiposCapitulos = interface(IDAStronglyTypedDataTable)
  ['{B0A1870A-440A-4DA1-A1F7-BC9AD8D5F1A2}']
    { Property getters and setters }
    function GetIDValue: Integer;
    procedure SetIDValue(const aValue: Integer);
    function GetIDIsNull: Boolean;
    procedure SetIDIsNull(const aValue: Boolean);
    function GetPOSICIONValue: Integer;
    procedure SetPOSICIONValue(const aValue: Integer);
    function GetPOSICIONIsNull: Boolean;
    procedure SetPOSICIONIsNull(const aValue: Boolean);
    function GetTIPO_DETALLEValue: String;
    procedure SetTIPO_DETALLEValue(const aValue: String);
    function GetTIPO_DETALLEIsNull: Boolean;
    procedure SetTIPO_DETALLEIsNull(const aValue: Boolean);
    function GetTIPO_ARTICULOValue: String;
    procedure SetTIPO_ARTICULOValue(const aValue: String);
    function GetTIPO_ARTICULOIsNull: Boolean;
    procedure SetTIPO_ARTICULOIsNull(const aValue: Boolean);
    function GetID_ARTICULOValue: Integer;
    procedure SetID_ARTICULOValue(const aValue: Integer);
    function GetID_ARTICULOIsNull: Boolean;
    procedure SetID_ARTICULOIsNull(const aValue: Boolean);
    function GetCONCEPTOValue: String;
    procedure SetCONCEPTOValue(const aValue: String);
    function GetCONCEPTOIsNull: Boolean;
    procedure SetCONCEPTOIsNull(const aValue: Boolean);


    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property POSICION: Integer read GetPOSICIONValue write SetPOSICIONValue;
    property POSICIONIsNull: Boolean read GetPOSICIONIsNull write SetPOSICIONIsNull;
    property TIPO_DETALLE: String read GetTIPO_DETALLEValue write SetTIPO_DETALLEValue;
    property TIPO_DETALLEIsNull: Boolean read GetTIPO_DETALLEIsNull write SetTIPO_DETALLEIsNull;
    property TIPO_ARTICULO: String read GetTIPO_ARTICULOValue write SetTIPO_ARTICULOValue;
    property TIPO_ARTICULOIsNull: Boolean read GetTIPO_ARTICULOIsNull write SetTIPO_ARTICULOIsNull;
    property ID_ARTICULO: Integer read GetID_ARTICULOValue write SetID_ARTICULOValue;
    property ID_ARTICULOIsNull: Boolean read GetID_ARTICULOIsNull write SetID_ARTICULOIsNull;
    property CONCEPTO: String read GetCONCEPTOValue write SetCONCEPTOValue;
    property CONCEPTOIsNull: Boolean read GetCONCEPTOIsNull write SetCONCEPTOIsNull;
  end;

  { TTiposCapitulosDataTableRules }
  TTiposCapitulosDataTableRules = class(TIntfObjectDADataTableRules, ITiposCapitulos)
  private
  protected
    { Property getters and setters }
    function GetIDValue: Integer; virtual;
    procedure SetIDValue(const aValue: Integer); virtual;
    function GetIDIsNull: Boolean; virtual;
    procedure SetIDIsNull(const aValue: Boolean); virtual;
    function GetPOSICIONValue: Integer; virtual;
    procedure SetPOSICIONValue(const aValue: Integer); virtual;
    function GetPOSICIONIsNull: Boolean; virtual;
    procedure SetPOSICIONIsNull(const aValue: Boolean); virtual;
    function GetTIPO_DETALLEValue: String; virtual;
    procedure SetTIPO_DETALLEValue(const aValue: String); virtual;
    function GetTIPO_DETALLEIsNull: Boolean; virtual;
    procedure SetTIPO_DETALLEIsNull(const aValue: Boolean); virtual;
    function GetTIPO_ARTICULOValue: String; virtual;
    procedure SetTIPO_ARTICULOValue(const aValue: String); virtual;
    function GetTIPO_ARTICULOIsNull: Boolean; virtual;
    procedure SetTIPO_ARTICULOIsNull(const aValue: Boolean); virtual;
    function GetID_ARTICULOValue: Integer; virtual;
    procedure SetID_ARTICULOValue(const aValue: Integer); virtual;
    function GetID_ARTICULOIsNull: Boolean; virtual;
    procedure SetID_ARTICULOIsNull(const aValue: Boolean); virtual;
    function GetCONCEPTOValue: String; virtual;
    procedure SetCONCEPTOValue(const aValue: String); virtual;
    function GetCONCEPTOIsNull: Boolean; virtual;
    procedure SetCONCEPTOIsNull(const aValue: Boolean); virtual;

    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property POSICION: Integer read GetPOSICIONValue write SetPOSICIONValue;
    property POSICIONIsNull: Boolean read GetPOSICIONIsNull write SetPOSICIONIsNull;
    property TIPO_DETALLE: String read GetTIPO_DETALLEValue write SetTIPO_DETALLEValue;
    property TIPO_DETALLEIsNull: Boolean read GetTIPO_DETALLEIsNull write SetTIPO_DETALLEIsNull;
    property TIPO_ARTICULO: String read GetTIPO_ARTICULOValue write SetTIPO_ARTICULOValue;
    property TIPO_ARTICULOIsNull: Boolean read GetTIPO_ARTICULOIsNull write SetTIPO_ARTICULOIsNull;
    property ID_ARTICULO: Integer read GetID_ARTICULOValue write SetID_ARTICULOValue;
    property ID_ARTICULOIsNull: Boolean read GetID_ARTICULOIsNull write SetID_ARTICULOIsNull;
    property CONCEPTO: String read GetCONCEPTOValue write SetCONCEPTOValue;
    property CONCEPTOIsNull: Boolean read GetCONCEPTOIsNull write SetCONCEPTOIsNull;

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

  end;

  { IContratosCliente_Detalles }
  IContratosCliente_Detalles = interface(IDAStronglyTypedDataTable)
  ['{0CF18EC5-18A6-409F-B07C-417A09924B1C}']
    { Property getters and setters }
    function GetIDValue: Integer;
    procedure SetIDValue(const aValue: Integer);
    function GetIDIsNull: Boolean;
    procedure SetIDIsNull(const aValue: Boolean);
    function GetID_CONTRATOValue: Integer;
    procedure SetID_CONTRATOValue(const aValue: Integer);
    function GetID_CONTRATOIsNull: Boolean;
    procedure SetID_CONTRATOIsNull(const aValue: Boolean);
    function GetPOSICIONValue: Integer;
    procedure SetPOSICIONValue(const aValue: Integer);
    function GetPOSICIONIsNull: Boolean;
    procedure SetPOSICIONIsNull(const aValue: Boolean);
    function GetTIPO_DETALLEValue: String;
    procedure SetTIPO_DETALLEValue(const aValue: String);
    function GetTIPO_DETALLEIsNull: Boolean;
    procedure SetTIPO_DETALLEIsNull(const aValue: Boolean);
    function GetPROPIEDADValue: String;
    procedure SetPROPIEDADValue(const aValue: String);
    function GetPROPIEDADIsNull: Boolean;
    procedure SetPROPIEDADIsNull(const aValue: Boolean);
    function GetCONCEPTOValue: String;
    procedure SetCONCEPTOValue(const aValue: String);
    function GetCONCEPTOIsNull: Boolean;
    procedure SetCONCEPTOIsNull(const aValue: Boolean);
    function GetCANTIDADValue: Currency;
    procedure SetCANTIDADValue(const aValue: Currency);
    function GetCANTIDADIsNull: Boolean;
    procedure SetCANTIDADIsNull(const aValue: Boolean);
    function GetIMPORTE_UNIDADValue: Currency;
    procedure SetIMPORTE_UNIDADValue(const aValue: Currency);
    function GetIMPORTE_UNIDADIsNull: Boolean;
    procedure SetIMPORTE_UNIDADIsNull(const aValue: Boolean);
    function GetIMPORTE_TOTALValue: Currency;
    procedure SetIMPORTE_TOTALValue(const aValue: Currency);
    function GetIMPORTE_TOTALIsNull: Boolean;
    procedure SetIMPORTE_TOTALIsNull(const aValue: Boolean);
    function GetVISIBLE2Value: SmallInt;
    procedure SetVISIBLE2Value(const aValue: SmallInt);
    function GetVISIBLE2IsNull: Boolean;
    procedure SetVISIBLE2IsNull(const aValue: Boolean);
    function GetVISIBLEValue: SmallInt;
    procedure SetVISIBLEValue(const aValue: SmallInt);
    function GetVISIBLEIsNull: Boolean;
    procedure SetVISIBLEIsNull(const aValue: Boolean);
    function GetID_ARTICULOValue: Integer;
    procedure SetID_ARTICULOValue(const aValue: Integer);
    function GetID_ARTICULOIsNull: Boolean;
    procedure SetID_ARTICULOIsNull(const aValue: Boolean);
    function GetTIPO_ARTICULOValue: String;
    procedure SetTIPO_ARTICULOValue(const aValue: String);
    function GetTIPO_ARTICULOIsNull: Boolean;
    procedure SetTIPO_ARTICULOIsNull(const aValue: Boolean);
    function GetDESCUENTOValue: Float;
    procedure SetDESCUENTOValue(const aValue: Float);
    function GetDESCUENTOIsNull: Boolean;
    procedure SetDESCUENTOIsNull(const aValue: Boolean);
    function GetIMPORTE_PORTEValue: Currency;
    procedure SetIMPORTE_PORTEValue(const aValue: Currency);
    function GetIMPORTE_PORTEIsNull: Boolean;
    procedure SetIMPORTE_PORTEIsNull(const aValue: Boolean);
    function GetREFERENCIAValue: String;
    procedure SetREFERENCIAValue(const aValue: String);
    function GetREFERENCIAIsNull: Boolean;
    procedure SetREFERENCIAIsNull(const aValue: Boolean);
    function GetREFERENCIA_PROVEEDORValue: String;
    procedure SetREFERENCIA_PROVEEDORValue(const aValue: String);
    function GetREFERENCIA_PROVEEDORIsNull: Boolean;
    procedure SetREFERENCIA_PROVEEDORIsNull(const aValue: Boolean);


    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property ID_CONTRATO: Integer read GetID_CONTRATOValue write SetID_CONTRATOValue;
    property ID_CONTRATOIsNull: Boolean read GetID_CONTRATOIsNull write SetID_CONTRATOIsNull;
    property POSICION: Integer read GetPOSICIONValue write SetPOSICIONValue;
    property POSICIONIsNull: Boolean read GetPOSICIONIsNull write SetPOSICIONIsNull;
    property TIPO_DETALLE: String read GetTIPO_DETALLEValue write SetTIPO_DETALLEValue;
    property TIPO_DETALLEIsNull: Boolean read GetTIPO_DETALLEIsNull write SetTIPO_DETALLEIsNull;
    property PROPIEDAD: String read GetPROPIEDADValue write SetPROPIEDADValue;
    property PROPIEDADIsNull: Boolean read GetPROPIEDADIsNull write SetPROPIEDADIsNull;
    property CONCEPTO: String read GetCONCEPTOValue write SetCONCEPTOValue;
    property CONCEPTOIsNull: Boolean read GetCONCEPTOIsNull write SetCONCEPTOIsNull;
    property CANTIDAD: Currency read GetCANTIDADValue write SetCANTIDADValue;
    property CANTIDADIsNull: Boolean read GetCANTIDADIsNull write SetCANTIDADIsNull;
    property IMPORTE_UNIDAD: Currency read GetIMPORTE_UNIDADValue write SetIMPORTE_UNIDADValue;
    property IMPORTE_UNIDADIsNull: Boolean read GetIMPORTE_UNIDADIsNull write SetIMPORTE_UNIDADIsNull;
    property IMPORTE_TOTAL: Currency read GetIMPORTE_TOTALValue write SetIMPORTE_TOTALValue;
    property IMPORTE_TOTALIsNull: Boolean read GetIMPORTE_TOTALIsNull write SetIMPORTE_TOTALIsNull;
    property VISIBLE2: SmallInt read GetVISIBLE2Value write SetVISIBLE2Value;
    property VISIBLE2IsNull: Boolean read GetVISIBLE2IsNull write SetVISIBLE2IsNull;
    property VISIBLE: SmallInt read GetVISIBLEValue write SetVISIBLEValue;
    property VISIBLEIsNull: Boolean read GetVISIBLEIsNull write SetVISIBLEIsNull;
    property ID_ARTICULO: Integer read GetID_ARTICULOValue write SetID_ARTICULOValue;
    property ID_ARTICULOIsNull: Boolean read GetID_ARTICULOIsNull write SetID_ARTICULOIsNull;
    property TIPO_ARTICULO: String read GetTIPO_ARTICULOValue write SetTIPO_ARTICULOValue;
    property TIPO_ARTICULOIsNull: Boolean read GetTIPO_ARTICULOIsNull write SetTIPO_ARTICULOIsNull;
    property DESCUENTO: Float read GetDESCUENTOValue write SetDESCUENTOValue;
    property DESCUENTOIsNull: Boolean read GetDESCUENTOIsNull write SetDESCUENTOIsNull;
    property IMPORTE_PORTE: Currency read GetIMPORTE_PORTEValue write SetIMPORTE_PORTEValue;
    property IMPORTE_PORTEIsNull: Boolean read GetIMPORTE_PORTEIsNull write SetIMPORTE_PORTEIsNull;
    property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue;
    property REFERENCIAIsNull: Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull;
    property REFERENCIA_PROVEEDOR: String read GetREFERENCIA_PROVEEDORValue write SetREFERENCIA_PROVEEDORValue;
    property REFERENCIA_PROVEEDORIsNull: Boolean read GetREFERENCIA_PROVEEDORIsNull write SetREFERENCIA_PROVEEDORIsNull;
  end;

  { TContratosCliente_DetallesDataTableRules }
  TContratosCliente_DetallesDataTableRules = class(TIntfObjectDADataTableRules, IContratosCliente_Detalles)
  private
  protected
    { Property getters and setters }
    function GetIDValue: Integer; virtual;
    procedure SetIDValue(const aValue: Integer); virtual;
    function GetIDIsNull: Boolean; virtual;
    procedure SetIDIsNull(const aValue: Boolean); virtual;
    function GetID_CONTRATOValue: Integer; virtual;
    procedure SetID_CONTRATOValue(const aValue: Integer); virtual;
    function GetID_CONTRATOIsNull: Boolean; virtual;
    procedure SetID_CONTRATOIsNull(const aValue: Boolean); virtual;
    function GetPOSICIONValue: Integer; virtual;
    procedure SetPOSICIONValue(const aValue: Integer); virtual;
    function GetPOSICIONIsNull: Boolean; virtual;
    procedure SetPOSICIONIsNull(const aValue: Boolean); virtual;
    function GetTIPO_DETALLEValue: String; virtual;
    procedure SetTIPO_DETALLEValue(const aValue: String); virtual;
    function GetTIPO_DETALLEIsNull: Boolean; virtual;
    procedure SetTIPO_DETALLEIsNull(const aValue: Boolean); virtual;
    function GetPROPIEDADValue: String; virtual;
    procedure SetPROPIEDADValue(const aValue: String); virtual;
    function GetPROPIEDADIsNull: Boolean; virtual;
    procedure SetPROPIEDADIsNull(const aValue: Boolean); virtual;
    function GetCONCEPTOValue: String; virtual;
    procedure SetCONCEPTOValue(const aValue: String); virtual;
    function GetCONCEPTOIsNull: Boolean; virtual;
    procedure SetCONCEPTOIsNull(const aValue: Boolean); virtual;
    function GetCANTIDADValue: Currency; virtual;
    procedure SetCANTIDADValue(const aValue: Currency); virtual;
    function GetCANTIDADIsNull: Boolean; virtual;
    procedure SetCANTIDADIsNull(const aValue: Boolean); virtual;
    function GetIMPORTE_UNIDADValue: Currency; virtual;
    procedure SetIMPORTE_UNIDADValue(const aValue: Currency); virtual;
    function GetIMPORTE_UNIDADIsNull: Boolean; virtual;
    procedure SetIMPORTE_UNIDADIsNull(const aValue: Boolean); virtual;
    function GetIMPORTE_TOTALValue: Currency; virtual;
    procedure SetIMPORTE_TOTALValue(const aValue: Currency); virtual;
    function GetIMPORTE_TOTALIsNull: Boolean; virtual;
    procedure SetIMPORTE_TOTALIsNull(const aValue: Boolean); virtual;
    function GetVISIBLE2Value: SmallInt; virtual;
    procedure SetVISIBLE2Value(const aValue: SmallInt); virtual;
    function GetVISIBLE2IsNull: Boolean; virtual;
    procedure SetVISIBLE2IsNull(const aValue: Boolean); virtual;
    function GetVISIBLEValue: SmallInt; virtual;
    procedure SetVISIBLEValue(const aValue: SmallInt); virtual;
    function GetVISIBLEIsNull: Boolean; virtual;
    procedure SetVISIBLEIsNull(const aValue: Boolean); virtual;
    function GetID_ARTICULOValue: Integer; virtual;
    procedure SetID_ARTICULOValue(const aValue: Integer); virtual;
    function GetID_ARTICULOIsNull: Boolean; virtual;
    procedure SetID_ARTICULOIsNull(const aValue: Boolean); virtual;
    function GetTIPO_ARTICULOValue: String; virtual;
    procedure SetTIPO_ARTICULOValue(const aValue: String); virtual;
    function GetTIPO_ARTICULOIsNull: Boolean; virtual;
    procedure SetTIPO_ARTICULOIsNull(const aValue: Boolean); virtual;
    function GetDESCUENTOValue: Float; virtual;
    procedure SetDESCUENTOValue(const aValue: Float); virtual;
    function GetDESCUENTOIsNull: Boolean; virtual;
    procedure SetDESCUENTOIsNull(const aValue: Boolean); virtual;
    function GetIMPORTE_PORTEValue: Currency; virtual;
    procedure SetIMPORTE_PORTEValue(const aValue: Currency); virtual;
    function GetIMPORTE_PORTEIsNull: Boolean; virtual;
    procedure SetIMPORTE_PORTEIsNull(const aValue: Boolean); virtual;
    function GetREFERENCIAValue: String; virtual;
    procedure SetREFERENCIAValue(const aValue: String); virtual;
    function GetREFERENCIAIsNull: Boolean; virtual;
    procedure SetREFERENCIAIsNull(const aValue: Boolean); virtual;
    function GetREFERENCIA_PROVEEDORValue: String; virtual;
    procedure SetREFERENCIA_PROVEEDORValue(const aValue: String); virtual;
    function GetREFERENCIA_PROVEEDORIsNull: Boolean; virtual;
    procedure SetREFERENCIA_PROVEEDORIsNull(const aValue: Boolean); virtual;

    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property ID_CONTRATO: Integer read GetID_CONTRATOValue write SetID_CONTRATOValue;
    property ID_CONTRATOIsNull: Boolean read GetID_CONTRATOIsNull write SetID_CONTRATOIsNull;
    property POSICION: Integer read GetPOSICIONValue write SetPOSICIONValue;
    property POSICIONIsNull: Boolean read GetPOSICIONIsNull write SetPOSICIONIsNull;
    property TIPO_DETALLE: String read GetTIPO_DETALLEValue write SetTIPO_DETALLEValue;
    property TIPO_DETALLEIsNull: Boolean read GetTIPO_DETALLEIsNull write SetTIPO_DETALLEIsNull;
    property PROPIEDAD: String read GetPROPIEDADValue write SetPROPIEDADValue;
    property PROPIEDADIsNull: Boolean read GetPROPIEDADIsNull write SetPROPIEDADIsNull;
    property CONCEPTO: String read GetCONCEPTOValue write SetCONCEPTOValue;
    property CONCEPTOIsNull: Boolean read GetCONCEPTOIsNull write SetCONCEPTOIsNull;
    property CANTIDAD: Currency read GetCANTIDADValue write SetCANTIDADValue;
    property CANTIDADIsNull: Boolean read GetCANTIDADIsNull write SetCANTIDADIsNull;
    property IMPORTE_UNIDAD: Currency read GetIMPORTE_UNIDADValue write SetIMPORTE_UNIDADValue;
    property IMPORTE_UNIDADIsNull: Boolean read GetIMPORTE_UNIDADIsNull write SetIMPORTE_UNIDADIsNull;
    property IMPORTE_TOTAL: Currency read GetIMPORTE_TOTALValue write SetIMPORTE_TOTALValue;
    property IMPORTE_TOTALIsNull: Boolean read GetIMPORTE_TOTALIsNull write SetIMPORTE_TOTALIsNull;
    property VISIBLE2: SmallInt read GetVISIBLE2Value write SetVISIBLE2Value;
    property VISIBLE2IsNull: Boolean read GetVISIBLE2IsNull write SetVISIBLE2IsNull;
    property VISIBLE: SmallInt read GetVISIBLEValue write SetVISIBLEValue;
    property VISIBLEIsNull: Boolean read GetVISIBLEIsNull write SetVISIBLEIsNull;
    property ID_ARTICULO: Integer read GetID_ARTICULOValue write SetID_ARTICULOValue;
    property ID_ARTICULOIsNull: Boolean read GetID_ARTICULOIsNull write SetID_ARTICULOIsNull;
    property TIPO_ARTICULO: String read GetTIPO_ARTICULOValue write SetTIPO_ARTICULOValue;
    property TIPO_ARTICULOIsNull: Boolean read GetTIPO_ARTICULOIsNull write SetTIPO_ARTICULOIsNull;
    property DESCUENTO: Float read GetDESCUENTOValue write SetDESCUENTOValue;
    property DESCUENTOIsNull: Boolean read GetDESCUENTOIsNull write SetDESCUENTOIsNull;
    property IMPORTE_PORTE: Currency read GetIMPORTE_PORTEValue write SetIMPORTE_PORTEValue;
    property IMPORTE_PORTEIsNull: Boolean read GetIMPORTE_PORTEIsNull write SetIMPORTE_PORTEIsNull;
    property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue;
    property REFERENCIAIsNull: Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull;
    property REFERENCIA_PROVEEDOR: String read GetREFERENCIA_PROVEEDORValue write SetREFERENCIA_PROVEEDORValue;
    property REFERENCIA_PROVEEDORIsNull: Boolean read GetREFERENCIA_PROVEEDORIsNull write SetREFERENCIA_PROVEEDORIsNull;

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

  end;

implementation

uses Variants, uROBinaryHelpers;

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

destructor TValoresDataTableRules.Destroy;
begin
  inherited;
end;

function TValoresDataTableRules.GetIDValue: Integer;
begin
  result := DataTable.Fields[idx_ValoresID].AsInteger;
end;

procedure TValoresDataTableRules.SetIDValue(const aValue: Integer);
begin
  DataTable.Fields[idx_ValoresID].AsInteger := aValue;
end;

function TValoresDataTableRules.GetIDIsNull: boolean;
begin
  result := DataTable.Fields[idx_ValoresID].IsNull;
end;

procedure TValoresDataTableRules.SetIDIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ValoresID].AsVariant := Null;
end;

function TValoresDataTableRules.GetID_PROPIEDADValue: Integer;
begin
  result := DataTable.Fields[idx_ValoresID_PROPIEDAD].AsInteger;
end;

procedure TValoresDataTableRules.SetID_PROPIEDADValue(const aValue: Integer);
begin
  DataTable.Fields[idx_ValoresID_PROPIEDAD].AsInteger := aValue;
end;

function TValoresDataTableRules.GetID_PROPIEDADIsNull: boolean;
begin
  result := DataTable.Fields[idx_ValoresID_PROPIEDAD].IsNull;
end;

procedure TValoresDataTableRules.SetID_PROPIEDADIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ValoresID_PROPIEDAD].AsVariant := Null;
end;

function TValoresDataTableRules.GetDESCRIPCIONValue: String;
begin
  result := DataTable.Fields[idx_ValoresDESCRIPCION].AsString;
end;

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

function TValoresDataTableRules.GetDESCRIPCIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_ValoresDESCRIPCION].IsNull;
end;

procedure TValoresDataTableRules.SetDESCRIPCIONIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ValoresDESCRIPCION].AsVariant := Null;
end;


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

destructor TPropiedadesDataTableRules.Destroy;
begin
  inherited;
end;

function TPropiedadesDataTableRules.GetIDValue: Integer;
begin
  result := DataTable.Fields[idx_PropiedadesID].AsInteger;
end;

procedure TPropiedadesDataTableRules.SetIDValue(const aValue: Integer);
begin
  DataTable.Fields[idx_PropiedadesID].AsInteger := aValue;
end;

function TPropiedadesDataTableRules.GetIDIsNull: boolean;
begin
  result := DataTable.Fields[idx_PropiedadesID].IsNull;
end;

procedure TPropiedadesDataTableRules.SetIDIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_PropiedadesID].AsVariant := Null;
end;

function TPropiedadesDataTableRules.GetDESCRIPCIONValue: String;
begin
  result := DataTable.Fields[idx_PropiedadesDESCRIPCION].AsString;
end;

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

function TPropiedadesDataTableRules.GetDESCRIPCIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_PropiedadesDESCRIPCION].IsNull;
end;

procedure TPropiedadesDataTableRules.SetDESCRIPCIONIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_PropiedadesDESCRIPCION].AsVariant := Null;
end;

function TPropiedadesDataTableRules.GetID_PROPIEDAD_VALORESValue: Integer;
begin
  result := DataTable.Fields[idx_PropiedadesID_PROPIEDAD_VALORES].AsInteger;
end;

procedure TPropiedadesDataTableRules.SetID_PROPIEDAD_VALORESValue(const aValue: Integer);
begin
  DataTable.Fields[idx_PropiedadesID_PROPIEDAD_VALORES].AsInteger := aValue;
end;

function TPropiedadesDataTableRules.GetID_PROPIEDAD_VALORESIsNull: boolean;
begin
  result := DataTable.Fields[idx_PropiedadesID_PROPIEDAD_VALORES].IsNull;
end;

procedure TPropiedadesDataTableRules.SetID_PROPIEDAD_VALORESIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_PropiedadesID_PROPIEDAD_VALORES].AsVariant := Null;
end;


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

destructor TListaAnosContratosDataTableRules.Destroy;
begin
  inherited;
end;

function TListaAnosContratosDataTableRules.GetANOValue: String;
begin
  result := DataTable.Fields[idx_ListaAnosContratosANO].AsString;
end;

procedure TListaAnosContratosDataTableRules.SetANOValue(const aValue: String);
begin
  DataTable.Fields[idx_ListaAnosContratosANO].AsString := aValue;
end;

function TListaAnosContratosDataTableRules.GetANOIsNull: boolean;
begin
  result := DataTable.Fields[idx_ListaAnosContratosANO].IsNull;
end;

procedure TListaAnosContratosDataTableRules.SetANOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ListaAnosContratosANO].AsVariant := Null;
end;


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

destructor TContratosClienteBeneficiosDataTableRules.Destroy;
begin
  inherited;
end;

function TContratosClienteBeneficiosDataTableRules.GetIDValue: Integer;
begin
  result := DataTable.Fields[idx_ContratosClienteBeneficiosID].AsInteger;
end;

procedure TContratosClienteBeneficiosDataTableRules.SetIDValue(const aValue: Integer);
begin
  DataTable.Fields[idx_ContratosClienteBeneficiosID].AsInteger := aValue;
end;

function TContratosClienteBeneficiosDataTableRules.GetIDIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClienteBeneficiosID].IsNull;
end;

procedure TContratosClienteBeneficiosDataTableRules.SetIDIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClienteBeneficiosID].AsVariant := Null;
end;

function TContratosClienteBeneficiosDataTableRules.GetREFERENCIAValue: String;
begin
  result := DataTable.Fields[idx_ContratosClienteBeneficiosREFERENCIA].AsString;
end;

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

function TContratosClienteBeneficiosDataTableRules.GetREFERENCIAIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClienteBeneficiosREFERENCIA].IsNull;
end;

procedure TContratosClienteBeneficiosDataTableRules.SetREFERENCIAIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClienteBeneficiosREFERENCIA].AsVariant := Null;
end;

function TContratosClienteBeneficiosDataTableRules.GetREFERENCIA_CLIENTEValue: String;
begin
  result := DataTable.Fields[idx_ContratosClienteBeneficiosREFERENCIA_CLIENTE].AsString;
end;

procedure TContratosClienteBeneficiosDataTableRules.SetREFERENCIA_CLIENTEValue(const aValue: String);
begin
  DataTable.Fields[idx_ContratosClienteBeneficiosREFERENCIA_CLIENTE].AsString := aValue;
end;

function TContratosClienteBeneficiosDataTableRules.GetREFERENCIA_CLIENTEIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClienteBeneficiosREFERENCIA_CLIENTE].IsNull;
end;

procedure TContratosClienteBeneficiosDataTableRules.SetREFERENCIA_CLIENTEIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClienteBeneficiosREFERENCIA_CLIENTE].AsVariant := Null;
end;

function TContratosClienteBeneficiosDataTableRules.GetFECHA_CONTRATOValue: DateTime;
begin
  result := DataTable.Fields[idx_ContratosClienteBeneficiosFECHA_CONTRATO].AsDateTime;
end;

procedure TContratosClienteBeneficiosDataTableRules.SetFECHA_CONTRATOValue(const aValue: DateTime);
begin
  DataTable.Fields[idx_ContratosClienteBeneficiosFECHA_CONTRATO].AsDateTime := aValue;
end;

function TContratosClienteBeneficiosDataTableRules.GetFECHA_CONTRATOIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClienteBeneficiosFECHA_CONTRATO].IsNull;
end;

procedure TContratosClienteBeneficiosDataTableRules.SetFECHA_CONTRATOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClienteBeneficiosFECHA_CONTRATO].AsVariant := Null;
end;

function TContratosClienteBeneficiosDataTableRules.GetNOMBREValue: String;
begin
  result := DataTable.Fields[idx_ContratosClienteBeneficiosNOMBRE].AsString;
end;

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

function TContratosClienteBeneficiosDataTableRules.GetNOMBREIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClienteBeneficiosNOMBRE].IsNull;
end;

procedure TContratosClienteBeneficiosDataTableRules.SetNOMBREIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClienteBeneficiosNOMBRE].AsVariant := Null;
end;

function TContratosClienteBeneficiosDataTableRules.GetNIF_CIFValue: String;
begin
  result := DataTable.Fields[idx_ContratosClienteBeneficiosNIF_CIF].AsString;
end;

procedure TContratosClienteBeneficiosDataTableRules.SetNIF_CIFValue(const aValue: String);
begin
  DataTable.Fields[idx_ContratosClienteBeneficiosNIF_CIF].AsString := aValue;
end;

function TContratosClienteBeneficiosDataTableRules.GetNIF_CIFIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClienteBeneficiosNIF_CIF].IsNull;
end;

procedure TContratosClienteBeneficiosDataTableRules.SetNIF_CIFIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClienteBeneficiosNIF_CIF].AsVariant := Null;
end;

function TContratosClienteBeneficiosDataTableRules.GetIMPORTE_NETOValue: Currency;
begin
  result := DataTable.Fields[idx_ContratosClienteBeneficiosIMPORTE_NETO].AsCurrency;
end;

procedure TContratosClienteBeneficiosDataTableRules.SetIMPORTE_NETOValue(const aValue: Currency);
begin
  DataTable.Fields[idx_ContratosClienteBeneficiosIMPORTE_NETO].AsCurrency := aValue;
end;

function TContratosClienteBeneficiosDataTableRules.GetIMPORTE_NETOIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClienteBeneficiosIMPORTE_NETO].IsNull;
end;

procedure TContratosClienteBeneficiosDataTableRules.SetIMPORTE_NETOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClienteBeneficiosIMPORTE_NETO].AsVariant := Null;
end;

function TContratosClienteBeneficiosDataTableRules.GetIMPORTE_DESCUENTOValue: Currency;
begin
  result := DataTable.Fields[idx_ContratosClienteBeneficiosIMPORTE_DESCUENTO].AsCurrency;
end;

procedure TContratosClienteBeneficiosDataTableRules.SetIMPORTE_DESCUENTOValue(const aValue: Currency);
begin
  DataTable.Fields[idx_ContratosClienteBeneficiosIMPORTE_DESCUENTO].AsCurrency := aValue;
end;

function TContratosClienteBeneficiosDataTableRules.GetIMPORTE_DESCUENTOIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClienteBeneficiosIMPORTE_DESCUENTO].IsNull;
end;

procedure TContratosClienteBeneficiosDataTableRules.SetIMPORTE_DESCUENTOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClienteBeneficiosIMPORTE_DESCUENTO].AsVariant := Null;
end;

function TContratosClienteBeneficiosDataTableRules.GetBASE_IMPONIBLEValue: Currency;
begin
  result := DataTable.Fields[idx_ContratosClienteBeneficiosBASE_IMPONIBLE].AsCurrency;
end;

procedure TContratosClienteBeneficiosDataTableRules.SetBASE_IMPONIBLEValue(const aValue: Currency);
begin
  DataTable.Fields[idx_ContratosClienteBeneficiosBASE_IMPONIBLE].AsCurrency := aValue;
end;

function TContratosClienteBeneficiosDataTableRules.GetBASE_IMPONIBLEIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClienteBeneficiosBASE_IMPONIBLE].IsNull;
end;

procedure TContratosClienteBeneficiosDataTableRules.SetBASE_IMPONIBLEIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClienteBeneficiosBASE_IMPONIBLE].AsVariant := Null;
end;

function TContratosClienteBeneficiosDataTableRules.GetIMPORTE_FACTURAS_PROVEEDORValue: Currency;
begin
  result := DataTable.Fields[idx_ContratosClienteBeneficiosIMPORTE_FACTURAS_PROVEEDOR].AsCurrency;
end;

procedure TContratosClienteBeneficiosDataTableRules.SetIMPORTE_FACTURAS_PROVEEDORValue(const aValue: Currency);
begin
  DataTable.Fields[idx_ContratosClienteBeneficiosIMPORTE_FACTURAS_PROVEEDOR].AsCurrency := aValue;
end;

function TContratosClienteBeneficiosDataTableRules.GetIMPORTE_FACTURAS_PROVEEDORIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClienteBeneficiosIMPORTE_FACTURAS_PROVEEDOR].IsNull;
end;

procedure TContratosClienteBeneficiosDataTableRules.SetIMPORTE_FACTURAS_PROVEEDORIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClienteBeneficiosIMPORTE_FACTURAS_PROVEEDOR].AsVariant := Null;
end;

function TContratosClienteBeneficiosDataTableRules.GetIMPORTE_BENEFICIOValue: Currency;
begin
  result := DataTable.Fields[idx_ContratosClienteBeneficiosIMPORTE_BENEFICIO].AsCurrency;
end;

procedure TContratosClienteBeneficiosDataTableRules.SetIMPORTE_BENEFICIOValue(const aValue: Currency);
begin
  DataTable.Fields[idx_ContratosClienteBeneficiosIMPORTE_BENEFICIO].AsCurrency := aValue;
end;

function TContratosClienteBeneficiosDataTableRules.GetIMPORTE_BENEFICIOIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClienteBeneficiosIMPORTE_BENEFICIO].IsNull;
end;

procedure TContratosClienteBeneficiosDataTableRules.SetIMPORTE_BENEFICIOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClienteBeneficiosIMPORTE_BENEFICIO].AsVariant := Null;
end;

function TContratosClienteBeneficiosDataTableRules.GetPORCENTAJE_BENEFICIOValue: Currency;
begin
  result := DataTable.Fields[idx_ContratosClienteBeneficiosPORCENTAJE_BENEFICIO].AsCurrency;
end;

procedure TContratosClienteBeneficiosDataTableRules.SetPORCENTAJE_BENEFICIOValue(const aValue: Currency);
begin
  DataTable.Fields[idx_ContratosClienteBeneficiosPORCENTAJE_BENEFICIO].AsCurrency := aValue;
end;

function TContratosClienteBeneficiosDataTableRules.GetPORCENTAJE_BENEFICIOIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClienteBeneficiosPORCENTAJE_BENEFICIO].IsNull;
end;

procedure TContratosClienteBeneficiosDataTableRules.SetPORCENTAJE_BENEFICIOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClienteBeneficiosPORCENTAJE_BENEFICIO].AsVariant := Null;
end;

function TContratosClienteBeneficiosDataTableRules.GetSITUACIONValue: String;
begin
  result := DataTable.Fields[idx_ContratosClienteBeneficiosSITUACION].AsString;
end;

procedure TContratosClienteBeneficiosDataTableRules.SetSITUACIONValue(const aValue: String);
begin
  DataTable.Fields[idx_ContratosClienteBeneficiosSITUACION].AsString := aValue;
end;

function TContratosClienteBeneficiosDataTableRules.GetSITUACIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClienteBeneficiosSITUACION].IsNull;
end;

procedure TContratosClienteBeneficiosDataTableRules.SetSITUACIONIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClienteBeneficiosSITUACION].AsVariant := Null;
end;

function TContratosClienteBeneficiosDataTableRules.GetID_VENDEDORValue: Integer;
begin
  result := DataTable.Fields[idx_ContratosClienteBeneficiosID_VENDEDOR].AsInteger;
end;

procedure TContratosClienteBeneficiosDataTableRules.SetID_VENDEDORValue(const aValue: Integer);
begin
  DataTable.Fields[idx_ContratosClienteBeneficiosID_VENDEDOR].AsInteger := aValue;
end;

function TContratosClienteBeneficiosDataTableRules.GetID_VENDEDORIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClienteBeneficiosID_VENDEDOR].IsNull;
end;

procedure TContratosClienteBeneficiosDataTableRules.SetID_VENDEDORIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClienteBeneficiosID_VENDEDOR].AsVariant := Null;
end;

function TContratosClienteBeneficiosDataTableRules.GetVENDEDORValue: String;
begin
  result := DataTable.Fields[idx_ContratosClienteBeneficiosVENDEDOR].AsString;
end;

procedure TContratosClienteBeneficiosDataTableRules.SetVENDEDORValue(const aValue: String);
begin
  DataTable.Fields[idx_ContratosClienteBeneficiosVENDEDOR].AsString := aValue;
end;

function TContratosClienteBeneficiosDataTableRules.GetVENDEDORIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClienteBeneficiosVENDEDOR].IsNull;
end;

procedure TContratosClienteBeneficiosDataTableRules.SetVENDEDORIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClienteBeneficiosVENDEDOR].AsVariant := Null;
end;


{ TContratosClienteDataTableRules }
constructor TContratosClienteDataTableRules.Create(aDataTable: TDADataTable);
var
  StrList: TStringList;
begin
  inherited;

  StrList := TStringList.Create;
  StrList.OnChange := FORMA_PAGO_OnChange;
  f_FORMA_PAGO := NewROStrings(StrList,True);

  StrList := TStringList.Create;
  StrList.OnChange := PLAZO_ENTREGA_OnChange;
  f_PLAZO_ENTREGA := NewROStrings(StrList,True);

  StrList := TStringList.Create;
  StrList.OnChange := OBSERVACIONES_OnChange;
  f_OBSERVACIONES := NewROStrings(StrList,True);

  StrList := TStringList.Create;
  StrList.OnChange := INCIDENCIAS_OnChange;
  f_INCIDENCIAS := NewROStrings(StrList,True);

  StrList := TStringList.Create;
  StrList.OnChange := CONDICIONES_OnChange;
  f_CONDICIONES := NewROStrings(StrList,True);

  StrList := TStringList.Create;
  StrList.OnChange := CALIDADES_OnChange;
  f_CALIDADES := NewROStrings(StrList,True);
end;

destructor TContratosClienteDataTableRules.Destroy;
begin
  inherited;
end;

procedure TContratosClienteDataTableRules.FORMA_PAGO_OnChange(Sender: TObject);
begin
  if DataTable.Editing then DataTable.Fields[idx_ContratosClienteFORMA_PAGO].AsVariant := TStringList(Sender).Text;
end;

procedure TContratosClienteDataTableRules.PLAZO_ENTREGA_OnChange(Sender: TObject);
begin
  if DataTable.Editing then DataTable.Fields[idx_ContratosClientePLAZO_ENTREGA].AsVariant := TStringList(Sender).Text;
end;

procedure TContratosClienteDataTableRules.OBSERVACIONES_OnChange(Sender: TObject);
begin
  if DataTable.Editing then DataTable.Fields[idx_ContratosClienteOBSERVACIONES].AsVariant := TStringList(Sender).Text;
end;

procedure TContratosClienteDataTableRules.INCIDENCIAS_OnChange(Sender: TObject);
begin
  if DataTable.Editing then DataTable.Fields[idx_ContratosClienteINCIDENCIAS].AsVariant := TStringList(Sender).Text;
end;

procedure TContratosClienteDataTableRules.CONDICIONES_OnChange(Sender: TObject);
begin
  if DataTable.Editing then DataTable.Fields[idx_ContratosClienteCONDICIONES].AsVariant := TStringList(Sender).Text;
end;

procedure TContratosClienteDataTableRules.CALIDADES_OnChange(Sender: TObject);
begin
  if DataTable.Editing then DataTable.Fields[idx_ContratosClienteCALIDADES].AsVariant := TStringList(Sender).Text;
end;

function TContratosClienteDataTableRules.GetIDValue: Integer;
begin
  result := DataTable.Fields[idx_ContratosClienteID].AsInteger;
end;

procedure TContratosClienteDataTableRules.SetIDValue(const aValue: Integer);
begin
  DataTable.Fields[idx_ContratosClienteID].AsInteger := aValue;
end;

function TContratosClienteDataTableRules.GetIDIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClienteID].IsNull;
end;

procedure TContratosClienteDataTableRules.SetIDIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClienteID].AsVariant := Null;
end;

function TContratosClienteDataTableRules.GetID_EMPRESAValue: Integer;
begin
  result := DataTable.Fields[idx_ContratosClienteID_EMPRESA].AsInteger;
end;

procedure TContratosClienteDataTableRules.SetID_EMPRESAValue(const aValue: Integer);
begin
  DataTable.Fields[idx_ContratosClienteID_EMPRESA].AsInteger := aValue;
end;

function TContratosClienteDataTableRules.GetID_EMPRESAIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClienteID_EMPRESA].IsNull;
end;

procedure TContratosClienteDataTableRules.SetID_EMPRESAIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClienteID_EMPRESA].AsVariant := Null;
end;

function TContratosClienteDataTableRules.GetID_CLIENTEValue: Integer;
begin
  result := DataTable.Fields[idx_ContratosClienteID_CLIENTE].AsInteger;
end;

procedure TContratosClienteDataTableRules.SetID_CLIENTEValue(const aValue: Integer);
begin
  DataTable.Fields[idx_ContratosClienteID_CLIENTE].AsInteger := aValue;
end;

function TContratosClienteDataTableRules.GetID_CLIENTEIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClienteID_CLIENTE].IsNull;
end;

procedure TContratosClienteDataTableRules.SetID_CLIENTEIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClienteID_CLIENTE].AsVariant := Null;
end;

function TContratosClienteDataTableRules.GetLOPDValue: SmallInt;
begin
  result := DataTable.Fields[idx_ContratosClienteLOPD].AsSmallInt;
end;

procedure TContratosClienteDataTableRules.SetLOPDValue(const aValue: SmallInt);
begin
  DataTable.Fields[idx_ContratosClienteLOPD].AsSmallInt := aValue;
end;

function TContratosClienteDataTableRules.GetLOPDIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClienteLOPD].IsNull;
end;

procedure TContratosClienteDataTableRules.SetLOPDIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClienteLOPD].AsVariant := Null;
end;

function TContratosClienteDataTableRules.GetNOMBRE_CLIENTEValue: String;
begin
  result := DataTable.Fields[idx_ContratosClienteNOMBRE_CLIENTE].AsString;
end;

procedure TContratosClienteDataTableRules.SetNOMBRE_CLIENTEValue(const aValue: String);
begin
  DataTable.Fields[idx_ContratosClienteNOMBRE_CLIENTE].AsString := aValue;
end;

function TContratosClienteDataTableRules.GetNOMBRE_CLIENTEIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClienteNOMBRE_CLIENTE].IsNull;
end;

procedure TContratosClienteDataTableRules.SetNOMBRE_CLIENTEIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClienteNOMBRE_CLIENTE].AsVariant := Null;
end;

function TContratosClienteDataTableRules.GetREF_CLIENTEValue: String;
begin
  result := DataTable.Fields[idx_ContratosClienteREF_CLIENTE].AsString;
end;

procedure TContratosClienteDataTableRules.SetREF_CLIENTEValue(const aValue: String);
begin
  DataTable.Fields[idx_ContratosClienteREF_CLIENTE].AsString := aValue;
end;

function TContratosClienteDataTableRules.GetREF_CLIENTEIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClienteREF_CLIENTE].IsNull;
end;

procedure TContratosClienteDataTableRules.SetREF_CLIENTEIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClienteREF_CLIENTE].AsVariant := Null;
end;

function TContratosClienteDataTableRules.GetNOMBRE_COMERCIAL_CLIENTEValue: String;
begin
  result := DataTable.Fields[idx_ContratosClienteNOMBRE_COMERCIAL_CLIENTE].AsString;
end;

procedure TContratosClienteDataTableRules.SetNOMBRE_COMERCIAL_CLIENTEValue(const aValue: String);
begin
  DataTable.Fields[idx_ContratosClienteNOMBRE_COMERCIAL_CLIENTE].AsString := aValue;
end;

function TContratosClienteDataTableRules.GetNOMBRE_COMERCIAL_CLIENTEIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClienteNOMBRE_COMERCIAL_CLIENTE].IsNull;
end;

procedure TContratosClienteDataTableRules.SetNOMBRE_COMERCIAL_CLIENTEIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClienteNOMBRE_COMERCIAL_CLIENTE].AsVariant := Null;
end;

function TContratosClienteDataTableRules.GetNIF_CIFValue: String;
begin
  result := DataTable.Fields[idx_ContratosClienteNIF_CIF].AsString;
end;

procedure TContratosClienteDataTableRules.SetNIF_CIFValue(const aValue: String);
begin
  DataTable.Fields[idx_ContratosClienteNIF_CIF].AsString := aValue;
end;

function TContratosClienteDataTableRules.GetNIF_CIFIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClienteNIF_CIF].IsNull;
end;

procedure TContratosClienteDataTableRules.SetNIF_CIFIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClienteNIF_CIF].AsVariant := Null;
end;

function TContratosClienteDataTableRules.GetNOMBREValue: String;
begin
  result := DataTable.Fields[idx_ContratosClienteNOMBRE].AsString;
end;

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

function TContratosClienteDataTableRules.GetNOMBREIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClienteNOMBRE].IsNull;
end;

procedure TContratosClienteDataTableRules.SetNOMBREIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClienteNOMBRE].AsVariant := Null;
end;

function TContratosClienteDataTableRules.GetID_DIRECCIONValue: Integer;
begin
  result := DataTable.Fields[idx_ContratosClienteID_DIRECCION].AsInteger;
end;

procedure TContratosClienteDataTableRules.SetID_DIRECCIONValue(const aValue: Integer);
begin
  DataTable.Fields[idx_ContratosClienteID_DIRECCION].AsInteger := aValue;
end;

function TContratosClienteDataTableRules.GetID_DIRECCIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClienteID_DIRECCION].IsNull;
end;

procedure TContratosClienteDataTableRules.SetID_DIRECCIONIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClienteID_DIRECCION].AsVariant := Null;
end;

function TContratosClienteDataTableRules.GetCALLEValue: String;
begin
  result := DataTable.Fields[idx_ContratosClienteCALLE].AsString;
end;

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

function TContratosClienteDataTableRules.GetCALLEIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClienteCALLE].IsNull;
end;

procedure TContratosClienteDataTableRules.SetCALLEIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClienteCALLE].AsVariant := Null;
end;

function TContratosClienteDataTableRules.GetPOBLACIONValue: String;
begin
  result := DataTable.Fields[idx_ContratosClientePOBLACION].AsString;
end;

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

function TContratosClienteDataTableRules.GetPOBLACIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClientePOBLACION].IsNull;
end;

procedure TContratosClienteDataTableRules.SetPOBLACIONIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClientePOBLACION].AsVariant := Null;
end;

function TContratosClienteDataTableRules.GetPROVINCIAValue: String;
begin
  result := DataTable.Fields[idx_ContratosClientePROVINCIA].AsString;
end;

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

function TContratosClienteDataTableRules.GetPROVINCIAIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClientePROVINCIA].IsNull;
end;

procedure TContratosClienteDataTableRules.SetPROVINCIAIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClientePROVINCIA].AsVariant := Null;
end;

function TContratosClienteDataTableRules.GetCODIGO_POSTALValue: String;
begin
  result := DataTable.Fields[idx_ContratosClienteCODIGO_POSTAL].AsString;
end;

procedure TContratosClienteDataTableRules.SetCODIGO_POSTALValue(const aValue: String);
begin
  DataTable.Fields[idx_ContratosClienteCODIGO_POSTAL].AsString := aValue;
end;

function TContratosClienteDataTableRules.GetCODIGO_POSTALIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClienteCODIGO_POSTAL].IsNull;
end;

procedure TContratosClienteDataTableRules.SetCODIGO_POSTALIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClienteCODIGO_POSTAL].AsVariant := Null;
end;

function TContratosClienteDataTableRules.GetTELEFONOValue: String;
begin
  result := DataTable.Fields[idx_ContratosClienteTELEFONO].AsString;
end;

procedure TContratosClienteDataTableRules.SetTELEFONOValue(const aValue: String);
begin
  DataTable.Fields[idx_ContratosClienteTELEFONO].AsString := aValue;
end;

function TContratosClienteDataTableRules.GetTELEFONOIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClienteTELEFONO].IsNull;
end;

procedure TContratosClienteDataTableRules.SetTELEFONOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClienteTELEFONO].AsVariant := Null;
end;

function TContratosClienteDataTableRules.GetMOVILValue: String;
begin
  result := DataTable.Fields[idx_ContratosClienteMOVIL].AsString;
end;

procedure TContratosClienteDataTableRules.SetMOVILValue(const aValue: String);
begin
  DataTable.Fields[idx_ContratosClienteMOVIL].AsString := aValue;
end;

function TContratosClienteDataTableRules.GetMOVILIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClienteMOVIL].IsNull;
end;

procedure TContratosClienteDataTableRules.SetMOVILIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClienteMOVIL].AsVariant := Null;
end;

function TContratosClienteDataTableRules.GetREFERENCIAValue: String;
begin
  result := DataTable.Fields[idx_ContratosClienteREFERENCIA].AsString;
end;

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

function TContratosClienteDataTableRules.GetREFERENCIAIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClienteREFERENCIA].IsNull;
end;

procedure TContratosClienteDataTableRules.SetREFERENCIAIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClienteREFERENCIA].AsVariant := Null;
end;

function TContratosClienteDataTableRules.GetFECHA_CONTRATOValue: DateTime;
begin
  result := DataTable.Fields[idx_ContratosClienteFECHA_CONTRATO].AsDateTime;
end;

procedure TContratosClienteDataTableRules.SetFECHA_CONTRATOValue(const aValue: DateTime);
begin
  DataTable.Fields[idx_ContratosClienteFECHA_CONTRATO].AsDateTime := aValue;
end;

function TContratosClienteDataTableRules.GetFECHA_CONTRATOIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClienteFECHA_CONTRATO].IsNull;
end;

procedure TContratosClienteDataTableRules.SetFECHA_CONTRATOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClienteFECHA_CONTRATO].AsVariant := Null;
end;

function TContratosClienteDataTableRules.GetSITUACIONValue: String;
begin
  result := DataTable.Fields[idx_ContratosClienteSITUACION].AsString;
end;

procedure TContratosClienteDataTableRules.SetSITUACIONValue(const aValue: String);
begin
  DataTable.Fields[idx_ContratosClienteSITUACION].AsString := aValue;
end;

function TContratosClienteDataTableRules.GetSITUACIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClienteSITUACION].IsNull;
end;

procedure TContratosClienteDataTableRules.SetSITUACIONIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClienteSITUACION].AsVariant := Null;
end;

function TContratosClienteDataTableRules.GetFORMA_PAGOValue: IROStrings;
begin
  result := f_FORMA_PAGO;
  result.Text := DataTable.Fields[idx_ContratosClienteFORMA_PAGO].AsString;
end;

function TContratosClienteDataTableRules.GetFORMA_PAGOIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClienteFORMA_PAGO].IsNull;
end;

procedure TContratosClienteDataTableRules.SetFORMA_PAGOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClienteFORMA_PAGO].AsVariant := Null;
end;

function TContratosClienteDataTableRules.GetPLAZO_ENTREGAValue: IROStrings;
begin
  result := f_PLAZO_ENTREGA;
  result.Text := DataTable.Fields[idx_ContratosClientePLAZO_ENTREGA].AsString;
end;

function TContratosClienteDataTableRules.GetPLAZO_ENTREGAIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClientePLAZO_ENTREGA].IsNull;
end;

procedure TContratosClienteDataTableRules.SetPLAZO_ENTREGAIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClientePLAZO_ENTREGA].AsVariant := Null;
end;

function TContratosClienteDataTableRules.GetOBSERVACIONESValue: IROStrings;
begin
  result := f_OBSERVACIONES;
  result.Text := DataTable.Fields[idx_ContratosClienteOBSERVACIONES].AsString;
end;

function TContratosClienteDataTableRules.GetOBSERVACIONESIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClienteOBSERVACIONES].IsNull;
end;

procedure TContratosClienteDataTableRules.SetOBSERVACIONESIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClienteOBSERVACIONES].AsVariant := Null;
end;

function TContratosClienteDataTableRules.GetINCIDENCIASValue: IROStrings;
begin
  result := f_INCIDENCIAS;
  result.Text := DataTable.Fields[idx_ContratosClienteINCIDENCIAS].AsString;
end;

function TContratosClienteDataTableRules.GetINCIDENCIASIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClienteINCIDENCIAS].IsNull;
end;

procedure TContratosClienteDataTableRules.SetINCIDENCIASIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClienteINCIDENCIAS].AsVariant := Null;
end;

function TContratosClienteDataTableRules.GetINCIDENCIAS_ACTIVASValue: Integer;
begin
  result := DataTable.Fields[idx_ContratosClienteINCIDENCIAS_ACTIVAS].AsInteger;
end;

procedure TContratosClienteDataTableRules.SetINCIDENCIAS_ACTIVASValue(const aValue: Integer);
begin
  DataTable.Fields[idx_ContratosClienteINCIDENCIAS_ACTIVAS].AsInteger := aValue;
end;

function TContratosClienteDataTableRules.GetINCIDENCIAS_ACTIVASIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClienteINCIDENCIAS_ACTIVAS].IsNull;
end;

procedure TContratosClienteDataTableRules.SetINCIDENCIAS_ACTIVASIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClienteINCIDENCIAS_ACTIVAS].AsVariant := Null;
end;

function TContratosClienteDataTableRules.GetFECHA_ALTAValue: DateTime;
begin
  result := DataTable.Fields[idx_ContratosClienteFECHA_ALTA].AsDateTime;
end;

procedure TContratosClienteDataTableRules.SetFECHA_ALTAValue(const aValue: DateTime);
begin
  DataTable.Fields[idx_ContratosClienteFECHA_ALTA].AsDateTime := aValue;
end;

function TContratosClienteDataTableRules.GetFECHA_ALTAIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClienteFECHA_ALTA].IsNull;
end;

procedure TContratosClienteDataTableRules.SetFECHA_ALTAIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClienteFECHA_ALTA].AsVariant := Null;
end;

function TContratosClienteDataTableRules.GetFECHA_MODIFICACIONValue: DateTime;
begin
  result := DataTable.Fields[idx_ContratosClienteFECHA_MODIFICACION].AsDateTime;
end;

procedure TContratosClienteDataTableRules.SetFECHA_MODIFICACIONValue(const aValue: DateTime);
begin
  DataTable.Fields[idx_ContratosClienteFECHA_MODIFICACION].AsDateTime := aValue;
end;

function TContratosClienteDataTableRules.GetFECHA_MODIFICACIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClienteFECHA_MODIFICACION].IsNull;
end;

procedure TContratosClienteDataTableRules.SetFECHA_MODIFICACIONIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClienteFECHA_MODIFICACION].AsVariant := Null;
end;

function TContratosClienteDataTableRules.GetUSUARIOValue: String;
begin
  result := DataTable.Fields[idx_ContratosClienteUSUARIO].AsString;
end;

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

function TContratosClienteDataTableRules.GetUSUARIOIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClienteUSUARIO].IsNull;
end;

procedure TContratosClienteDataTableRules.SetUSUARIOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClienteUSUARIO].AsVariant := Null;
end;

function TContratosClienteDataTableRules.GetRECARGO_EQUIVALENCIAValue: SmallInt;
begin
  result := DataTable.Fields[idx_ContratosClienteRECARGO_EQUIVALENCIA].AsSmallInt;
end;

procedure TContratosClienteDataTableRules.SetRECARGO_EQUIVALENCIAValue(const aValue: SmallInt);
begin
  DataTable.Fields[idx_ContratosClienteRECARGO_EQUIVALENCIA].AsSmallInt := aValue;
end;

function TContratosClienteDataTableRules.GetRECARGO_EQUIVALENCIAIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClienteRECARGO_EQUIVALENCIA].IsNull;
end;

procedure TContratosClienteDataTableRules.SetRECARGO_EQUIVALENCIAIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClienteRECARGO_EQUIVALENCIA].AsVariant := Null;
end;

function TContratosClienteDataTableRules.GetREValue: Float;
begin
  result := DataTable.Fields[idx_ContratosClienteRE].AsFloat;
end;

procedure TContratosClienteDataTableRules.SetREValue(const aValue: Float);
begin
  DataTable.Fields[idx_ContratosClienteRE].AsFloat := aValue;
end;

function TContratosClienteDataTableRules.GetREIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClienteRE].IsNull;
end;

procedure TContratosClienteDataTableRules.SetREIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClienteRE].AsVariant := Null;
end;

function TContratosClienteDataTableRules.GetIMPORTE_REValue: Currency;
begin
  result := DataTable.Fields[idx_ContratosClienteIMPORTE_RE].AsCurrency;
end;

procedure TContratosClienteDataTableRules.SetIMPORTE_REValue(const aValue: Currency);
begin
  DataTable.Fields[idx_ContratosClienteIMPORTE_RE].AsCurrency := aValue;
end;

function TContratosClienteDataTableRules.GetIMPORTE_REIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClienteIMPORTE_RE].IsNull;
end;

procedure TContratosClienteDataTableRules.SetIMPORTE_REIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClienteIMPORTE_RE].AsVariant := Null;
end;

function TContratosClienteDataTableRules.GetID_TIPO_IVAValue: Integer;
begin
  result := DataTable.Fields[idx_ContratosClienteID_TIPO_IVA].AsInteger;
end;

procedure TContratosClienteDataTableRules.SetID_TIPO_IVAValue(const aValue: Integer);
begin
  DataTable.Fields[idx_ContratosClienteID_TIPO_IVA].AsInteger := aValue;
end;

function TContratosClienteDataTableRules.GetID_TIPO_IVAIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClienteID_TIPO_IVA].IsNull;
end;

procedure TContratosClienteDataTableRules.SetID_TIPO_IVAIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClienteID_TIPO_IVA].AsVariant := Null;
end;

function TContratosClienteDataTableRules.GetIVAValue: Float;
begin
  result := DataTable.Fields[idx_ContratosClienteIVA].AsFloat;
end;

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

function TContratosClienteDataTableRules.GetIVAIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClienteIVA].IsNull;
end;

procedure TContratosClienteDataTableRules.SetIVAIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClienteIVA].AsVariant := Null;
end;

function TContratosClienteDataTableRules.GetIMPORTE_IVAValue: Currency;
begin
  result := DataTable.Fields[idx_ContratosClienteIMPORTE_IVA].AsCurrency;
end;

procedure TContratosClienteDataTableRules.SetIMPORTE_IVAValue(const aValue: Currency);
begin
  DataTable.Fields[idx_ContratosClienteIMPORTE_IVA].AsCurrency := aValue;
end;

function TContratosClienteDataTableRules.GetIMPORTE_IVAIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClienteIMPORTE_IVA].IsNull;
end;

procedure TContratosClienteDataTableRules.SetIMPORTE_IVAIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClienteIMPORTE_IVA].AsVariant := Null;
end;

function TContratosClienteDataTableRules.GetIMPORTE_NETOValue: Currency;
begin
  result := DataTable.Fields[idx_ContratosClienteIMPORTE_NETO].AsCurrency;
end;

procedure TContratosClienteDataTableRules.SetIMPORTE_NETOValue(const aValue: Currency);
begin
  DataTable.Fields[idx_ContratosClienteIMPORTE_NETO].AsCurrency := aValue;
end;

function TContratosClienteDataTableRules.GetIMPORTE_NETOIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClienteIMPORTE_NETO].IsNull;
end;

procedure TContratosClienteDataTableRules.SetIMPORTE_NETOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClienteIMPORTE_NETO].AsVariant := Null;
end;

function TContratosClienteDataTableRules.GetIMPORTE_PORTEValue: Currency;
begin
  result := DataTable.Fields[idx_ContratosClienteIMPORTE_PORTE].AsCurrency;
end;

procedure TContratosClienteDataTableRules.SetIMPORTE_PORTEValue(const aValue: Currency);
begin
  DataTable.Fields[idx_ContratosClienteIMPORTE_PORTE].AsCurrency := aValue;
end;

function TContratosClienteDataTableRules.GetIMPORTE_PORTEIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClienteIMPORTE_PORTE].IsNull;
end;

procedure TContratosClienteDataTableRules.SetIMPORTE_PORTEIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClienteIMPORTE_PORTE].AsVariant := Null;
end;

function TContratosClienteDataTableRules.GetID_TIENDAValue: Integer;
begin
  result := DataTable.Fields[idx_ContratosClienteID_TIENDA].AsInteger;
end;

procedure TContratosClienteDataTableRules.SetID_TIENDAValue(const aValue: Integer);
begin
  DataTable.Fields[idx_ContratosClienteID_TIENDA].AsInteger := aValue;
end;

function TContratosClienteDataTableRules.GetID_TIENDAIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClienteID_TIENDA].IsNull;
end;

procedure TContratosClienteDataTableRules.SetID_TIENDAIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClienteID_TIENDA].AsVariant := Null;
end;

function TContratosClienteDataTableRules.GetTIENDAValue: String;
begin
  result := DataTable.Fields[idx_ContratosClienteTIENDA].AsString;
end;

procedure TContratosClienteDataTableRules.SetTIENDAValue(const aValue: String);
begin
  DataTable.Fields[idx_ContratosClienteTIENDA].AsString := aValue;
end;

function TContratosClienteDataTableRules.GetTIENDAIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClienteTIENDA].IsNull;
end;

procedure TContratosClienteDataTableRules.SetTIENDAIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClienteTIENDA].AsVariant := Null;
end;

function TContratosClienteDataTableRules.GetBASE_IMPONIBLEValue: Currency;
begin
  result := DataTable.Fields[idx_ContratosClienteBASE_IMPONIBLE].AsCurrency;
end;

procedure TContratosClienteDataTableRules.SetBASE_IMPONIBLEValue(const aValue: Currency);
begin
  DataTable.Fields[idx_ContratosClienteBASE_IMPONIBLE].AsCurrency := aValue;
end;

function TContratosClienteDataTableRules.GetBASE_IMPONIBLEIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClienteBASE_IMPONIBLE].IsNull;
end;

procedure TContratosClienteDataTableRules.SetBASE_IMPONIBLEIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClienteBASE_IMPONIBLE].AsVariant := Null;
end;

function TContratosClienteDataTableRules.GetDESCUENTOValue: Float;
begin
  result := DataTable.Fields[idx_ContratosClienteDESCUENTO].AsFloat;
end;

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

function TContratosClienteDataTableRules.GetDESCUENTOIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClienteDESCUENTO].IsNull;
end;

procedure TContratosClienteDataTableRules.SetDESCUENTOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClienteDESCUENTO].AsVariant := Null;
end;

function TContratosClienteDataTableRules.GetIMPORTE_DESCUENTOValue: Currency;
begin
  result := DataTable.Fields[idx_ContratosClienteIMPORTE_DESCUENTO].AsCurrency;
end;

procedure TContratosClienteDataTableRules.SetIMPORTE_DESCUENTOValue(const aValue: Currency);
begin
  DataTable.Fields[idx_ContratosClienteIMPORTE_DESCUENTO].AsCurrency := aValue;
end;

function TContratosClienteDataTableRules.GetIMPORTE_DESCUENTOIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClienteIMPORTE_DESCUENTO].IsNull;
end;

procedure TContratosClienteDataTableRules.SetIMPORTE_DESCUENTOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClienteIMPORTE_DESCUENTO].AsVariant := Null;
end;

function TContratosClienteDataTableRules.GetIMPORTE_TOTALValue: Currency;
begin
  result := DataTable.Fields[idx_ContratosClienteIMPORTE_TOTAL].AsCurrency;
end;

procedure TContratosClienteDataTableRules.SetIMPORTE_TOTALValue(const aValue: Currency);
begin
  DataTable.Fields[idx_ContratosClienteIMPORTE_TOTAL].AsCurrency := aValue;
end;

function TContratosClienteDataTableRules.GetIMPORTE_TOTALIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClienteIMPORTE_TOTAL].IsNull;
end;

procedure TContratosClienteDataTableRules.SetIMPORTE_TOTALIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClienteIMPORTE_TOTAL].AsVariant := Null;
end;

function TContratosClienteDataTableRules.GetID_FORMA_PAGOValue: Integer;
begin
  result := DataTable.Fields[idx_ContratosClienteID_FORMA_PAGO].AsInteger;
end;

procedure TContratosClienteDataTableRules.SetID_FORMA_PAGOValue(const aValue: Integer);
begin
  DataTable.Fields[idx_ContratosClienteID_FORMA_PAGO].AsInteger := aValue;
end;

function TContratosClienteDataTableRules.GetID_FORMA_PAGOIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClienteID_FORMA_PAGO].IsNull;
end;

procedure TContratosClienteDataTableRules.SetID_FORMA_PAGOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClienteID_FORMA_PAGO].AsVariant := Null;
end;

function TContratosClienteDataTableRules.GetID_VENDEDORValue: Integer;
begin
  result := DataTable.Fields[idx_ContratosClienteID_VENDEDOR].AsInteger;
end;

procedure TContratosClienteDataTableRules.SetID_VENDEDORValue(const aValue: Integer);
begin
  DataTable.Fields[idx_ContratosClienteID_VENDEDOR].AsInteger := aValue;
end;

function TContratosClienteDataTableRules.GetID_VENDEDORIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClienteID_VENDEDOR].IsNull;
end;

procedure TContratosClienteDataTableRules.SetID_VENDEDORIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClienteID_VENDEDOR].AsVariant := Null;
end;

function TContratosClienteDataTableRules.GetVENDEDORValue: String;
begin
  result := DataTable.Fields[idx_ContratosClienteVENDEDOR].AsString;
end;

procedure TContratosClienteDataTableRules.SetVENDEDORValue(const aValue: String);
begin
  DataTable.Fields[idx_ContratosClienteVENDEDOR].AsString := aValue;
end;

function TContratosClienteDataTableRules.GetVENDEDORIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClienteVENDEDOR].IsNull;
end;

procedure TContratosClienteDataTableRules.SetVENDEDORIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClienteVENDEDOR].AsVariant := Null;
end;

function TContratosClienteDataTableRules.GetPERSONA_CONTACTOValue: String;
begin
  result := DataTable.Fields[idx_ContratosClientePERSONA_CONTACTO].AsString;
end;

procedure TContratosClienteDataTableRules.SetPERSONA_CONTACTOValue(const aValue: String);
begin
  DataTable.Fields[idx_ContratosClientePERSONA_CONTACTO].AsString := aValue;
end;

function TContratosClienteDataTableRules.GetPERSONA_CONTACTOIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClientePERSONA_CONTACTO].IsNull;
end;

procedure TContratosClienteDataTableRules.SetPERSONA_CONTACTOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClientePERSONA_CONTACTO].AsVariant := Null;
end;

function TContratosClienteDataTableRules.GetTIPO_CONTRATOValue: String;
begin
  result := DataTable.Fields[idx_ContratosClienteTIPO_CONTRATO].AsString;
end;

procedure TContratosClienteDataTableRules.SetTIPO_CONTRATOValue(const aValue: String);
begin
  DataTable.Fields[idx_ContratosClienteTIPO_CONTRATO].AsString := aValue;
end;

function TContratosClienteDataTableRules.GetTIPO_CONTRATOIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClienteTIPO_CONTRATO].IsNull;
end;

procedure TContratosClienteDataTableRules.SetTIPO_CONTRATOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClienteTIPO_CONTRATO].AsVariant := Null;
end;

function TContratosClienteDataTableRules.GetCONDICIONESValue: IROStrings;
begin
  result := f_CONDICIONES;
  result.Text := DataTable.Fields[idx_ContratosClienteCONDICIONES].AsString;
end;

function TContratosClienteDataTableRules.GetCONDICIONESIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClienteCONDICIONES].IsNull;
end;

procedure TContratosClienteDataTableRules.SetCONDICIONESIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClienteCONDICIONES].AsVariant := Null;
end;

function TContratosClienteDataTableRules.GetCALIDADESValue: IROStrings;
begin
  result := f_CALIDADES;
  result.Text := DataTable.Fields[idx_ContratosClienteCALIDADES].AsString;
end;

function TContratosClienteDataTableRules.GetCALIDADESIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClienteCALIDADES].IsNull;
end;

procedure TContratosClienteDataTableRules.SetCALIDADESIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClienteCALIDADES].AsVariant := Null;
end;

function TContratosClienteDataTableRules.GetREFERENCIA_CLIENTEValue: String;
begin
  result := DataTable.Fields[idx_ContratosClienteREFERENCIA_CLIENTE].AsString;
end;

procedure TContratosClienteDataTableRules.SetREFERENCIA_CLIENTEValue(const aValue: String);
begin
  DataTable.Fields[idx_ContratosClienteREFERENCIA_CLIENTE].AsString := aValue;
end;

function TContratosClienteDataTableRules.GetREFERENCIA_CLIENTEIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClienteREFERENCIA_CLIENTE].IsNull;
end;

procedure TContratosClienteDataTableRules.SetREFERENCIA_CLIENTEIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClienteREFERENCIA_CLIENTE].AsVariant := Null;
end;

function TContratosClienteDataTableRules.GetLISTA_NOMBRESValue: String;
begin
  result := DataTable.Fields[idx_ContratosClienteLISTA_NOMBRES].AsString;
end;

procedure TContratosClienteDataTableRules.SetLISTA_NOMBRESValue(const aValue: String);
begin
  DataTable.Fields[idx_ContratosClienteLISTA_NOMBRES].AsString := aValue;
end;

function TContratosClienteDataTableRules.GetLISTA_NOMBRESIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClienteLISTA_NOMBRES].IsNull;
end;

procedure TContratosClienteDataTableRules.SetLISTA_NOMBRESIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClienteLISTA_NOMBRES].AsVariant := Null;
end;

function TContratosClienteDataTableRules.GetFECHA_DECISIONValue: DateTime;
begin
  result := DataTable.Fields[idx_ContratosClienteFECHA_DECISION].AsDateTime;
end;

procedure TContratosClienteDataTableRules.SetFECHA_DECISIONValue(const aValue: DateTime);
begin
  DataTable.Fields[idx_ContratosClienteFECHA_DECISION].AsDateTime := aValue;
end;

function TContratosClienteDataTableRules.GetFECHA_DECISIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClienteFECHA_DECISION].IsNull;
end;

procedure TContratosClienteDataTableRules.SetFECHA_DECISIONIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClienteFECHA_DECISION].AsVariant := Null;
end;

function TContratosClienteDataTableRules.GetFACTURA_ASOCIADAValue: String;
begin
  result := DataTable.Fields[idx_ContratosClienteFACTURA_ASOCIADA].AsString;
end;

procedure TContratosClienteDataTableRules.SetFACTURA_ASOCIADAValue(const aValue: String);
begin
  DataTable.Fields[idx_ContratosClienteFACTURA_ASOCIADA].AsString := aValue;
end;

function TContratosClienteDataTableRules.GetFACTURA_ASOCIADAIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClienteFACTURA_ASOCIADA].IsNull;
end;

procedure TContratosClienteDataTableRules.SetFACTURA_ASOCIADAIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClienteFACTURA_ASOCIADA].AsVariant := Null;
end;

function TContratosClienteDataTableRules.GetFECHA_PREVISTA_MONTAJEValue: DateTime;
begin
  result := DataTable.Fields[idx_ContratosClienteFECHA_PREVISTA_MONTAJE].AsDateTime;
end;

procedure TContratosClienteDataTableRules.SetFECHA_PREVISTA_MONTAJEValue(const aValue: DateTime);
begin
  DataTable.Fields[idx_ContratosClienteFECHA_PREVISTA_MONTAJE].AsDateTime := aValue;
end;

function TContratosClienteDataTableRules.GetFECHA_PREVISTA_MONTAJEIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClienteFECHA_PREVISTA_MONTAJE].IsNull;
end;

procedure TContratosClienteDataTableRules.SetFECHA_PREVISTA_MONTAJEIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClienteFECHA_PREVISTA_MONTAJE].AsVariant := Null;
end;

function TContratosClienteDataTableRules.GetCAMPO_LIBREValue: String;
begin
  result := DataTable.Fields[idx_ContratosClienteCAMPO_LIBRE].AsString;
end;

procedure TContratosClienteDataTableRules.SetCAMPO_LIBREValue(const aValue: String);
begin
  DataTable.Fields[idx_ContratosClienteCAMPO_LIBRE].AsString := aValue;
end;

function TContratosClienteDataTableRules.GetCAMPO_LIBREIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClienteCAMPO_LIBRE].IsNull;
end;

procedure TContratosClienteDataTableRules.SetCAMPO_LIBREIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClienteCAMPO_LIBRE].AsVariant := Null;
end;

function TContratosClienteDataTableRules.GetPROCEDENCIA_CLIENTEValue: String;
begin
  result := DataTable.Fields[idx_ContratosClientePROCEDENCIA_CLIENTE].AsString;
end;

procedure TContratosClienteDataTableRules.SetPROCEDENCIA_CLIENTEValue(const aValue: String);
begin
  DataTable.Fields[idx_ContratosClientePROCEDENCIA_CLIENTE].AsString := aValue;
end;

function TContratosClienteDataTableRules.GetPROCEDENCIA_CLIENTEIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClientePROCEDENCIA_CLIENTE].IsNull;
end;

procedure TContratosClienteDataTableRules.SetPROCEDENCIA_CLIENTEIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClientePROCEDENCIA_CLIENTE].AsVariant := Null;
end;

function TContratosClienteDataTableRules.GetEMAIL_1Value: String;
begin
  result := DataTable.Fields[idx_ContratosClienteEMAIL_1].AsString;
end;

procedure TContratosClienteDataTableRules.SetEMAIL_1Value(const aValue: String);
begin
  DataTable.Fields[idx_ContratosClienteEMAIL_1].AsString := aValue;
end;

function TContratosClienteDataTableRules.GetEMAIL_1IsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClienteEMAIL_1].IsNull;
end;

procedure TContratosClienteDataTableRules.SetEMAIL_1IsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClienteEMAIL_1].AsVariant := Null;
end;

function TContratosClienteDataTableRules.GetFECHA_ULT_PRESENTACION_CLIENTEValue: DateTime;
begin
  result := DataTable.Fields[idx_ContratosClienteFECHA_ULT_PRESENTACION_CLIENTE].AsDateTime;
end;

procedure TContratosClienteDataTableRules.SetFECHA_ULT_PRESENTACION_CLIENTEValue(const aValue: DateTime);
begin
  DataTable.Fields[idx_ContratosClienteFECHA_ULT_PRESENTACION_CLIENTE].AsDateTime := aValue;
end;

function TContratosClienteDataTableRules.GetFECHA_ULT_PRESENTACION_CLIENTEIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosClienteFECHA_ULT_PRESENTACION_CLIENTE].IsNull;
end;

procedure TContratosClienteDataTableRules.SetFECHA_ULT_PRESENTACION_CLIENTEIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosClienteFECHA_ULT_PRESENTACION_CLIENTE].AsVariant := Null;
end;


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

destructor TTiposCapitulosDataTableRules.Destroy;
begin
  inherited;
end;

function TTiposCapitulosDataTableRules.GetIDValue: Integer;
begin
  result := DataTable.Fields[idx_TiposCapitulosID].AsInteger;
end;

procedure TTiposCapitulosDataTableRules.SetIDValue(const aValue: Integer);
begin
  DataTable.Fields[idx_TiposCapitulosID].AsInteger := aValue;
end;

function TTiposCapitulosDataTableRules.GetIDIsNull: boolean;
begin
  result := DataTable.Fields[idx_TiposCapitulosID].IsNull;
end;

procedure TTiposCapitulosDataTableRules.SetIDIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_TiposCapitulosID].AsVariant := Null;
end;

function TTiposCapitulosDataTableRules.GetPOSICIONValue: Integer;
begin
  result := DataTable.Fields[idx_TiposCapitulosPOSICION].AsInteger;
end;

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

function TTiposCapitulosDataTableRules.GetPOSICIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_TiposCapitulosPOSICION].IsNull;
end;

procedure TTiposCapitulosDataTableRules.SetPOSICIONIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_TiposCapitulosPOSICION].AsVariant := Null;
end;

function TTiposCapitulosDataTableRules.GetTIPO_DETALLEValue: String;
begin
  result := DataTable.Fields[idx_TiposCapitulosTIPO_DETALLE].AsString;
end;

procedure TTiposCapitulosDataTableRules.SetTIPO_DETALLEValue(const aValue: String);
begin
  DataTable.Fields[idx_TiposCapitulosTIPO_DETALLE].AsString := aValue;
end;

function TTiposCapitulosDataTableRules.GetTIPO_DETALLEIsNull: boolean;
begin
  result := DataTable.Fields[idx_TiposCapitulosTIPO_DETALLE].IsNull;
end;

procedure TTiposCapitulosDataTableRules.SetTIPO_DETALLEIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_TiposCapitulosTIPO_DETALLE].AsVariant := Null;
end;

function TTiposCapitulosDataTableRules.GetTIPO_ARTICULOValue: String;
begin
  result := DataTable.Fields[idx_TiposCapitulosTIPO_ARTICULO].AsString;
end;

procedure TTiposCapitulosDataTableRules.SetTIPO_ARTICULOValue(const aValue: String);
begin
  DataTable.Fields[idx_TiposCapitulosTIPO_ARTICULO].AsString := aValue;
end;

function TTiposCapitulosDataTableRules.GetTIPO_ARTICULOIsNull: boolean;
begin
  result := DataTable.Fields[idx_TiposCapitulosTIPO_ARTICULO].IsNull;
end;

procedure TTiposCapitulosDataTableRules.SetTIPO_ARTICULOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_TiposCapitulosTIPO_ARTICULO].AsVariant := Null;
end;

function TTiposCapitulosDataTableRules.GetID_ARTICULOValue: Integer;
begin
  result := DataTable.Fields[idx_TiposCapitulosID_ARTICULO].AsInteger;
end;

procedure TTiposCapitulosDataTableRules.SetID_ARTICULOValue(const aValue: Integer);
begin
  DataTable.Fields[idx_TiposCapitulosID_ARTICULO].AsInteger := aValue;
end;

function TTiposCapitulosDataTableRules.GetID_ARTICULOIsNull: boolean;
begin
  result := DataTable.Fields[idx_TiposCapitulosID_ARTICULO].IsNull;
end;

procedure TTiposCapitulosDataTableRules.SetID_ARTICULOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_TiposCapitulosID_ARTICULO].AsVariant := Null;
end;

function TTiposCapitulosDataTableRules.GetCONCEPTOValue: String;
begin
  result := DataTable.Fields[idx_TiposCapitulosCONCEPTO].AsString;
end;

procedure TTiposCapitulosDataTableRules.SetCONCEPTOValue(const aValue: String);
begin
  DataTable.Fields[idx_TiposCapitulosCONCEPTO].AsString := aValue;
end;

function TTiposCapitulosDataTableRules.GetCONCEPTOIsNull: boolean;
begin
  result := DataTable.Fields[idx_TiposCapitulosCONCEPTO].IsNull;
end;

procedure TTiposCapitulosDataTableRules.SetCONCEPTOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_TiposCapitulosCONCEPTO].AsVariant := Null;
end;


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

destructor TContratosCliente_DetallesDataTableRules.Destroy;
begin
  inherited;
end;

function TContratosCliente_DetallesDataTableRules.GetIDValue: Integer;
begin
  result := DataTable.Fields[idx_ContratosCliente_DetallesID].AsInteger;
end;

procedure TContratosCliente_DetallesDataTableRules.SetIDValue(const aValue: Integer);
begin
  DataTable.Fields[idx_ContratosCliente_DetallesID].AsInteger := aValue;
end;

function TContratosCliente_DetallesDataTableRules.GetIDIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosCliente_DetallesID].IsNull;
end;

procedure TContratosCliente_DetallesDataTableRules.SetIDIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosCliente_DetallesID].AsVariant := Null;
end;

function TContratosCliente_DetallesDataTableRules.GetID_CONTRATOValue: Integer;
begin
  result := DataTable.Fields[idx_ContratosCliente_DetallesID_CONTRATO].AsInteger;
end;

procedure TContratosCliente_DetallesDataTableRules.SetID_CONTRATOValue(const aValue: Integer);
begin
  DataTable.Fields[idx_ContratosCliente_DetallesID_CONTRATO].AsInteger := aValue;
end;

function TContratosCliente_DetallesDataTableRules.GetID_CONTRATOIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosCliente_DetallesID_CONTRATO].IsNull;
end;

procedure TContratosCliente_DetallesDataTableRules.SetID_CONTRATOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosCliente_DetallesID_CONTRATO].AsVariant := Null;
end;

function TContratosCliente_DetallesDataTableRules.GetPOSICIONValue: Integer;
begin
  result := DataTable.Fields[idx_ContratosCliente_DetallesPOSICION].AsInteger;
end;

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

function TContratosCliente_DetallesDataTableRules.GetPOSICIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosCliente_DetallesPOSICION].IsNull;
end;

procedure TContratosCliente_DetallesDataTableRules.SetPOSICIONIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosCliente_DetallesPOSICION].AsVariant := Null;
end;

function TContratosCliente_DetallesDataTableRules.GetTIPO_DETALLEValue: String;
begin
  result := DataTable.Fields[idx_ContratosCliente_DetallesTIPO_DETALLE].AsString;
end;

procedure TContratosCliente_DetallesDataTableRules.SetTIPO_DETALLEValue(const aValue: String);
begin
  DataTable.Fields[idx_ContratosCliente_DetallesTIPO_DETALLE].AsString := aValue;
end;

function TContratosCliente_DetallesDataTableRules.GetTIPO_DETALLEIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosCliente_DetallesTIPO_DETALLE].IsNull;
end;

procedure TContratosCliente_DetallesDataTableRules.SetTIPO_DETALLEIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosCliente_DetallesTIPO_DETALLE].AsVariant := Null;
end;

function TContratosCliente_DetallesDataTableRules.GetPROPIEDADValue: String;
begin
  result := DataTable.Fields[idx_ContratosCliente_DetallesPROPIEDAD].AsString;
end;

procedure TContratosCliente_DetallesDataTableRules.SetPROPIEDADValue(const aValue: String);
begin
  DataTable.Fields[idx_ContratosCliente_DetallesPROPIEDAD].AsString := aValue;
end;

function TContratosCliente_DetallesDataTableRules.GetPROPIEDADIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosCliente_DetallesPROPIEDAD].IsNull;
end;

procedure TContratosCliente_DetallesDataTableRules.SetPROPIEDADIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosCliente_DetallesPROPIEDAD].AsVariant := Null;
end;

function TContratosCliente_DetallesDataTableRules.GetCONCEPTOValue: String;
begin
  result := DataTable.Fields[idx_ContratosCliente_DetallesCONCEPTO].AsString;
end;

procedure TContratosCliente_DetallesDataTableRules.SetCONCEPTOValue(const aValue: String);
begin
  DataTable.Fields[idx_ContratosCliente_DetallesCONCEPTO].AsString := aValue;
end;

function TContratosCliente_DetallesDataTableRules.GetCONCEPTOIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosCliente_DetallesCONCEPTO].IsNull;
end;

procedure TContratosCliente_DetallesDataTableRules.SetCONCEPTOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosCliente_DetallesCONCEPTO].AsVariant := Null;
end;

function TContratosCliente_DetallesDataTableRules.GetCANTIDADValue: Currency;
begin
  result := DataTable.Fields[idx_ContratosCliente_DetallesCANTIDAD].AsCurrency;
end;

procedure TContratosCliente_DetallesDataTableRules.SetCANTIDADValue(const aValue: Currency);
begin
  DataTable.Fields[idx_ContratosCliente_DetallesCANTIDAD].AsCurrency := aValue;
end;

function TContratosCliente_DetallesDataTableRules.GetCANTIDADIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosCliente_DetallesCANTIDAD].IsNull;
end;

procedure TContratosCliente_DetallesDataTableRules.SetCANTIDADIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosCliente_DetallesCANTIDAD].AsVariant := Null;
end;

function TContratosCliente_DetallesDataTableRules.GetIMPORTE_UNIDADValue: Currency;
begin
  result := DataTable.Fields[idx_ContratosCliente_DetallesIMPORTE_UNIDAD].AsCurrency;
end;

procedure TContratosCliente_DetallesDataTableRules.SetIMPORTE_UNIDADValue(const aValue: Currency);
begin
  DataTable.Fields[idx_ContratosCliente_DetallesIMPORTE_UNIDAD].AsCurrency := aValue;
end;

function TContratosCliente_DetallesDataTableRules.GetIMPORTE_UNIDADIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosCliente_DetallesIMPORTE_UNIDAD].IsNull;
end;

procedure TContratosCliente_DetallesDataTableRules.SetIMPORTE_UNIDADIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosCliente_DetallesIMPORTE_UNIDAD].AsVariant := Null;
end;

function TContratosCliente_DetallesDataTableRules.GetIMPORTE_TOTALValue: Currency;
begin
  result := DataTable.Fields[idx_ContratosCliente_DetallesIMPORTE_TOTAL].AsCurrency;
end;

procedure TContratosCliente_DetallesDataTableRules.SetIMPORTE_TOTALValue(const aValue: Currency);
begin
  DataTable.Fields[idx_ContratosCliente_DetallesIMPORTE_TOTAL].AsCurrency := aValue;
end;

function TContratosCliente_DetallesDataTableRules.GetIMPORTE_TOTALIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosCliente_DetallesIMPORTE_TOTAL].IsNull;
end;

procedure TContratosCliente_DetallesDataTableRules.SetIMPORTE_TOTALIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosCliente_DetallesIMPORTE_TOTAL].AsVariant := Null;
end;

function TContratosCliente_DetallesDataTableRules.GetVISIBLE2Value: SmallInt;
begin
  result := DataTable.Fields[idx_ContratosCliente_DetallesVISIBLE2].AsSmallInt;
end;

procedure TContratosCliente_DetallesDataTableRules.SetVISIBLE2Value(const aValue: SmallInt);
begin
  DataTable.Fields[idx_ContratosCliente_DetallesVISIBLE2].AsSmallInt := aValue;
end;

function TContratosCliente_DetallesDataTableRules.GetVISIBLE2IsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosCliente_DetallesVISIBLE2].IsNull;
end;

procedure TContratosCliente_DetallesDataTableRules.SetVISIBLE2IsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosCliente_DetallesVISIBLE2].AsVariant := Null;
end;

function TContratosCliente_DetallesDataTableRules.GetVISIBLEValue: SmallInt;
begin
  result := DataTable.Fields[idx_ContratosCliente_DetallesVISIBLE].AsSmallInt;
end;

procedure TContratosCliente_DetallesDataTableRules.SetVISIBLEValue(const aValue: SmallInt);
begin
  DataTable.Fields[idx_ContratosCliente_DetallesVISIBLE].AsSmallInt := aValue;
end;

function TContratosCliente_DetallesDataTableRules.GetVISIBLEIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosCliente_DetallesVISIBLE].IsNull;
end;

procedure TContratosCliente_DetallesDataTableRules.SetVISIBLEIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosCliente_DetallesVISIBLE].AsVariant := Null;
end;

function TContratosCliente_DetallesDataTableRules.GetID_ARTICULOValue: Integer;
begin
  result := DataTable.Fields[idx_ContratosCliente_DetallesID_ARTICULO].AsInteger;
end;

procedure TContratosCliente_DetallesDataTableRules.SetID_ARTICULOValue(const aValue: Integer);
begin
  DataTable.Fields[idx_ContratosCliente_DetallesID_ARTICULO].AsInteger := aValue;
end;

function TContratosCliente_DetallesDataTableRules.GetID_ARTICULOIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosCliente_DetallesID_ARTICULO].IsNull;
end;

procedure TContratosCliente_DetallesDataTableRules.SetID_ARTICULOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosCliente_DetallesID_ARTICULO].AsVariant := Null;
end;

function TContratosCliente_DetallesDataTableRules.GetTIPO_ARTICULOValue: String;
begin
  result := DataTable.Fields[idx_ContratosCliente_DetallesTIPO_ARTICULO].AsString;
end;

procedure TContratosCliente_DetallesDataTableRules.SetTIPO_ARTICULOValue(const aValue: String);
begin
  DataTable.Fields[idx_ContratosCliente_DetallesTIPO_ARTICULO].AsString := aValue;
end;

function TContratosCliente_DetallesDataTableRules.GetTIPO_ARTICULOIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosCliente_DetallesTIPO_ARTICULO].IsNull;
end;

procedure TContratosCliente_DetallesDataTableRules.SetTIPO_ARTICULOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosCliente_DetallesTIPO_ARTICULO].AsVariant := Null;
end;

function TContratosCliente_DetallesDataTableRules.GetDESCUENTOValue: Float;
begin
  result := DataTable.Fields[idx_ContratosCliente_DetallesDESCUENTO].AsFloat;
end;

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

function TContratosCliente_DetallesDataTableRules.GetDESCUENTOIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosCliente_DetallesDESCUENTO].IsNull;
end;

procedure TContratosCliente_DetallesDataTableRules.SetDESCUENTOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosCliente_DetallesDESCUENTO].AsVariant := Null;
end;

function TContratosCliente_DetallesDataTableRules.GetIMPORTE_PORTEValue: Currency;
begin
  result := DataTable.Fields[idx_ContratosCliente_DetallesIMPORTE_PORTE].AsCurrency;
end;

procedure TContratosCliente_DetallesDataTableRules.SetIMPORTE_PORTEValue(const aValue: Currency);
begin
  DataTable.Fields[idx_ContratosCliente_DetallesIMPORTE_PORTE].AsCurrency := aValue;
end;

function TContratosCliente_DetallesDataTableRules.GetIMPORTE_PORTEIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosCliente_DetallesIMPORTE_PORTE].IsNull;
end;

procedure TContratosCliente_DetallesDataTableRules.SetIMPORTE_PORTEIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosCliente_DetallesIMPORTE_PORTE].AsVariant := Null;
end;

function TContratosCliente_DetallesDataTableRules.GetREFERENCIAValue: String;
begin
  result := DataTable.Fields[idx_ContratosCliente_DetallesREFERENCIA].AsString;
end;

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

function TContratosCliente_DetallesDataTableRules.GetREFERENCIAIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosCliente_DetallesREFERENCIA].IsNull;
end;

procedure TContratosCliente_DetallesDataTableRules.SetREFERENCIAIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosCliente_DetallesREFERENCIA].AsVariant := Null;
end;

function TContratosCliente_DetallesDataTableRules.GetREFERENCIA_PROVEEDORValue: String;
begin
  result := DataTable.Fields[idx_ContratosCliente_DetallesREFERENCIA_PROVEEDOR].AsString;
end;

procedure TContratosCliente_DetallesDataTableRules.SetREFERENCIA_PROVEEDORValue(const aValue: String);
begin
  DataTable.Fields[idx_ContratosCliente_DetallesREFERENCIA_PROVEEDOR].AsString := aValue;
end;

function TContratosCliente_DetallesDataTableRules.GetREFERENCIA_PROVEEDORIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosCliente_DetallesREFERENCIA_PROVEEDOR].IsNull;
end;

procedure TContratosCliente_DetallesDataTableRules.SetREFERENCIA_PROVEEDORIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosCliente_DetallesREFERENCIA_PROVEEDOR].AsVariant := Null;
end;


initialization
  RegisterDataTableRules(RID_Valores, TValoresDataTableRules);
  RegisterDataTableRules(RID_Propiedades, TPropiedadesDataTableRules);
  RegisterDataTableRules(RID_ListaAnosContratos, TListaAnosContratosDataTableRules);
  RegisterDataTableRules(RID_ContratosClienteBeneficios, TContratosClienteBeneficiosDataTableRules);
  RegisterDataTableRules(RID_ContratosCliente, TContratosClienteDataTableRules);
  RegisterDataTableRules(RID_TiposCapitulos, TTiposCapitulosDataTableRules);
  RegisterDataTableRules(RID_ContratosCliente_Detalles, TContratosCliente_DetallesDataTableRules);

end.
