unit schFacturasClienteClient_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_ListaAnosFacturas = '{01C99D6F-78B2-4E5F-B7F8-D9956D0AE8D4}';
  RID_FacturasCliente = '{78230E46-9D32-4F95-BED8-F15B9AE4D5F8}';
  RID_FacturasCliente_Detalles = '{01FA3B03-4B5B-4FB4-8724-A89BF09A75EF}';

  { Data table names }
  nme_ListaAnosFacturas = 'ListaAnosFacturas';
  nme_FacturasCliente = 'FacturasCliente';
  nme_FacturasCliente_Detalles = 'FacturasCliente_Detalles';

  { ListaAnosFacturas fields }
  fld_ListaAnosFacturasANO = 'ANO';

  { ListaAnosFacturas field indexes }
  idx_ListaAnosFacturasANO = 0;

  { FacturasCliente fields }
  fld_FacturasClienteID = 'ID';
  fld_FacturasClienteID_EMPRESA = 'ID_EMPRESA';
  fld_FacturasClienteREFERENCIA = 'REFERENCIA';
  fld_FacturasClienteTIPO = 'TIPO';
  fld_FacturasClienteID_COMISION_LIQUIDADA = 'ID_COMISION_LIQUIDADA';
  fld_FacturasClienteFECHA_FACTURA = 'FECHA_FACTURA';
  fld_FacturasClienteFECHA_VENCIMIENTO = 'FECHA_VENCIMIENTO';
  fld_FacturasClienteSITUACION = 'SITUACION';
  fld_FacturasClienteBASE_IMPONIBLE = 'BASE_IMPONIBLE';
  fld_FacturasClienteDESCUENTO = 'DESCUENTO';
  fld_FacturasClienteIMPORTE_DESCUENTO = 'IMPORTE_DESCUENTO';
  fld_FacturasClienteIVA = 'IVA';
  fld_FacturasClienteIMPORTE_IVA = 'IMPORTE_IVA';
  fld_FacturasClienteRE = 'RE';
  fld_FacturasClienteIMPORTE_RE = 'IMPORTE_RE';
  fld_FacturasClienteIMPORTE_TOTAL = 'IMPORTE_TOTAL';
  fld_FacturasClienteOBSERVACIONES = 'OBSERVACIONES';
  fld_FacturasClienteID_CLIENTE = 'ID_CLIENTE';
  fld_FacturasClienteNOMBRE_CLIENTE = 'NOMBRE_CLIENTE';
  fld_FacturasClienteREFERENCIA_CLIENTE = 'REFERENCIA_CLIENTE';
  fld_FacturasClienteLOPD = 'LOPD';
  fld_FacturasClienteNOMBRE_COMERCIAL_CLIENTE = 'NOMBRE_COMERCIAL_CLIENTE';
  fld_FacturasClienteNIF_CIF = 'NIF_CIF';
  fld_FacturasClienteNOMBRE = 'NOMBRE';
  fld_FacturasClienteID_DIRECCION = 'ID_DIRECCION';
  fld_FacturasClienteCALLE = 'CALLE';
  fld_FacturasClientePOBLACION = 'POBLACION';
  fld_FacturasClientePROVINCIA = 'PROVINCIA';
  fld_FacturasClienteCODIGO_POSTAL = 'CODIGO_POSTAL';
  fld_FacturasClienteFECHA_ALTA = 'FECHA_ALTA';
  fld_FacturasClienteFECHA_MODIFICACION = 'FECHA_MODIFICACION';
  fld_FacturasClienteUSUARIO = 'USUARIO';
  fld_FacturasClienteID_FORMA_PAGO = 'ID_FORMA_PAGO';
  fld_FacturasClienteRECARGO_EQUIVALENCIA = 'RECARGO_EQUIVALENCIA';
  fld_FacturasClienteID_TIPO_IVA = 'ID_TIPO_IVA';
  fld_FacturasClienteIMPORTE_NETO = 'IMPORTE_NETO';
  fld_FacturasClienteIMPORTE_PORTE = 'IMPORTE_PORTE';
  fld_FacturasClienteID_AGENTE = 'ID_AGENTE';
  fld_FacturasClienteREFERENCIA_COMISION = 'REFERENCIA_COMISION';
  fld_FacturasClienteIGNORAR_CONTABILIDAD = 'IGNORAR_CONTABILIDAD';
  fld_FacturasClienteID_TIENDA = 'ID_TIENDA';
  fld_FacturasClienteTIENDA = 'TIENDA';
  fld_FacturasClienteID_SUBCUENTA = 'ID_SUBCUENTA';
  fld_FacturasClienteSUBCUENTA = 'SUBCUENTA';
  fld_FacturasClienteID_EJERCICIO = 'ID_EJERCICIO';
  fld_FacturasClienteESTADO_EJERCICIO = 'ESTADO_EJERCICIO';
  fld_FacturasClienteASIENTO_PUNTEADO = 'ASIENTO_PUNTEADO';
  fld_FacturasClienteID_CONTRATO = 'ID_CONTRATO';
  fld_FacturasClienteREF_CONTRATO = 'REF_CONTRATO';
  fld_FacturasClienteVENDEDOR = 'VENDEDOR';
  fld_FacturasClienteSIN_COMISION = 'SIN_COMISION';
  fld_FacturasClienteTIPO_FACTURA = 'TIPO_FACTURA';
  fld_FacturasClienteLISTA_NOMBRES = 'LISTA_NOMBRES';
  fld_FacturasClientePROCEDENCIA_CLIENTE = 'PROCEDENCIA_CLIENTE';

  { FacturasCliente field indexes }
  idx_FacturasClienteID = 0;
  idx_FacturasClienteID_EMPRESA = 1;
  idx_FacturasClienteREFERENCIA = 2;
  idx_FacturasClienteTIPO = 3;
  idx_FacturasClienteID_COMISION_LIQUIDADA = 4;
  idx_FacturasClienteFECHA_FACTURA = 5;
  idx_FacturasClienteFECHA_VENCIMIENTO = 6;
  idx_FacturasClienteSITUACION = 7;
  idx_FacturasClienteBASE_IMPONIBLE = 8;
  idx_FacturasClienteDESCUENTO = 9;
  idx_FacturasClienteIMPORTE_DESCUENTO = 10;
  idx_FacturasClienteIVA = 11;
  idx_FacturasClienteIMPORTE_IVA = 12;
  idx_FacturasClienteRE = 13;
  idx_FacturasClienteIMPORTE_RE = 14;
  idx_FacturasClienteIMPORTE_TOTAL = 15;
  idx_FacturasClienteOBSERVACIONES = 16;
  idx_FacturasClienteID_CLIENTE = 17;
  idx_FacturasClienteNOMBRE_CLIENTE = 18;
  idx_FacturasClienteREFERENCIA_CLIENTE = 19;
  idx_FacturasClienteLOPD = 20;
  idx_FacturasClienteNOMBRE_COMERCIAL_CLIENTE = 21;
  idx_FacturasClienteNIF_CIF = 22;
  idx_FacturasClienteNOMBRE = 23;
  idx_FacturasClienteID_DIRECCION = 24;
  idx_FacturasClienteCALLE = 25;
  idx_FacturasClientePOBLACION = 26;
  idx_FacturasClientePROVINCIA = 27;
  idx_FacturasClienteCODIGO_POSTAL = 28;
  idx_FacturasClienteFECHA_ALTA = 29;
  idx_FacturasClienteFECHA_MODIFICACION = 30;
  idx_FacturasClienteUSUARIO = 31;
  idx_FacturasClienteID_FORMA_PAGO = 32;
  idx_FacturasClienteRECARGO_EQUIVALENCIA = 33;
  idx_FacturasClienteID_TIPO_IVA = 34;
  idx_FacturasClienteIMPORTE_NETO = 35;
  idx_FacturasClienteIMPORTE_PORTE = 36;
  idx_FacturasClienteID_AGENTE = 37;
  idx_FacturasClienteREFERENCIA_COMISION = 38;
  idx_FacturasClienteIGNORAR_CONTABILIDAD = 39;
  idx_FacturasClienteID_TIENDA = 40;
  idx_FacturasClienteTIENDA = 41;
  idx_FacturasClienteID_SUBCUENTA = 42;
  idx_FacturasClienteSUBCUENTA = 43;
  idx_FacturasClienteID_EJERCICIO = 44;
  idx_FacturasClienteESTADO_EJERCICIO = 45;
  idx_FacturasClienteASIENTO_PUNTEADO = 46;
  idx_FacturasClienteID_CONTRATO = 47;
  idx_FacturasClienteREF_CONTRATO = 48;
  idx_FacturasClienteVENDEDOR = 49;
  idx_FacturasClienteSIN_COMISION = 50;
  idx_FacturasClienteTIPO_FACTURA = 51;
  idx_FacturasClienteLISTA_NOMBRES = 52;
  idx_FacturasClientePROCEDENCIA_CLIENTE = 53;

  { FacturasCliente_Detalles fields }
  fld_FacturasCliente_DetallesID = 'ID';
  fld_FacturasCliente_DetallesID_FACTURA = 'ID_FACTURA';
  fld_FacturasCliente_DetallesPOSICION = 'POSICION';
  fld_FacturasCliente_DetallesTIPO_DETALLE = 'TIPO_DETALLE';
  fld_FacturasCliente_DetallesCONCEPTO = 'CONCEPTO';
  fld_FacturasCliente_DetallesCANTIDAD = 'CANTIDAD';
  fld_FacturasCliente_DetallesIMPORTE_UNIDAD = 'IMPORTE_UNIDAD';
  fld_FacturasCliente_DetallesIMPORTE_TOTAL = 'IMPORTE_TOTAL';
  fld_FacturasCliente_DetallesVISIBLE = 'VISIBLE';
  fld_FacturasCliente_DetallesID_ARTICULO = 'ID_ARTICULO';
  fld_FacturasCliente_DetallesDESCUENTO = 'DESCUENTO';
  fld_FacturasCliente_DetallesIMPORTE_PORTE = 'IMPORTE_PORTE';
  fld_FacturasCliente_DetallesREFERENCIA = 'REFERENCIA';
  fld_FacturasCliente_DetallesREFERENCIA_PROVEEDOR = 'REFERENCIA_PROVEEDOR';

  { FacturasCliente_Detalles field indexes }
  idx_FacturasCliente_DetallesID = 0;
  idx_FacturasCliente_DetallesID_FACTURA = 1;
  idx_FacturasCliente_DetallesPOSICION = 2;
  idx_FacturasCliente_DetallesTIPO_DETALLE = 3;
  idx_FacturasCliente_DetallesCONCEPTO = 4;
  idx_FacturasCliente_DetallesCANTIDAD = 5;
  idx_FacturasCliente_DetallesIMPORTE_UNIDAD = 6;
  idx_FacturasCliente_DetallesIMPORTE_TOTAL = 7;
  idx_FacturasCliente_DetallesVISIBLE = 8;
  idx_FacturasCliente_DetallesID_ARTICULO = 9;
  idx_FacturasCliente_DetallesDESCUENTO = 10;
  idx_FacturasCliente_DetallesIMPORTE_PORTE = 11;
  idx_FacturasCliente_DetallesREFERENCIA = 12;
  idx_FacturasCliente_DetallesREFERENCIA_PROVEEDOR = 13;

type
  { IListaAnosFacturas }
  IListaAnosFacturas = interface(IDAStronglyTypedDataTable)
  ['{80613B96-203D-4FEF-9621-DA0D5B02C3CD}']
    { 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;

  { TListaAnosFacturasDataTableRules }
  TListaAnosFacturasDataTableRules = class(TIntfObjectDADataTableRules, IListaAnosFacturas)
  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;

  { IFacturasCliente }
  IFacturasCliente = interface(IDAStronglyTypedDataTable)
  ['{E065EEAD-79C9-48AA-8A3E-A7DD626FC162}']
    { 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 GetREFERENCIAValue: String;
    procedure SetREFERENCIAValue(const aValue: String);
    function GetREFERENCIAIsNull: Boolean;
    procedure SetREFERENCIAIsNull(const aValue: Boolean);
    function GetTIPOValue: String;
    procedure SetTIPOValue(const aValue: String);
    function GetTIPOIsNull: Boolean;
    procedure SetTIPOIsNull(const aValue: Boolean);
    function GetID_COMISION_LIQUIDADAValue: Integer;
    procedure SetID_COMISION_LIQUIDADAValue(const aValue: Integer);
    function GetID_COMISION_LIQUIDADAIsNull: Boolean;
    procedure SetID_COMISION_LIQUIDADAIsNull(const aValue: Boolean);
    function GetFECHA_FACTURAValue: DateTime;
    procedure SetFECHA_FACTURAValue(const aValue: DateTime);
    function GetFECHA_FACTURAIsNull: Boolean;
    procedure SetFECHA_FACTURAIsNull(const aValue: Boolean);
    function GetFECHA_VENCIMIENTOValue: DateTime;
    procedure SetFECHA_VENCIMIENTOValue(const aValue: DateTime);
    function GetFECHA_VENCIMIENTOIsNull: Boolean;
    procedure SetFECHA_VENCIMIENTOIsNull(const aValue: Boolean);
    function GetSITUACIONValue: String;
    procedure SetSITUACIONValue(const aValue: String);
    function GetSITUACIONIsNull: Boolean;
    procedure SetSITUACIONIsNull(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 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 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 GetIMPORTE_TOTALValue: Currency;
    procedure SetIMPORTE_TOTALValue(const aValue: Currency);
    function GetIMPORTE_TOTALIsNull: Boolean;
    procedure SetIMPORTE_TOTALIsNull(const aValue: Boolean);
    function GetOBSERVACIONESValue: IROStrings;
    function GetOBSERVACIONESIsNull: Boolean;
    procedure SetOBSERVACIONESIsNull(const aValue: Boolean);
    function GetID_CLIENTEValue: Integer;
    procedure SetID_CLIENTEValue(const aValue: Integer);
    function GetID_CLIENTEIsNull: Boolean;
    procedure SetID_CLIENTEIsNull(const aValue: Boolean);
    function GetNOMBRE_CLIENTEValue: String;
    procedure SetNOMBRE_CLIENTEValue(const aValue: String);
    function GetNOMBRE_CLIENTEIsNull: Boolean;
    procedure SetNOMBRE_CLIENTEIsNull(const aValue: Boolean);
    function GetREFERENCIA_CLIENTEValue: String;
    procedure SetREFERENCIA_CLIENTEValue(const aValue: String);
    function GetREFERENCIA_CLIENTEIsNull: Boolean;
    procedure SetREFERENCIA_CLIENTEIsNull(const aValue: Boolean);
    function GetLOPDValue: SmallInt;
    procedure SetLOPDValue(const aValue: SmallInt);
    function GetLOPDIsNull: Boolean;
    procedure SetLOPDIsNull(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 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 GetID_FORMA_PAGOValue: Integer;
    procedure SetID_FORMA_PAGOValue(const aValue: Integer);
    function GetID_FORMA_PAGOIsNull: Boolean;
    procedure SetID_FORMA_PAGOIsNull(const aValue: Boolean);
    function GetRECARGO_EQUIVALENCIAValue: SmallInt;
    procedure SetRECARGO_EQUIVALENCIAValue(const aValue: SmallInt);
    function GetRECARGO_EQUIVALENCIAIsNull: Boolean;
    procedure SetRECARGO_EQUIVALENCIAIsNull(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 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_AGENTEValue: Integer;
    procedure SetID_AGENTEValue(const aValue: Integer);
    function GetID_AGENTEIsNull: Boolean;
    procedure SetID_AGENTEIsNull(const aValue: Boolean);
    function GetREFERENCIA_COMISIONValue: String;
    procedure SetREFERENCIA_COMISIONValue(const aValue: String);
    function GetREFERENCIA_COMISIONIsNull: Boolean;
    procedure SetREFERENCIA_COMISIONIsNull(const aValue: Boolean);
    function GetIGNORAR_CONTABILIDADValue: SmallInt;
    procedure SetIGNORAR_CONTABILIDADValue(const aValue: SmallInt);
    function GetIGNORAR_CONTABILIDADIsNull: Boolean;
    procedure SetIGNORAR_CONTABILIDADIsNull(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 GetID_SUBCUENTAValue: Integer;
    procedure SetID_SUBCUENTAValue(const aValue: Integer);
    function GetID_SUBCUENTAIsNull: Boolean;
    procedure SetID_SUBCUENTAIsNull(const aValue: Boolean);
    function GetSUBCUENTAValue: String;
    procedure SetSUBCUENTAValue(const aValue: String);
    function GetSUBCUENTAIsNull: Boolean;
    procedure SetSUBCUENTAIsNull(const aValue: Boolean);
    function GetID_EJERCICIOValue: Integer;
    procedure SetID_EJERCICIOValue(const aValue: Integer);
    function GetID_EJERCICIOIsNull: Boolean;
    procedure SetID_EJERCICIOIsNull(const aValue: Boolean);
    function GetESTADO_EJERCICIOValue: String;
    procedure SetESTADO_EJERCICIOValue(const aValue: String);
    function GetESTADO_EJERCICIOIsNull: Boolean;
    procedure SetESTADO_EJERCICIOIsNull(const aValue: Boolean);
    function GetASIENTO_PUNTEADOValue: SmallInt;
    procedure SetASIENTO_PUNTEADOValue(const aValue: SmallInt);
    function GetASIENTO_PUNTEADOIsNull: Boolean;
    procedure SetASIENTO_PUNTEADOIsNull(const aValue: Boolean);
    function GetID_CONTRATOValue: Integer;
    procedure SetID_CONTRATOValue(const aValue: Integer);
    function GetID_CONTRATOIsNull: Boolean;
    procedure SetID_CONTRATOIsNull(const aValue: Boolean);
    function GetREF_CONTRATOValue: String;
    procedure SetREF_CONTRATOValue(const aValue: String);
    function GetREF_CONTRATOIsNull: Boolean;
    procedure SetREF_CONTRATOIsNull(const aValue: Boolean);
    function GetVENDEDORValue: String;
    procedure SetVENDEDORValue(const aValue: String);
    function GetVENDEDORIsNull: Boolean;
    procedure SetVENDEDORIsNull(const aValue: Boolean);
    function GetSIN_COMISIONValue: SmallInt;
    procedure SetSIN_COMISIONValue(const aValue: SmallInt);
    function GetSIN_COMISIONIsNull: Boolean;
    procedure SetSIN_COMISIONIsNull(const aValue: Boolean);
    function GetTIPO_FACTURAValue: String;
    procedure SetTIPO_FACTURAValue(const aValue: String);
    function GetTIPO_FACTURAIsNull: Boolean;
    procedure SetTIPO_FACTURAIsNull(const aValue: Boolean);
    function GetLISTA_NOMBRESValue: String;
    procedure SetLISTA_NOMBRESValue(const aValue: String);
    function GetLISTA_NOMBRESIsNull: Boolean;
    procedure SetLISTA_NOMBRESIsNull(const aValue: Boolean);
    function GetPROCEDENCIA_CLIENTEValue: String;
    procedure SetPROCEDENCIA_CLIENTEValue(const aValue: String);
    function GetPROCEDENCIA_CLIENTEIsNull: Boolean;
    procedure SetPROCEDENCIA_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 REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue;
    property REFERENCIAIsNull: Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull;
    property TIPO: String read GetTIPOValue write SetTIPOValue;
    property TIPOIsNull: Boolean read GetTIPOIsNull write SetTIPOIsNull;
    property ID_COMISION_LIQUIDADA: Integer read GetID_COMISION_LIQUIDADAValue write SetID_COMISION_LIQUIDADAValue;
    property ID_COMISION_LIQUIDADAIsNull: Boolean read GetID_COMISION_LIQUIDADAIsNull write SetID_COMISION_LIQUIDADAIsNull;
    property FECHA_FACTURA: DateTime read GetFECHA_FACTURAValue write SetFECHA_FACTURAValue;
    property FECHA_FACTURAIsNull: Boolean read GetFECHA_FACTURAIsNull write SetFECHA_FACTURAIsNull;
    property FECHA_VENCIMIENTO: DateTime read GetFECHA_VENCIMIENTOValue write SetFECHA_VENCIMIENTOValue;
    property FECHA_VENCIMIENTOIsNull: Boolean read GetFECHA_VENCIMIENTOIsNull write SetFECHA_VENCIMIENTOIsNull;
    property SITUACION: String read GetSITUACIONValue write SetSITUACIONValue;
    property SITUACIONIsNull: Boolean read GetSITUACIONIsNull write SetSITUACIONIsNull;
    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 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 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 IMPORTE_TOTAL: Currency read GetIMPORTE_TOTALValue write SetIMPORTE_TOTALValue;
    property IMPORTE_TOTALIsNull: Boolean read GetIMPORTE_TOTALIsNull write SetIMPORTE_TOTALIsNull;
    property OBSERVACIONES: IROStrings read GetOBSERVACIONESValue;
    property OBSERVACIONESIsNull: Boolean read GetOBSERVACIONESIsNull write SetOBSERVACIONESIsNull;
    property ID_CLIENTE: Integer read GetID_CLIENTEValue write SetID_CLIENTEValue;
    property ID_CLIENTEIsNull: Boolean read GetID_CLIENTEIsNull write SetID_CLIENTEIsNull;
    property NOMBRE_CLIENTE: String read GetNOMBRE_CLIENTEValue write SetNOMBRE_CLIENTEValue;
    property NOMBRE_CLIENTEIsNull: Boolean read GetNOMBRE_CLIENTEIsNull write SetNOMBRE_CLIENTEIsNull;
    property REFERENCIA_CLIENTE: String read GetREFERENCIA_CLIENTEValue write SetREFERENCIA_CLIENTEValue;
    property REFERENCIA_CLIENTEIsNull: Boolean read GetREFERENCIA_CLIENTEIsNull write SetREFERENCIA_CLIENTEIsNull;
    property LOPD: SmallInt read GetLOPDValue write SetLOPDValue;
    property LOPDIsNull: Boolean read GetLOPDIsNull write SetLOPDIsNull;
    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 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 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 RECARGO_EQUIVALENCIA: SmallInt read GetRECARGO_EQUIVALENCIAValue write SetRECARGO_EQUIVALENCIAValue;
    property RECARGO_EQUIVALENCIAIsNull: Boolean read GetRECARGO_EQUIVALENCIAIsNull write SetRECARGO_EQUIVALENCIAIsNull;
    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 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_AGENTE: Integer read GetID_AGENTEValue write SetID_AGENTEValue;
    property ID_AGENTEIsNull: Boolean read GetID_AGENTEIsNull write SetID_AGENTEIsNull;
    property REFERENCIA_COMISION: String read GetREFERENCIA_COMISIONValue write SetREFERENCIA_COMISIONValue;
    property REFERENCIA_COMISIONIsNull: Boolean read GetREFERENCIA_COMISIONIsNull write SetREFERENCIA_COMISIONIsNull;
    property IGNORAR_CONTABILIDAD: SmallInt read GetIGNORAR_CONTABILIDADValue write SetIGNORAR_CONTABILIDADValue;
    property IGNORAR_CONTABILIDADIsNull: Boolean read GetIGNORAR_CONTABILIDADIsNull write SetIGNORAR_CONTABILIDADIsNull;
    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 ID_SUBCUENTA: Integer read GetID_SUBCUENTAValue write SetID_SUBCUENTAValue;
    property ID_SUBCUENTAIsNull: Boolean read GetID_SUBCUENTAIsNull write SetID_SUBCUENTAIsNull;
    property SUBCUENTA: String read GetSUBCUENTAValue write SetSUBCUENTAValue;
    property SUBCUENTAIsNull: Boolean read GetSUBCUENTAIsNull write SetSUBCUENTAIsNull;
    property ID_EJERCICIO: Integer read GetID_EJERCICIOValue write SetID_EJERCICIOValue;
    property ID_EJERCICIOIsNull: Boolean read GetID_EJERCICIOIsNull write SetID_EJERCICIOIsNull;
    property ESTADO_EJERCICIO: String read GetESTADO_EJERCICIOValue write SetESTADO_EJERCICIOValue;
    property ESTADO_EJERCICIOIsNull: Boolean read GetESTADO_EJERCICIOIsNull write SetESTADO_EJERCICIOIsNull;
    property ASIENTO_PUNTEADO: SmallInt read GetASIENTO_PUNTEADOValue write SetASIENTO_PUNTEADOValue;
    property ASIENTO_PUNTEADOIsNull: Boolean read GetASIENTO_PUNTEADOIsNull write SetASIENTO_PUNTEADOIsNull;
    property ID_CONTRATO: Integer read GetID_CONTRATOValue write SetID_CONTRATOValue;
    property ID_CONTRATOIsNull: Boolean read GetID_CONTRATOIsNull write SetID_CONTRATOIsNull;
    property REF_CONTRATO: String read GetREF_CONTRATOValue write SetREF_CONTRATOValue;
    property REF_CONTRATOIsNull: Boolean read GetREF_CONTRATOIsNull write SetREF_CONTRATOIsNull;
    property VENDEDOR: String read GetVENDEDORValue write SetVENDEDORValue;
    property VENDEDORIsNull: Boolean read GetVENDEDORIsNull write SetVENDEDORIsNull;
    property SIN_COMISION: SmallInt read GetSIN_COMISIONValue write SetSIN_COMISIONValue;
    property SIN_COMISIONIsNull: Boolean read GetSIN_COMISIONIsNull write SetSIN_COMISIONIsNull;
    property TIPO_FACTURA: String read GetTIPO_FACTURAValue write SetTIPO_FACTURAValue;
    property TIPO_FACTURAIsNull: Boolean read GetTIPO_FACTURAIsNull write SetTIPO_FACTURAIsNull;
    property LISTA_NOMBRES: String read GetLISTA_NOMBRESValue write SetLISTA_NOMBRESValue;
    property LISTA_NOMBRESIsNull: Boolean read GetLISTA_NOMBRESIsNull write SetLISTA_NOMBRESIsNull;
    property PROCEDENCIA_CLIENTE: String read GetPROCEDENCIA_CLIENTEValue write SetPROCEDENCIA_CLIENTEValue;
    property PROCEDENCIA_CLIENTEIsNull: Boolean read GetPROCEDENCIA_CLIENTEIsNull write SetPROCEDENCIA_CLIENTEIsNull;
  end;

  { TFacturasClienteDataTableRules }
  TFacturasClienteDataTableRules = class(TIntfObjectDADataTableRules, IFacturasCliente)
  private
    f_OBSERVACIONES: IROStrings;
    procedure OBSERVACIONES_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 GetREFERENCIAValue: String; virtual;
    procedure SetREFERENCIAValue(const aValue: String); virtual;
    function GetREFERENCIAIsNull: Boolean; virtual;
    procedure SetREFERENCIAIsNull(const aValue: Boolean); virtual;
    function GetTIPOValue: String; virtual;
    procedure SetTIPOValue(const aValue: String); virtual;
    function GetTIPOIsNull: Boolean; virtual;
    procedure SetTIPOIsNull(const aValue: Boolean); virtual;
    function GetID_COMISION_LIQUIDADAValue: Integer; virtual;
    procedure SetID_COMISION_LIQUIDADAValue(const aValue: Integer); virtual;
    function GetID_COMISION_LIQUIDADAIsNull: Boolean; virtual;
    procedure SetID_COMISION_LIQUIDADAIsNull(const aValue: Boolean); virtual;
    function GetFECHA_FACTURAValue: DateTime; virtual;
    procedure SetFECHA_FACTURAValue(const aValue: DateTime); virtual;
    function GetFECHA_FACTURAIsNull: Boolean; virtual;
    procedure SetFECHA_FACTURAIsNull(const aValue: Boolean); virtual;
    function GetFECHA_VENCIMIENTOValue: DateTime; virtual;
    procedure SetFECHA_VENCIMIENTOValue(const aValue: DateTime); virtual;
    function GetFECHA_VENCIMIENTOIsNull: Boolean; virtual;
    procedure SetFECHA_VENCIMIENTOIsNull(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 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 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 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 GetIMPORTE_TOTALValue: Currency; virtual;
    procedure SetIMPORTE_TOTALValue(const aValue: Currency); virtual;
    function GetIMPORTE_TOTALIsNull: Boolean; virtual;
    procedure SetIMPORTE_TOTALIsNull(const aValue: Boolean); virtual;
    function GetOBSERVACIONESValue: IROStrings; virtual;
    function GetOBSERVACIONESIsNull: Boolean; virtual;
    procedure SetOBSERVACIONESIsNull(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 GetNOMBRE_CLIENTEValue: String; virtual;
    procedure SetNOMBRE_CLIENTEValue(const aValue: String); virtual;
    function GetNOMBRE_CLIENTEIsNull: Boolean; virtual;
    procedure SetNOMBRE_CLIENTEIsNull(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 GetLOPDValue: SmallInt; virtual;
    procedure SetLOPDValue(const aValue: SmallInt); virtual;
    function GetLOPDIsNull: Boolean; virtual;
    procedure SetLOPDIsNull(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 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 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 GetRECARGO_EQUIVALENCIAValue: SmallInt; virtual;
    procedure SetRECARGO_EQUIVALENCIAValue(const aValue: SmallInt); virtual;
    function GetRECARGO_EQUIVALENCIAIsNull: Boolean; virtual;
    procedure SetRECARGO_EQUIVALENCIAIsNull(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 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_AGENTEValue: Integer; virtual;
    procedure SetID_AGENTEValue(const aValue: Integer); virtual;
    function GetID_AGENTEIsNull: Boolean; virtual;
    procedure SetID_AGENTEIsNull(const aValue: Boolean); virtual;
    function GetREFERENCIA_COMISIONValue: String; virtual;
    procedure SetREFERENCIA_COMISIONValue(const aValue: String); virtual;
    function GetREFERENCIA_COMISIONIsNull: Boolean; virtual;
    procedure SetREFERENCIA_COMISIONIsNull(const aValue: Boolean); virtual;
    function GetIGNORAR_CONTABILIDADValue: SmallInt; virtual;
    procedure SetIGNORAR_CONTABILIDADValue(const aValue: SmallInt); virtual;
    function GetIGNORAR_CONTABILIDADIsNull: Boolean; virtual;
    procedure SetIGNORAR_CONTABILIDADIsNull(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 GetID_SUBCUENTAValue: Integer; virtual;
    procedure SetID_SUBCUENTAValue(const aValue: Integer); virtual;
    function GetID_SUBCUENTAIsNull: Boolean; virtual;
    procedure SetID_SUBCUENTAIsNull(const aValue: Boolean); virtual;
    function GetSUBCUENTAValue: String; virtual;
    procedure SetSUBCUENTAValue(const aValue: String); virtual;
    function GetSUBCUENTAIsNull: Boolean; virtual;
    procedure SetSUBCUENTAIsNull(const aValue: Boolean); virtual;
    function GetID_EJERCICIOValue: Integer; virtual;
    procedure SetID_EJERCICIOValue(const aValue: Integer); virtual;
    function GetID_EJERCICIOIsNull: Boolean; virtual;
    procedure SetID_EJERCICIOIsNull(const aValue: Boolean); virtual;
    function GetESTADO_EJERCICIOValue: String; virtual;
    procedure SetESTADO_EJERCICIOValue(const aValue: String); virtual;
    function GetESTADO_EJERCICIOIsNull: Boolean; virtual;
    procedure SetESTADO_EJERCICIOIsNull(const aValue: Boolean); virtual;
    function GetASIENTO_PUNTEADOValue: SmallInt; virtual;
    procedure SetASIENTO_PUNTEADOValue(const aValue: SmallInt); virtual;
    function GetASIENTO_PUNTEADOIsNull: Boolean; virtual;
    procedure SetASIENTO_PUNTEADOIsNull(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 GetREF_CONTRATOValue: String; virtual;
    procedure SetREF_CONTRATOValue(const aValue: String); virtual;
    function GetREF_CONTRATOIsNull: Boolean; virtual;
    procedure SetREF_CONTRATOIsNull(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 GetSIN_COMISIONValue: SmallInt; virtual;
    procedure SetSIN_COMISIONValue(const aValue: SmallInt); virtual;
    function GetSIN_COMISIONIsNull: Boolean; virtual;
    procedure SetSIN_COMISIONIsNull(const aValue: Boolean); virtual;
    function GetTIPO_FACTURAValue: String; virtual;
    procedure SetTIPO_FACTURAValue(const aValue: String); virtual;
    function GetTIPO_FACTURAIsNull: Boolean; virtual;
    procedure SetTIPO_FACTURAIsNull(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 GetPROCEDENCIA_CLIENTEValue: String; virtual;
    procedure SetPROCEDENCIA_CLIENTEValue(const aValue: String); virtual;
    function GetPROCEDENCIA_CLIENTEIsNull: Boolean; virtual;
    procedure SetPROCEDENCIA_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 REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue;
    property REFERENCIAIsNull: Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull;
    property TIPO: String read GetTIPOValue write SetTIPOValue;
    property TIPOIsNull: Boolean read GetTIPOIsNull write SetTIPOIsNull;
    property ID_COMISION_LIQUIDADA: Integer read GetID_COMISION_LIQUIDADAValue write SetID_COMISION_LIQUIDADAValue;
    property ID_COMISION_LIQUIDADAIsNull: Boolean read GetID_COMISION_LIQUIDADAIsNull write SetID_COMISION_LIQUIDADAIsNull;
    property FECHA_FACTURA: DateTime read GetFECHA_FACTURAValue write SetFECHA_FACTURAValue;
    property FECHA_FACTURAIsNull: Boolean read GetFECHA_FACTURAIsNull write SetFECHA_FACTURAIsNull;
    property FECHA_VENCIMIENTO: DateTime read GetFECHA_VENCIMIENTOValue write SetFECHA_VENCIMIENTOValue;
    property FECHA_VENCIMIENTOIsNull: Boolean read GetFECHA_VENCIMIENTOIsNull write SetFECHA_VENCIMIENTOIsNull;
    property SITUACION: String read GetSITUACIONValue write SetSITUACIONValue;
    property SITUACIONIsNull: Boolean read GetSITUACIONIsNull write SetSITUACIONIsNull;
    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 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 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 IMPORTE_TOTAL: Currency read GetIMPORTE_TOTALValue write SetIMPORTE_TOTALValue;
    property IMPORTE_TOTALIsNull: Boolean read GetIMPORTE_TOTALIsNull write SetIMPORTE_TOTALIsNull;
    property OBSERVACIONES: IROStrings read GetOBSERVACIONESValue;
    property OBSERVACIONESIsNull: Boolean read GetOBSERVACIONESIsNull write SetOBSERVACIONESIsNull;
    property ID_CLIENTE: Integer read GetID_CLIENTEValue write SetID_CLIENTEValue;
    property ID_CLIENTEIsNull: Boolean read GetID_CLIENTEIsNull write SetID_CLIENTEIsNull;
    property NOMBRE_CLIENTE: String read GetNOMBRE_CLIENTEValue write SetNOMBRE_CLIENTEValue;
    property NOMBRE_CLIENTEIsNull: Boolean read GetNOMBRE_CLIENTEIsNull write SetNOMBRE_CLIENTEIsNull;
    property REFERENCIA_CLIENTE: String read GetREFERENCIA_CLIENTEValue write SetREFERENCIA_CLIENTEValue;
    property REFERENCIA_CLIENTEIsNull: Boolean read GetREFERENCIA_CLIENTEIsNull write SetREFERENCIA_CLIENTEIsNull;
    property LOPD: SmallInt read GetLOPDValue write SetLOPDValue;
    property LOPDIsNull: Boolean read GetLOPDIsNull write SetLOPDIsNull;
    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 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 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 RECARGO_EQUIVALENCIA: SmallInt read GetRECARGO_EQUIVALENCIAValue write SetRECARGO_EQUIVALENCIAValue;
    property RECARGO_EQUIVALENCIAIsNull: Boolean read GetRECARGO_EQUIVALENCIAIsNull write SetRECARGO_EQUIVALENCIAIsNull;
    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 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_AGENTE: Integer read GetID_AGENTEValue write SetID_AGENTEValue;
    property ID_AGENTEIsNull: Boolean read GetID_AGENTEIsNull write SetID_AGENTEIsNull;
    property REFERENCIA_COMISION: String read GetREFERENCIA_COMISIONValue write SetREFERENCIA_COMISIONValue;
    property REFERENCIA_COMISIONIsNull: Boolean read GetREFERENCIA_COMISIONIsNull write SetREFERENCIA_COMISIONIsNull;
    property IGNORAR_CONTABILIDAD: SmallInt read GetIGNORAR_CONTABILIDADValue write SetIGNORAR_CONTABILIDADValue;
    property IGNORAR_CONTABILIDADIsNull: Boolean read GetIGNORAR_CONTABILIDADIsNull write SetIGNORAR_CONTABILIDADIsNull;
    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 ID_SUBCUENTA: Integer read GetID_SUBCUENTAValue write SetID_SUBCUENTAValue;
    property ID_SUBCUENTAIsNull: Boolean read GetID_SUBCUENTAIsNull write SetID_SUBCUENTAIsNull;
    property SUBCUENTA: String read GetSUBCUENTAValue write SetSUBCUENTAValue;
    property SUBCUENTAIsNull: Boolean read GetSUBCUENTAIsNull write SetSUBCUENTAIsNull;
    property ID_EJERCICIO: Integer read GetID_EJERCICIOValue write SetID_EJERCICIOValue;
    property ID_EJERCICIOIsNull: Boolean read GetID_EJERCICIOIsNull write SetID_EJERCICIOIsNull;
    property ESTADO_EJERCICIO: String read GetESTADO_EJERCICIOValue write SetESTADO_EJERCICIOValue;
    property ESTADO_EJERCICIOIsNull: Boolean read GetESTADO_EJERCICIOIsNull write SetESTADO_EJERCICIOIsNull;
    property ASIENTO_PUNTEADO: SmallInt read GetASIENTO_PUNTEADOValue write SetASIENTO_PUNTEADOValue;
    property ASIENTO_PUNTEADOIsNull: Boolean read GetASIENTO_PUNTEADOIsNull write SetASIENTO_PUNTEADOIsNull;
    property ID_CONTRATO: Integer read GetID_CONTRATOValue write SetID_CONTRATOValue;
    property ID_CONTRATOIsNull: Boolean read GetID_CONTRATOIsNull write SetID_CONTRATOIsNull;
    property REF_CONTRATO: String read GetREF_CONTRATOValue write SetREF_CONTRATOValue;
    property REF_CONTRATOIsNull: Boolean read GetREF_CONTRATOIsNull write SetREF_CONTRATOIsNull;
    property VENDEDOR: String read GetVENDEDORValue write SetVENDEDORValue;
    property VENDEDORIsNull: Boolean read GetVENDEDORIsNull write SetVENDEDORIsNull;
    property SIN_COMISION: SmallInt read GetSIN_COMISIONValue write SetSIN_COMISIONValue;
    property SIN_COMISIONIsNull: Boolean read GetSIN_COMISIONIsNull write SetSIN_COMISIONIsNull;
    property TIPO_FACTURA: String read GetTIPO_FACTURAValue write SetTIPO_FACTURAValue;
    property TIPO_FACTURAIsNull: Boolean read GetTIPO_FACTURAIsNull write SetTIPO_FACTURAIsNull;
    property LISTA_NOMBRES: String read GetLISTA_NOMBRESValue write SetLISTA_NOMBRESValue;
    property LISTA_NOMBRESIsNull: Boolean read GetLISTA_NOMBRESIsNull write SetLISTA_NOMBRESIsNull;
    property PROCEDENCIA_CLIENTE: String read GetPROCEDENCIA_CLIENTEValue write SetPROCEDENCIA_CLIENTEValue;
    property PROCEDENCIA_CLIENTEIsNull: Boolean read GetPROCEDENCIA_CLIENTEIsNull write SetPROCEDENCIA_CLIENTEIsNull;

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

  end;

  { IFacturasCliente_Detalles }
  IFacturasCliente_Detalles = interface(IDAStronglyTypedDataTable)
  ['{22259244-690D-4493-A734-5B3D8C2ECB2D}']
    { Property getters and setters }
    function GetIDValue: Integer;
    procedure SetIDValue(const aValue: Integer);
    function GetIDIsNull: Boolean;
    procedure SetIDIsNull(const aValue: Boolean);
    function GetID_FACTURAValue: Integer;
    procedure SetID_FACTURAValue(const aValue: Integer);
    function GetID_FACTURAIsNull: Boolean;
    procedure SetID_FACTURAIsNull(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 GetCONCEPTOValue: String;
    procedure SetCONCEPTOValue(const aValue: String);
    function GetCONCEPTOIsNull: Boolean;
    procedure SetCONCEPTOIsNull(const aValue: Boolean);
    function GetCANTIDADValue: Float;
    procedure SetCANTIDADValue(const aValue: Float);
    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 GetVISIBLEValue: Integer;
    procedure SetVISIBLEValue(const aValue: Integer);
    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 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_FACTURA: Integer read GetID_FACTURAValue write SetID_FACTURAValue;
    property ID_FACTURAIsNull: Boolean read GetID_FACTURAIsNull write SetID_FACTURAIsNull;
    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 CONCEPTO: String read GetCONCEPTOValue write SetCONCEPTOValue;
    property CONCEPTOIsNull: Boolean read GetCONCEPTOIsNull write SetCONCEPTOIsNull;
    property CANTIDAD: Float 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 VISIBLE: Integer 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 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;

  { TFacturasCliente_DetallesDataTableRules }
  TFacturasCliente_DetallesDataTableRules = class(TIntfObjectDADataTableRules, IFacturasCliente_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_FACTURAValue: Integer; virtual;
    procedure SetID_FACTURAValue(const aValue: Integer); virtual;
    function GetID_FACTURAIsNull: Boolean; virtual;
    procedure SetID_FACTURAIsNull(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 GetCONCEPTOValue: String; virtual;
    procedure SetCONCEPTOValue(const aValue: String); virtual;
    function GetCONCEPTOIsNull: Boolean; virtual;
    procedure SetCONCEPTOIsNull(const aValue: Boolean); virtual;
    function GetCANTIDADValue: Float; virtual;
    procedure SetCANTIDADValue(const aValue: Float); 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 GetVISIBLEValue: Integer; virtual;
    procedure SetVISIBLEValue(const aValue: Integer); 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 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_FACTURA: Integer read GetID_FACTURAValue write SetID_FACTURAValue;
    property ID_FACTURAIsNull: Boolean read GetID_FACTURAIsNull write SetID_FACTURAIsNull;
    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 CONCEPTO: String read GetCONCEPTOValue write SetCONCEPTOValue;
    property CONCEPTOIsNull: Boolean read GetCONCEPTOIsNull write SetCONCEPTOIsNull;
    property CANTIDAD: Float 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 VISIBLE: Integer 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 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;

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

destructor TListaAnosFacturasDataTableRules.Destroy;
begin
  inherited;
end;

function TListaAnosFacturasDataTableRules.GetANOValue: String;
begin
  result := DataTable.Fields[idx_ListaAnosFacturasANO].AsString;
end;

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

function TListaAnosFacturasDataTableRules.GetANOIsNull: boolean;
begin
  result := DataTable.Fields[idx_ListaAnosFacturasANO].IsNull;
end;

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


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

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

destructor TFacturasClienteDataTableRules.Destroy;
begin
  inherited;
end;

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

function TFacturasClienteDataTableRules.GetIDValue: Integer;
begin
  result := DataTable.Fields[idx_FacturasClienteID].AsInteger;
end;

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

function TFacturasClienteDataTableRules.GetIDIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasClienteID].IsNull;
end;

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

function TFacturasClienteDataTableRules.GetID_EMPRESAValue: Integer;
begin
  result := DataTable.Fields[idx_FacturasClienteID_EMPRESA].AsInteger;
end;

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

function TFacturasClienteDataTableRules.GetID_EMPRESAIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasClienteID_EMPRESA].IsNull;
end;

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

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

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

function TFacturasClienteDataTableRules.GetREFERENCIAIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasClienteREFERENCIA].IsNull;
end;

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

function TFacturasClienteDataTableRules.GetTIPOValue: String;
begin
  result := DataTable.Fields[idx_FacturasClienteTIPO].AsString;
end;

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

function TFacturasClienteDataTableRules.GetTIPOIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasClienteTIPO].IsNull;
end;

procedure TFacturasClienteDataTableRules.SetTIPOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_FacturasClienteTIPO].AsVariant := Null;
end;

function TFacturasClienteDataTableRules.GetID_COMISION_LIQUIDADAValue: Integer;
begin
  result := DataTable.Fields[idx_FacturasClienteID_COMISION_LIQUIDADA].AsInteger;
end;

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

function TFacturasClienteDataTableRules.GetID_COMISION_LIQUIDADAIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasClienteID_COMISION_LIQUIDADA].IsNull;
end;

procedure TFacturasClienteDataTableRules.SetID_COMISION_LIQUIDADAIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_FacturasClienteID_COMISION_LIQUIDADA].AsVariant := Null;
end;

function TFacturasClienteDataTableRules.GetFECHA_FACTURAValue: DateTime;
begin
  result := DataTable.Fields[idx_FacturasClienteFECHA_FACTURA].AsDateTime;
end;

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

function TFacturasClienteDataTableRules.GetFECHA_FACTURAIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasClienteFECHA_FACTURA].IsNull;
end;

procedure TFacturasClienteDataTableRules.SetFECHA_FACTURAIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_FacturasClienteFECHA_FACTURA].AsVariant := Null;
end;

function TFacturasClienteDataTableRules.GetFECHA_VENCIMIENTOValue: DateTime;
begin
  result := DataTable.Fields[idx_FacturasClienteFECHA_VENCIMIENTO].AsDateTime;
end;

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

function TFacturasClienteDataTableRules.GetFECHA_VENCIMIENTOIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasClienteFECHA_VENCIMIENTO].IsNull;
end;

procedure TFacturasClienteDataTableRules.SetFECHA_VENCIMIENTOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_FacturasClienteFECHA_VENCIMIENTO].AsVariant := Null;
end;

function TFacturasClienteDataTableRules.GetSITUACIONValue: String;
begin
  result := DataTable.Fields[idx_FacturasClienteSITUACION].AsString;
end;

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

function TFacturasClienteDataTableRules.GetSITUACIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasClienteSITUACION].IsNull;
end;

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

function TFacturasClienteDataTableRules.GetBASE_IMPONIBLEValue: Currency;
begin
  result := DataTable.Fields[idx_FacturasClienteBASE_IMPONIBLE].AsCurrency;
end;

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

function TFacturasClienteDataTableRules.GetBASE_IMPONIBLEIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasClienteBASE_IMPONIBLE].IsNull;
end;

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

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

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

function TFacturasClienteDataTableRules.GetDESCUENTOIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasClienteDESCUENTO].IsNull;
end;

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

function TFacturasClienteDataTableRules.GetIMPORTE_DESCUENTOValue: Currency;
begin
  result := DataTable.Fields[idx_FacturasClienteIMPORTE_DESCUENTO].AsCurrency;
end;

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

function TFacturasClienteDataTableRules.GetIMPORTE_DESCUENTOIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasClienteIMPORTE_DESCUENTO].IsNull;
end;

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

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

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

function TFacturasClienteDataTableRules.GetIVAIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasClienteIVA].IsNull;
end;

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

function TFacturasClienteDataTableRules.GetIMPORTE_IVAValue: Currency;
begin
  result := DataTable.Fields[idx_FacturasClienteIMPORTE_IVA].AsCurrency;
end;

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

function TFacturasClienteDataTableRules.GetIMPORTE_IVAIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasClienteIMPORTE_IVA].IsNull;
end;

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

function TFacturasClienteDataTableRules.GetREValue: Float;
begin
  result := DataTable.Fields[idx_FacturasClienteRE].AsFloat;
end;

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

function TFacturasClienteDataTableRules.GetREIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasClienteRE].IsNull;
end;

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

function TFacturasClienteDataTableRules.GetIMPORTE_REValue: Currency;
begin
  result := DataTable.Fields[idx_FacturasClienteIMPORTE_RE].AsCurrency;
end;

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

function TFacturasClienteDataTableRules.GetIMPORTE_REIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasClienteIMPORTE_RE].IsNull;
end;

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

function TFacturasClienteDataTableRules.GetIMPORTE_TOTALValue: Currency;
begin
  result := DataTable.Fields[idx_FacturasClienteIMPORTE_TOTAL].AsCurrency;
end;

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

function TFacturasClienteDataTableRules.GetIMPORTE_TOTALIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasClienteIMPORTE_TOTAL].IsNull;
end;

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

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

function TFacturasClienteDataTableRules.GetOBSERVACIONESIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasClienteOBSERVACIONES].IsNull;
end;

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

function TFacturasClienteDataTableRules.GetID_CLIENTEValue: Integer;
begin
  result := DataTable.Fields[idx_FacturasClienteID_CLIENTE].AsInteger;
end;

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

function TFacturasClienteDataTableRules.GetID_CLIENTEIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasClienteID_CLIENTE].IsNull;
end;

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

function TFacturasClienteDataTableRules.GetNOMBRE_CLIENTEValue: String;
begin
  result := DataTable.Fields[idx_FacturasClienteNOMBRE_CLIENTE].AsString;
end;

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

function TFacturasClienteDataTableRules.GetNOMBRE_CLIENTEIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasClienteNOMBRE_CLIENTE].IsNull;
end;

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

function TFacturasClienteDataTableRules.GetREFERENCIA_CLIENTEValue: String;
begin
  result := DataTable.Fields[idx_FacturasClienteREFERENCIA_CLIENTE].AsString;
end;

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

function TFacturasClienteDataTableRules.GetREFERENCIA_CLIENTEIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasClienteREFERENCIA_CLIENTE].IsNull;
end;

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

function TFacturasClienteDataTableRules.GetLOPDValue: SmallInt;
begin
  result := DataTable.Fields[idx_FacturasClienteLOPD].AsSmallInt;
end;

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

function TFacturasClienteDataTableRules.GetLOPDIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasClienteLOPD].IsNull;
end;

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

function TFacturasClienteDataTableRules.GetNOMBRE_COMERCIAL_CLIENTEValue: String;
begin
  result := DataTable.Fields[idx_FacturasClienteNOMBRE_COMERCIAL_CLIENTE].AsString;
end;

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

function TFacturasClienteDataTableRules.GetNOMBRE_COMERCIAL_CLIENTEIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasClienteNOMBRE_COMERCIAL_CLIENTE].IsNull;
end;

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

function TFacturasClienteDataTableRules.GetNIF_CIFValue: String;
begin
  result := DataTable.Fields[idx_FacturasClienteNIF_CIF].AsString;
end;

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

function TFacturasClienteDataTableRules.GetNIF_CIFIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasClienteNIF_CIF].IsNull;
end;

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

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

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

function TFacturasClienteDataTableRules.GetNOMBREIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasClienteNOMBRE].IsNull;
end;

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

function TFacturasClienteDataTableRules.GetID_DIRECCIONValue: Integer;
begin
  result := DataTable.Fields[idx_FacturasClienteID_DIRECCION].AsInteger;
end;

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

function TFacturasClienteDataTableRules.GetID_DIRECCIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasClienteID_DIRECCION].IsNull;
end;

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

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

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

function TFacturasClienteDataTableRules.GetCALLEIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasClienteCALLE].IsNull;
end;

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

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

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

function TFacturasClienteDataTableRules.GetPOBLACIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasClientePOBLACION].IsNull;
end;

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

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

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

function TFacturasClienteDataTableRules.GetPROVINCIAIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasClientePROVINCIA].IsNull;
end;

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

function TFacturasClienteDataTableRules.GetCODIGO_POSTALValue: String;
begin
  result := DataTable.Fields[idx_FacturasClienteCODIGO_POSTAL].AsString;
end;

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

function TFacturasClienteDataTableRules.GetCODIGO_POSTALIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasClienteCODIGO_POSTAL].IsNull;
end;

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

function TFacturasClienteDataTableRules.GetFECHA_ALTAValue: DateTime;
begin
  result := DataTable.Fields[idx_FacturasClienteFECHA_ALTA].AsDateTime;
end;

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

function TFacturasClienteDataTableRules.GetFECHA_ALTAIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasClienteFECHA_ALTA].IsNull;
end;

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

function TFacturasClienteDataTableRules.GetFECHA_MODIFICACIONValue: DateTime;
begin
  result := DataTable.Fields[idx_FacturasClienteFECHA_MODIFICACION].AsDateTime;
end;

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

function TFacturasClienteDataTableRules.GetFECHA_MODIFICACIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasClienteFECHA_MODIFICACION].IsNull;
end;

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

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

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

function TFacturasClienteDataTableRules.GetUSUARIOIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasClienteUSUARIO].IsNull;
end;

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

function TFacturasClienteDataTableRules.GetID_FORMA_PAGOValue: Integer;
begin
  result := DataTable.Fields[idx_FacturasClienteID_FORMA_PAGO].AsInteger;
end;

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

function TFacturasClienteDataTableRules.GetID_FORMA_PAGOIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasClienteID_FORMA_PAGO].IsNull;
end;

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

function TFacturasClienteDataTableRules.GetRECARGO_EQUIVALENCIAValue: SmallInt;
begin
  result := DataTable.Fields[idx_FacturasClienteRECARGO_EQUIVALENCIA].AsSmallInt;
end;

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

function TFacturasClienteDataTableRules.GetRECARGO_EQUIVALENCIAIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasClienteRECARGO_EQUIVALENCIA].IsNull;
end;

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

function TFacturasClienteDataTableRules.GetID_TIPO_IVAValue: Integer;
begin
  result := DataTable.Fields[idx_FacturasClienteID_TIPO_IVA].AsInteger;
end;

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

function TFacturasClienteDataTableRules.GetID_TIPO_IVAIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasClienteID_TIPO_IVA].IsNull;
end;

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

function TFacturasClienteDataTableRules.GetIMPORTE_NETOValue: Currency;
begin
  result := DataTable.Fields[idx_FacturasClienteIMPORTE_NETO].AsCurrency;
end;

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

function TFacturasClienteDataTableRules.GetIMPORTE_NETOIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasClienteIMPORTE_NETO].IsNull;
end;

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

function TFacturasClienteDataTableRules.GetIMPORTE_PORTEValue: Currency;
begin
  result := DataTable.Fields[idx_FacturasClienteIMPORTE_PORTE].AsCurrency;
end;

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

function TFacturasClienteDataTableRules.GetIMPORTE_PORTEIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasClienteIMPORTE_PORTE].IsNull;
end;

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

function TFacturasClienteDataTableRules.GetID_AGENTEValue: Integer;
begin
  result := DataTable.Fields[idx_FacturasClienteID_AGENTE].AsInteger;
end;

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

function TFacturasClienteDataTableRules.GetID_AGENTEIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasClienteID_AGENTE].IsNull;
end;

procedure TFacturasClienteDataTableRules.SetID_AGENTEIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_FacturasClienteID_AGENTE].AsVariant := Null;
end;

function TFacturasClienteDataTableRules.GetREFERENCIA_COMISIONValue: String;
begin
  result := DataTable.Fields[idx_FacturasClienteREFERENCIA_COMISION].AsString;
end;

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

function TFacturasClienteDataTableRules.GetREFERENCIA_COMISIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasClienteREFERENCIA_COMISION].IsNull;
end;

procedure TFacturasClienteDataTableRules.SetREFERENCIA_COMISIONIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_FacturasClienteREFERENCIA_COMISION].AsVariant := Null;
end;

function TFacturasClienteDataTableRules.GetIGNORAR_CONTABILIDADValue: SmallInt;
begin
  result := DataTable.Fields[idx_FacturasClienteIGNORAR_CONTABILIDAD].AsSmallInt;
end;

procedure TFacturasClienteDataTableRules.SetIGNORAR_CONTABILIDADValue(const aValue: SmallInt);
begin
  DataTable.Fields[idx_FacturasClienteIGNORAR_CONTABILIDAD].AsSmallInt := aValue;
end;

function TFacturasClienteDataTableRules.GetIGNORAR_CONTABILIDADIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasClienteIGNORAR_CONTABILIDAD].IsNull;
end;

procedure TFacturasClienteDataTableRules.SetIGNORAR_CONTABILIDADIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_FacturasClienteIGNORAR_CONTABILIDAD].AsVariant := Null;
end;

function TFacturasClienteDataTableRules.GetID_TIENDAValue: Integer;
begin
  result := DataTable.Fields[idx_FacturasClienteID_TIENDA].AsInteger;
end;

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

function TFacturasClienteDataTableRules.GetID_TIENDAIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasClienteID_TIENDA].IsNull;
end;

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

function TFacturasClienteDataTableRules.GetTIENDAValue: String;
begin
  result := DataTable.Fields[idx_FacturasClienteTIENDA].AsString;
end;

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

function TFacturasClienteDataTableRules.GetTIENDAIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasClienteTIENDA].IsNull;
end;

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

function TFacturasClienteDataTableRules.GetID_SUBCUENTAValue: Integer;
begin
  result := DataTable.Fields[idx_FacturasClienteID_SUBCUENTA].AsInteger;
end;

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

function TFacturasClienteDataTableRules.GetID_SUBCUENTAIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasClienteID_SUBCUENTA].IsNull;
end;

procedure TFacturasClienteDataTableRules.SetID_SUBCUENTAIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_FacturasClienteID_SUBCUENTA].AsVariant := Null;
end;

function TFacturasClienteDataTableRules.GetSUBCUENTAValue: String;
begin
  result := DataTable.Fields[idx_FacturasClienteSUBCUENTA].AsString;
end;

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

function TFacturasClienteDataTableRules.GetSUBCUENTAIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasClienteSUBCUENTA].IsNull;
end;

procedure TFacturasClienteDataTableRules.SetSUBCUENTAIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_FacturasClienteSUBCUENTA].AsVariant := Null;
end;

function TFacturasClienteDataTableRules.GetID_EJERCICIOValue: Integer;
begin
  result := DataTable.Fields[idx_FacturasClienteID_EJERCICIO].AsInteger;
end;

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

function TFacturasClienteDataTableRules.GetID_EJERCICIOIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasClienteID_EJERCICIO].IsNull;
end;

procedure TFacturasClienteDataTableRules.SetID_EJERCICIOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_FacturasClienteID_EJERCICIO].AsVariant := Null;
end;

function TFacturasClienteDataTableRules.GetESTADO_EJERCICIOValue: String;
begin
  result := DataTable.Fields[idx_FacturasClienteESTADO_EJERCICIO].AsString;
end;

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

function TFacturasClienteDataTableRules.GetESTADO_EJERCICIOIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasClienteESTADO_EJERCICIO].IsNull;
end;

procedure TFacturasClienteDataTableRules.SetESTADO_EJERCICIOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_FacturasClienteESTADO_EJERCICIO].AsVariant := Null;
end;

function TFacturasClienteDataTableRules.GetASIENTO_PUNTEADOValue: SmallInt;
begin
  result := DataTable.Fields[idx_FacturasClienteASIENTO_PUNTEADO].AsSmallInt;
end;

procedure TFacturasClienteDataTableRules.SetASIENTO_PUNTEADOValue(const aValue: SmallInt);
begin
  DataTable.Fields[idx_FacturasClienteASIENTO_PUNTEADO].AsSmallInt := aValue;
end;

function TFacturasClienteDataTableRules.GetASIENTO_PUNTEADOIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasClienteASIENTO_PUNTEADO].IsNull;
end;

procedure TFacturasClienteDataTableRules.SetASIENTO_PUNTEADOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_FacturasClienteASIENTO_PUNTEADO].AsVariant := Null;
end;

function TFacturasClienteDataTableRules.GetID_CONTRATOValue: Integer;
begin
  result := DataTable.Fields[idx_FacturasClienteID_CONTRATO].AsInteger;
end;

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

function TFacturasClienteDataTableRules.GetID_CONTRATOIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasClienteID_CONTRATO].IsNull;
end;

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

function TFacturasClienteDataTableRules.GetREF_CONTRATOValue: String;
begin
  result := DataTable.Fields[idx_FacturasClienteREF_CONTRATO].AsString;
end;

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

function TFacturasClienteDataTableRules.GetREF_CONTRATOIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasClienteREF_CONTRATO].IsNull;
end;

procedure TFacturasClienteDataTableRules.SetREF_CONTRATOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_FacturasClienteREF_CONTRATO].AsVariant := Null;
end;

function TFacturasClienteDataTableRules.GetVENDEDORValue: String;
begin
  result := DataTable.Fields[idx_FacturasClienteVENDEDOR].AsString;
end;

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

function TFacturasClienteDataTableRules.GetVENDEDORIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasClienteVENDEDOR].IsNull;
end;

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

function TFacturasClienteDataTableRules.GetSIN_COMISIONValue: SmallInt;
begin
  result := DataTable.Fields[idx_FacturasClienteSIN_COMISION].AsSmallInt;
end;

procedure TFacturasClienteDataTableRules.SetSIN_COMISIONValue(const aValue: SmallInt);
begin
  DataTable.Fields[idx_FacturasClienteSIN_COMISION].AsSmallInt := aValue;
end;

function TFacturasClienteDataTableRules.GetSIN_COMISIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasClienteSIN_COMISION].IsNull;
end;

procedure TFacturasClienteDataTableRules.SetSIN_COMISIONIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_FacturasClienteSIN_COMISION].AsVariant := Null;
end;

function TFacturasClienteDataTableRules.GetTIPO_FACTURAValue: String;
begin
  result := DataTable.Fields[idx_FacturasClienteTIPO_FACTURA].AsString;
end;

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

function TFacturasClienteDataTableRules.GetTIPO_FACTURAIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasClienteTIPO_FACTURA].IsNull;
end;

procedure TFacturasClienteDataTableRules.SetTIPO_FACTURAIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_FacturasClienteTIPO_FACTURA].AsVariant := Null;
end;

function TFacturasClienteDataTableRules.GetLISTA_NOMBRESValue: String;
begin
  result := DataTable.Fields[idx_FacturasClienteLISTA_NOMBRES].AsString;
end;

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

function TFacturasClienteDataTableRules.GetLISTA_NOMBRESIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasClienteLISTA_NOMBRES].IsNull;
end;

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

function TFacturasClienteDataTableRules.GetPROCEDENCIA_CLIENTEValue: String;
begin
  result := DataTable.Fields[idx_FacturasClientePROCEDENCIA_CLIENTE].AsString;
end;

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

function TFacturasClienteDataTableRules.GetPROCEDENCIA_CLIENTEIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasClientePROCEDENCIA_CLIENTE].IsNull;
end;

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


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

destructor TFacturasCliente_DetallesDataTableRules.Destroy;
begin
  inherited;
end;

function TFacturasCliente_DetallesDataTableRules.GetIDValue: Integer;
begin
  result := DataTable.Fields[idx_FacturasCliente_DetallesID].AsInteger;
end;

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

function TFacturasCliente_DetallesDataTableRules.GetIDIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasCliente_DetallesID].IsNull;
end;

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

function TFacturasCliente_DetallesDataTableRules.GetID_FACTURAValue: Integer;
begin
  result := DataTable.Fields[idx_FacturasCliente_DetallesID_FACTURA].AsInteger;
end;

procedure TFacturasCliente_DetallesDataTableRules.SetID_FACTURAValue(const aValue: Integer);
begin
  DataTable.Fields[idx_FacturasCliente_DetallesID_FACTURA].AsInteger := aValue;
end;

function TFacturasCliente_DetallesDataTableRules.GetID_FACTURAIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasCliente_DetallesID_FACTURA].IsNull;
end;

procedure TFacturasCliente_DetallesDataTableRules.SetID_FACTURAIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_FacturasCliente_DetallesID_FACTURA].AsVariant := Null;
end;

function TFacturasCliente_DetallesDataTableRules.GetPOSICIONValue: Integer;
begin
  result := DataTable.Fields[idx_FacturasCliente_DetallesPOSICION].AsInteger;
end;

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

function TFacturasCliente_DetallesDataTableRules.GetPOSICIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasCliente_DetallesPOSICION].IsNull;
end;

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

function TFacturasCliente_DetallesDataTableRules.GetTIPO_DETALLEValue: String;
begin
  result := DataTable.Fields[idx_FacturasCliente_DetallesTIPO_DETALLE].AsString;
end;

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

function TFacturasCliente_DetallesDataTableRules.GetTIPO_DETALLEIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasCliente_DetallesTIPO_DETALLE].IsNull;
end;

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

function TFacturasCliente_DetallesDataTableRules.GetCONCEPTOValue: String;
begin
  result := DataTable.Fields[idx_FacturasCliente_DetallesCONCEPTO].AsString;
end;

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

function TFacturasCliente_DetallesDataTableRules.GetCONCEPTOIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasCliente_DetallesCONCEPTO].IsNull;
end;

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

function TFacturasCliente_DetallesDataTableRules.GetCANTIDADValue: Float;
begin
  result := DataTable.Fields[idx_FacturasCliente_DetallesCANTIDAD].AsFloat;
end;

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

function TFacturasCliente_DetallesDataTableRules.GetCANTIDADIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasCliente_DetallesCANTIDAD].IsNull;
end;

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

function TFacturasCliente_DetallesDataTableRules.GetIMPORTE_UNIDADValue: Currency;
begin
  result := DataTable.Fields[idx_FacturasCliente_DetallesIMPORTE_UNIDAD].AsCurrency;
end;

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

function TFacturasCliente_DetallesDataTableRules.GetIMPORTE_UNIDADIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasCliente_DetallesIMPORTE_UNIDAD].IsNull;
end;

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

function TFacturasCliente_DetallesDataTableRules.GetIMPORTE_TOTALValue: Currency;
begin
  result := DataTable.Fields[idx_FacturasCliente_DetallesIMPORTE_TOTAL].AsCurrency;
end;

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

function TFacturasCliente_DetallesDataTableRules.GetIMPORTE_TOTALIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasCliente_DetallesIMPORTE_TOTAL].IsNull;
end;

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

function TFacturasCliente_DetallesDataTableRules.GetVISIBLEValue: Integer;
begin
  result := DataTable.Fields[idx_FacturasCliente_DetallesVISIBLE].AsInteger;
end;

procedure TFacturasCliente_DetallesDataTableRules.SetVISIBLEValue(const aValue: Integer);
begin
  DataTable.Fields[idx_FacturasCliente_DetallesVISIBLE].AsInteger := aValue;
end;

function TFacturasCliente_DetallesDataTableRules.GetVISIBLEIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasCliente_DetallesVISIBLE].IsNull;
end;

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

function TFacturasCliente_DetallesDataTableRules.GetID_ARTICULOValue: Integer;
begin
  result := DataTable.Fields[idx_FacturasCliente_DetallesID_ARTICULO].AsInteger;
end;

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

function TFacturasCliente_DetallesDataTableRules.GetID_ARTICULOIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasCliente_DetallesID_ARTICULO].IsNull;
end;

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

function TFacturasCliente_DetallesDataTableRules.GetDESCUENTOValue: Float;
begin
  result := DataTable.Fields[idx_FacturasCliente_DetallesDESCUENTO].AsFloat;
end;

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

function TFacturasCliente_DetallesDataTableRules.GetDESCUENTOIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasCliente_DetallesDESCUENTO].IsNull;
end;

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

function TFacturasCliente_DetallesDataTableRules.GetIMPORTE_PORTEValue: Currency;
begin
  result := DataTable.Fields[idx_FacturasCliente_DetallesIMPORTE_PORTE].AsCurrency;
end;

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

function TFacturasCliente_DetallesDataTableRules.GetIMPORTE_PORTEIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasCliente_DetallesIMPORTE_PORTE].IsNull;
end;

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

function TFacturasCliente_DetallesDataTableRules.GetREFERENCIAValue: String;
begin
  result := DataTable.Fields[idx_FacturasCliente_DetallesREFERENCIA].AsString;
end;

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

function TFacturasCliente_DetallesDataTableRules.GetREFERENCIAIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasCliente_DetallesREFERENCIA].IsNull;
end;

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

function TFacturasCliente_DetallesDataTableRules.GetREFERENCIA_PROVEEDORValue: String;
begin
  result := DataTable.Fields[idx_FacturasCliente_DetallesREFERENCIA_PROVEEDOR].AsString;
end;

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

function TFacturasCliente_DetallesDataTableRules.GetREFERENCIA_PROVEEDORIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasCliente_DetallesREFERENCIA_PROVEEDOR].IsNull;
end;

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


initialization
  RegisterDataTableRules(RID_ListaAnosFacturas, TListaAnosFacturasDataTableRules);
  RegisterDataTableRules(RID_FacturasCliente, TFacturasClienteDataTableRules);
  RegisterDataTableRules(RID_FacturasCliente_Detalles, TFacturasCliente_DetallesDataTableRules);

end.
