unit schContabilidadClient_Intf;

interface

uses
  Classes, DB, schBase_Intf, SysUtils, uROClasses, 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_DarIDCuenta = '{F934D7F5-F193-4794-AAD1-9A1B91BB3318}';
  RID_DarCodigoContableTienda = '{F27822D7-98D8-4C30-8823-DA2AEDDBB5E1}';
  RID_DarMaxRefSubCuentaProv = '{D256227B-16B9-49D5-9A88-72FFC0C0C154}';
  RID_ExisteSubCuenta = '{47F6A8CA-B5CD-418D-9DC9-3C43BC8D3C1D}';
  RID_Diario = '{06B76C35-D095-4736-9147-448CBB1ED101}';
  RID_Apuntes = '{4DC74A57-EEB3-46D8-A3CE-948530C296F2}';
  RID_Asientos = '{12A769DB-89F4-498B-B4D4-ED1477100E3B}';
  RID_SubCuentas = '{9E6B8CF8-F8CC-494A-A776-A0B3CD401846}';
  RID_Cuentas = '{5879B695-7BF0-44ED-BEF9-BB9F6F5A6CE1}';
  RID_CuentasEspeciales = '{60F17DA4-B7D1-4689-8994-B210A1A1D78B}';
  RID_Epigrafes = '{32D84D4F-995D-4D29-91AB-357C17AFBF10}';
  RID_Balances = '{BC6355C4-5817-40DA-9D6E-ED71FBB2B9DC}';
  RID_DarMaxRefSubCuentaCli = '{81CD72F3-982E-4411-90D2-0C04347D6785}';
  RID_DarNumOrdenAsiento = '{4D041128-19E0-4F71-B6C2-0657CFA24C9B}';

  { Data table names }
  nme_DarIDCuenta = 'DarIDCuenta';
  nme_DarCodigoContableTienda = 'DarCodigoContableTienda';
  nme_DarMaxRefSubCuentaProv = 'DarMaxRefSubCuentaProv';
  nme_ExisteSubCuenta = 'ExisteSubCuenta';
  nme_Diario = 'Diario';
  nme_Apuntes = 'Apuntes';
  nme_Asientos = 'Asientos';
  nme_SubCuentas = 'SubCuentas';
  nme_Cuentas = 'Cuentas';
  nme_CuentasEspeciales = 'CuentasEspeciales';
  nme_Epigrafes = 'Epigrafes';
  nme_Balances = 'Balances';
  nme_DarMaxRefSubCuentaCli = 'DarMaxRefSubCuentaCli';
  nme_DarNumOrdenAsiento = 'DarNumOrdenAsiento';

  { DarIDCuenta fields }
  fld_DarIDCuentaID = 'ID';

  { DarIDCuenta field indexes }
  idx_DarIDCuentaID = 0;

  { DarCodigoContableTienda fields }
  fld_DarCodigoContableTiendaCODIGO_CONTABLE = 'CODIGO_CONTABLE';

  { DarCodigoContableTienda field indexes }
  idx_DarCodigoContableTiendaCODIGO_CONTABLE = 0;

  { DarMaxRefSubCuentaProv fields }
  fld_DarMaxRefSubCuentaProvMAX = 'MAX';

  { DarMaxRefSubCuentaProv field indexes }
  idx_DarMaxRefSubCuentaProvMAX = 0;

  { ExisteSubCuenta fields }
  fld_ExisteSubCuentaCOUNT = 'COUNT';

  { ExisteSubCuenta field indexes }
  idx_ExisteSubCuentaCOUNT = 0;

  { Diario fields }
  fld_DiarioID_APUNTE = 'ID_APUNTE';
  fld_DiarioID_ASIENTO = 'ID_ASIENTO';
  fld_DiarioID_FACTURA = 'ID_FACTURA';
  fld_DiarioID_PAGO = 'ID_PAGO';
  fld_DiarioTIPO = 'TIPO';
  fld_DiarioORDEN_ASIENTO = 'ORDEN_ASIENTO';
  fld_DiarioFECHA_ASIENTO = 'FECHA_ASIENTO';
  fld_DiarioID_SUBCUENTA = 'ID_SUBCUENTA';
  fld_DiarioREF_SUBCUENTA = 'REF_SUBCUENTA';
  fld_DiarioSUBCUENTA = 'SUBCUENTA';
  fld_DiarioID_EJERCICIO = 'ID_EJERCICIO';
  fld_DiarioESTADO = 'ESTADO';
  fld_DiarioCONCEPTO = 'CONCEPTO';
  fld_DiarioDOCUMENTO = 'DOCUMENTO';
  fld_DiarioDEBE = 'DEBE';
  fld_DiarioHABER = 'HABER';
  fld_DiarioPUNTEADO = 'PUNTEADO';
  fld_DiarioSALDO = 'SALDO';

  { Diario field indexes }
  idx_DiarioID_APUNTE = 0;
  idx_DiarioID_ASIENTO = 1;
  idx_DiarioID_FACTURA = 2;
  idx_DiarioID_PAGO = 3;
  idx_DiarioTIPO = 4;
  idx_DiarioORDEN_ASIENTO = 5;
  idx_DiarioFECHA_ASIENTO = 6;
  idx_DiarioID_SUBCUENTA = 7;
  idx_DiarioREF_SUBCUENTA = 8;
  idx_DiarioSUBCUENTA = 9;
  idx_DiarioID_EJERCICIO = 10;
  idx_DiarioESTADO = 11;
  idx_DiarioCONCEPTO = 12;
  idx_DiarioDOCUMENTO = 13;
  idx_DiarioDEBE = 14;
  idx_DiarioHABER = 15;
  idx_DiarioPUNTEADO = 16;
  idx_DiarioSALDO = 17;

  { Apuntes fields }
  fld_ApuntesID = 'ID';
  fld_ApuntesID_ASIENTO = 'ID_ASIENTO';
  fld_ApuntesID_SUBCUENTA = 'ID_SUBCUENTA';
  fld_ApuntesNUM_ORDEN = 'NUM_ORDEN';
  fld_ApuntesREF_SUBCUENTA = 'REF_SUBCUENTA';
  fld_ApuntesSUBCUENTA = 'SUBCUENTA';
  fld_ApuntesCONCEPTO = 'CONCEPTO';
  fld_ApuntesDOCUMENTO = 'DOCUMENTO';
  fld_ApuntesDEBE = 'DEBE';
  fld_ApuntesHABER = 'HABER';
  fld_ApuntesPUNTEADO = 'PUNTEADO';

  { Apuntes field indexes }
  idx_ApuntesID = 0;
  idx_ApuntesID_ASIENTO = 1;
  idx_ApuntesID_SUBCUENTA = 2;
  idx_ApuntesNUM_ORDEN = 3;
  idx_ApuntesREF_SUBCUENTA = 4;
  idx_ApuntesSUBCUENTA = 5;
  idx_ApuntesCONCEPTO = 6;
  idx_ApuntesDOCUMENTO = 7;
  idx_ApuntesDEBE = 8;
  idx_ApuntesHABER = 9;
  idx_ApuntesPUNTEADO = 10;

  { Asientos fields }
  fld_AsientosID = 'ID';
  fld_AsientosFECHA_ASIENTO = 'FECHA_ASIENTO';
  fld_AsientosORDEN = 'ORDEN';
  fld_AsientosID_FACTURA = 'ID_FACTURA';
  fld_AsientosID_PAGO = 'ID_PAGO';
  fld_AsientosTIPO = 'TIPO';

  { Asientos field indexes }
  idx_AsientosID = 0;
  idx_AsientosFECHA_ASIENTO = 1;
  idx_AsientosORDEN = 2;
  idx_AsientosID_FACTURA = 3;
  idx_AsientosID_PAGO = 4;
  idx_AsientosTIPO = 5;

  { SubCuentas fields }
  fld_SubCuentasID = 'ID';
  fld_SubCuentasREF_SUBCUENTA = 'REF_SUBCUENTA';
  fld_SubCuentasDESCRIPCION = 'DESCRIPCION';
  fld_SubCuentasID_EJERCICIO = 'ID_EJERCICIO';
  fld_SubCuentasESTADO = 'ESTADO';
  fld_SubCuentasREF_EPIGRAFE_PADRE = 'REF_EPIGRAFE_PADRE';
  fld_SubCuentasID_CONTACTO = 'ID_CONTACTO';
  fld_SubCuentasID_CUENTA = 'ID_CUENTA';
  fld_SubCuentasREF_CUENTA = 'REF_CUENTA';
  fld_SubCuentasCUENTA = 'CUENTA';
  fld_SubCuentasDEBE = 'DEBE';
  fld_SubCuentasHABER = 'HABER';
  fld_SubCuentasSALDO = 'SALDO';

  { SubCuentas field indexes }
  idx_SubCuentasID = 0;
  idx_SubCuentasREF_SUBCUENTA = 1;
  idx_SubCuentasDESCRIPCION = 2;
  idx_SubCuentasID_EJERCICIO = 3;
  idx_SubCuentasESTADO = 4;
  idx_SubCuentasREF_EPIGRAFE_PADRE = 5;
  idx_SubCuentasID_CONTACTO = 6;
  idx_SubCuentasID_CUENTA = 7;
  idx_SubCuentasREF_CUENTA = 8;
  idx_SubCuentasCUENTA = 9;
  idx_SubCuentasDEBE = 10;
  idx_SubCuentasHABER = 11;
  idx_SubCuentasSALDO = 12;

  { Cuentas fields }
  fld_CuentasID = 'ID';
  fld_CuentasREF_CUENTA = 'REF_CUENTA';
  fld_CuentasID_EJERCICIO = 'ID_EJERCICIO';
  fld_CuentasESTADO = 'ESTADO';
  fld_CuentasDESCRIPCION = 'DESCRIPCION';
  fld_CuentasID_EPIGRAFE = 'ID_EPIGRAFE';
  fld_CuentasEPIGRAFE = 'EPIGRAFE';
  fld_CuentasID_BALANCE = 'ID_BALANCE';
  fld_CuentasBALANCE = 'BALANCE';
  fld_CuentasID_CUENTA_ESPECIAL = 'ID_CUENTA_ESPECIAL';
  fld_CuentasCUENTA_ESPECIAL = 'CUENTA_ESPECIAL';

  { Cuentas field indexes }
  idx_CuentasID = 0;
  idx_CuentasREF_CUENTA = 1;
  idx_CuentasID_EJERCICIO = 2;
  idx_CuentasESTADO = 3;
  idx_CuentasDESCRIPCION = 4;
  idx_CuentasID_EPIGRAFE = 5;
  idx_CuentasEPIGRAFE = 6;
  idx_CuentasID_BALANCE = 7;
  idx_CuentasBALANCE = 8;
  idx_CuentasID_CUENTA_ESPECIAL = 9;
  idx_CuentasCUENTA_ESPECIAL = 10;

  { CuentasEspeciales fields }
  fld_CuentasEspecialesID = 'ID';
  fld_CuentasEspecialesREFERENCIA = 'REFERENCIA';
  fld_CuentasEspecialesDESCRIPCION = 'DESCRIPCION';

  { CuentasEspeciales field indexes }
  idx_CuentasEspecialesID = 0;
  idx_CuentasEspecialesREFERENCIA = 1;
  idx_CuentasEspecialesDESCRIPCION = 2;

  { Epigrafes fields }
  fld_EpigrafesID = 'ID';
  fld_EpigrafesREF_EPIGRAFE = 'REF_EPIGRAFE';
  fld_EpigrafesDESCRIPCION = 'DESCRIPCION';
  fld_EpigrafesID_EJERCICIO = 'ID_EJERCICIO';
  fld_EpigrafesESTADO = 'ESTADO';
  fld_EpigrafesID_PADRE = 'ID_PADRE';
  fld_EpigrafesEPIGRAFE_PADRE = 'EPIGRAFE_PADRE';

  { Epigrafes field indexes }
  idx_EpigrafesID = 0;
  idx_EpigrafesREF_EPIGRAFE = 1;
  idx_EpigrafesDESCRIPCION = 2;
  idx_EpigrafesID_EJERCICIO = 3;
  idx_EpigrafesESTADO = 4;
  idx_EpigrafesID_PADRE = 5;
  idx_EpigrafesEPIGRAFE_PADRE = 6;

  { Balances fields }
  fld_BalancesID = 'ID';
  fld_BalancesREF_BALANCE = 'REF_BALANCE';
  fld_BalancesNATURALEZA = 'NATURALEZA';
  fld_BalancesNIVEL1 = 'NIVEL1';
  fld_BalancesDESCRIPCION1 = 'DESCRIPCION1';
  fld_BalancesNIVEL2 = 'NIVEL2';
  fld_BalancesDESCRIPCION2 = 'DESCRIPCION2';
  fld_BalancesNIVEL3 = 'NIVEL3';
  fld_BalancesDESCRIPCION3 = 'DESCRIPCION3';

  { Balances field indexes }
  idx_BalancesID = 0;
  idx_BalancesREF_BALANCE = 1;
  idx_BalancesNATURALEZA = 2;
  idx_BalancesNIVEL1 = 3;
  idx_BalancesDESCRIPCION1 = 4;
  idx_BalancesNIVEL2 = 5;
  idx_BalancesDESCRIPCION2 = 6;
  idx_BalancesNIVEL3 = 7;
  idx_BalancesDESCRIPCION3 = 8;

  { DarMaxRefSubCuentaCli fields }
  fld_DarMaxRefSubCuentaCliMAX = 'MAX';

  { DarMaxRefSubCuentaCli field indexes }
  idx_DarMaxRefSubCuentaCliMAX = 0;

  { DarNumOrdenAsiento fields }
  fld_DarNumOrdenAsientoNUM_ORDEN = 'NUM_ORDEN';

  { DarNumOrdenAsiento field indexes }
  idx_DarNumOrdenAsientoNUM_ORDEN = 0;

type
  { IDarIDCuenta }
  IDarIDCuenta = interface(IDAStronglyTypedDataTable)
  ['{D8F2113C-47E1-4D5F-84B1-55356AC09BEC}']
    { Property getters and setters }
    function GetIDValue: Integer;
    procedure SetIDValue(const aValue: Integer);
    function GetIDIsNull: Boolean;
    procedure SetIDIsNull(const aValue: Boolean);


    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
  end;

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

    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;

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

  end;

  { IDarCodigoContableTienda }
  IDarCodigoContableTienda = interface(IDAStronglyTypedDataTable)
  ['{727DD029-68E9-4D58-9243-EBB2C9F1CBF4}']
    { Property getters and setters }
    function GetCODIGO_CONTABLEValue: String;
    procedure SetCODIGO_CONTABLEValue(const aValue: String);
    function GetCODIGO_CONTABLEIsNull: Boolean;
    procedure SetCODIGO_CONTABLEIsNull(const aValue: Boolean);


    { Properties }
    property CODIGO_CONTABLE: String read GetCODIGO_CONTABLEValue write SetCODIGO_CONTABLEValue;
    property CODIGO_CONTABLEIsNull: Boolean read GetCODIGO_CONTABLEIsNull write SetCODIGO_CONTABLEIsNull;
  end;

  { TDarCodigoContableTiendaDataTableRules }
  TDarCodigoContableTiendaDataTableRules = class(TIntfObjectDADataTableRules, IDarCodigoContableTienda)
  private
  protected
    { Property getters and setters }
    function GetCODIGO_CONTABLEValue: String; virtual;
    procedure SetCODIGO_CONTABLEValue(const aValue: String); virtual;
    function GetCODIGO_CONTABLEIsNull: Boolean; virtual;
    procedure SetCODIGO_CONTABLEIsNull(const aValue: Boolean); virtual;

    { Properties }
    property CODIGO_CONTABLE: String read GetCODIGO_CONTABLEValue write SetCODIGO_CONTABLEValue;
    property CODIGO_CONTABLEIsNull: Boolean read GetCODIGO_CONTABLEIsNull write SetCODIGO_CONTABLEIsNull;

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

  end;

  { IDarMaxRefSubCuentaProv }
  IDarMaxRefSubCuentaProv = interface(IDAStronglyTypedDataTable)
  ['{3254BD1F-1143-411F-A64A-04EDA953DAFA}']
    { Property getters and setters }
    function GetMAXValue: Integer;
    procedure SetMAXValue(const aValue: Integer);
    function GetMAXIsNull: Boolean;
    procedure SetMAXIsNull(const aValue: Boolean);


    { Properties }
    property MAX: Integer read GetMAXValue write SetMAXValue;
    property MAXIsNull: Boolean read GetMAXIsNull write SetMAXIsNull;
  end;

  { TDarMaxRefSubCuentaProvDataTableRules }
  TDarMaxRefSubCuentaProvDataTableRules = class(TIntfObjectDADataTableRules, IDarMaxRefSubCuentaProv)
  private
  protected
    { Property getters and setters }
    function GetMAXValue: Integer; virtual;
    procedure SetMAXValue(const aValue: Integer); virtual;
    function GetMAXIsNull: Boolean; virtual;
    procedure SetMAXIsNull(const aValue: Boolean); virtual;

    { Properties }
    property MAX: Integer read GetMAXValue write SetMAXValue;
    property MAXIsNull: Boolean read GetMAXIsNull write SetMAXIsNull;

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

  end;

  { IExisteSubCuenta }
  IExisteSubCuenta = interface(IDAStronglyTypedDataTable)
  ['{4D4EBC68-3266-448B-8BA7-B804B42AD5CC}']
    { Property getters and setters }
    function GetCOUNTValue: Integer;
    procedure SetCOUNTValue(const aValue: Integer);
    function GetCOUNTIsNull: Boolean;
    procedure SetCOUNTIsNull(const aValue: Boolean);


    { Properties }
    property COUNT: Integer read GetCOUNTValue write SetCOUNTValue;
    property COUNTIsNull: Boolean read GetCOUNTIsNull write SetCOUNTIsNull;
  end;

  { TExisteSubCuentaDataTableRules }
  TExisteSubCuentaDataTableRules = class(TIntfObjectDADataTableRules, IExisteSubCuenta)
  private
  protected
    { Property getters and setters }
    function GetCOUNTValue: Integer; virtual;
    procedure SetCOUNTValue(const aValue: Integer); virtual;
    function GetCOUNTIsNull: Boolean; virtual;
    procedure SetCOUNTIsNull(const aValue: Boolean); virtual;

    { Properties }
    property COUNT: Integer read GetCOUNTValue write SetCOUNTValue;
    property COUNTIsNull: Boolean read GetCOUNTIsNull write SetCOUNTIsNull;

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

  end;

  { IDiario }
  IDiario = interface(IDAStronglyTypedDataTable)
  ['{BD3DC12E-83B7-43CD-93AC-AF94EA64BADA}']
    { Property getters and setters }
    function GetID_APUNTEValue: Integer;
    procedure SetID_APUNTEValue(const aValue: Integer);
    function GetID_APUNTEIsNull: Boolean;
    procedure SetID_APUNTEIsNull(const aValue: Boolean);
    function GetID_ASIENTOValue: Integer;
    procedure SetID_ASIENTOValue(const aValue: Integer);
    function GetID_ASIENTOIsNull: Boolean;
    procedure SetID_ASIENTOIsNull(const aValue: Boolean);
    function GetID_FACTURAValue: Integer;
    procedure SetID_FACTURAValue(const aValue: Integer);
    function GetID_FACTURAIsNull: Boolean;
    procedure SetID_FACTURAIsNull(const aValue: Boolean);
    function GetID_PAGOValue: Integer;
    procedure SetID_PAGOValue(const aValue: Integer);
    function GetID_PAGOIsNull: Boolean;
    procedure SetID_PAGOIsNull(const aValue: Boolean);
    function GetTIPOValue: String;
    procedure SetTIPOValue(const aValue: String);
    function GetTIPOIsNull: Boolean;
    procedure SetTIPOIsNull(const aValue: Boolean);
    function GetORDEN_ASIENTOValue: Integer;
    procedure SetORDEN_ASIENTOValue(const aValue: Integer);
    function GetORDEN_ASIENTOIsNull: Boolean;
    procedure SetORDEN_ASIENTOIsNull(const aValue: Boolean);
    function GetFECHA_ASIENTOValue: DateTime;
    procedure SetFECHA_ASIENTOValue(const aValue: DateTime);
    function GetFECHA_ASIENTOIsNull: Boolean;
    procedure SetFECHA_ASIENTOIsNull(const aValue: Boolean);
    function GetID_SUBCUENTAValue: Integer;
    procedure SetID_SUBCUENTAValue(const aValue: Integer);
    function GetID_SUBCUENTAIsNull: Boolean;
    procedure SetID_SUBCUENTAIsNull(const aValue: Boolean);
    function GetREF_SUBCUENTAValue: String;
    procedure SetREF_SUBCUENTAValue(const aValue: String);
    function GetREF_SUBCUENTAIsNull: Boolean;
    procedure SetREF_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 GetESTADOValue: String;
    procedure SetESTADOValue(const aValue: String);
    function GetESTADOIsNull: Boolean;
    procedure SetESTADOIsNull(const aValue: Boolean);
    function GetCONCEPTOValue: String;
    procedure SetCONCEPTOValue(const aValue: String);
    function GetCONCEPTOIsNull: Boolean;
    procedure SetCONCEPTOIsNull(const aValue: Boolean);
    function GetDOCUMENTOValue: String;
    procedure SetDOCUMENTOValue(const aValue: String);
    function GetDOCUMENTOIsNull: Boolean;
    procedure SetDOCUMENTOIsNull(const aValue: Boolean);
    function GetDEBEValue: Currency;
    procedure SetDEBEValue(const aValue: Currency);
    function GetDEBEIsNull: Boolean;
    procedure SetDEBEIsNull(const aValue: Boolean);
    function GetHABERValue: Currency;
    procedure SetHABERValue(const aValue: Currency);
    function GetHABERIsNull: Boolean;
    procedure SetHABERIsNull(const aValue: Boolean);
    function GetPUNTEADOValue: SmallInt;
    procedure SetPUNTEADOValue(const aValue: SmallInt);
    function GetPUNTEADOIsNull: Boolean;
    procedure SetPUNTEADOIsNull(const aValue: Boolean);
    function GetSALDOValue: Currency;
    procedure SetSALDOValue(const aValue: Currency);
    function GetSALDOIsNull: Boolean;
    procedure SetSALDOIsNull(const aValue: Boolean);


    { Properties }
    property ID_APUNTE: Integer read GetID_APUNTEValue write SetID_APUNTEValue;
    property ID_APUNTEIsNull: Boolean read GetID_APUNTEIsNull write SetID_APUNTEIsNull;
    property ID_ASIENTO: Integer read GetID_ASIENTOValue write SetID_ASIENTOValue;
    property ID_ASIENTOIsNull: Boolean read GetID_ASIENTOIsNull write SetID_ASIENTOIsNull;
    property ID_FACTURA: Integer read GetID_FACTURAValue write SetID_FACTURAValue;
    property ID_FACTURAIsNull: Boolean read GetID_FACTURAIsNull write SetID_FACTURAIsNull;
    property ID_PAGO: Integer read GetID_PAGOValue write SetID_PAGOValue;
    property ID_PAGOIsNull: Boolean read GetID_PAGOIsNull write SetID_PAGOIsNull;
    property TIPO: String read GetTIPOValue write SetTIPOValue;
    property TIPOIsNull: Boolean read GetTIPOIsNull write SetTIPOIsNull;
    property ORDEN_ASIENTO: Integer read GetORDEN_ASIENTOValue write SetORDEN_ASIENTOValue;
    property ORDEN_ASIENTOIsNull: Boolean read GetORDEN_ASIENTOIsNull write SetORDEN_ASIENTOIsNull;
    property FECHA_ASIENTO: DateTime read GetFECHA_ASIENTOValue write SetFECHA_ASIENTOValue;
    property FECHA_ASIENTOIsNull: Boolean read GetFECHA_ASIENTOIsNull write SetFECHA_ASIENTOIsNull;
    property ID_SUBCUENTA: Integer read GetID_SUBCUENTAValue write SetID_SUBCUENTAValue;
    property ID_SUBCUENTAIsNull: Boolean read GetID_SUBCUENTAIsNull write SetID_SUBCUENTAIsNull;
    property REF_SUBCUENTA: String read GetREF_SUBCUENTAValue write SetREF_SUBCUENTAValue;
    property REF_SUBCUENTAIsNull: Boolean read GetREF_SUBCUENTAIsNull write SetREF_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: String read GetESTADOValue write SetESTADOValue;
    property ESTADOIsNull: Boolean read GetESTADOIsNull write SetESTADOIsNull;
    property CONCEPTO: String read GetCONCEPTOValue write SetCONCEPTOValue;
    property CONCEPTOIsNull: Boolean read GetCONCEPTOIsNull write SetCONCEPTOIsNull;
    property DOCUMENTO: String read GetDOCUMENTOValue write SetDOCUMENTOValue;
    property DOCUMENTOIsNull: Boolean read GetDOCUMENTOIsNull write SetDOCUMENTOIsNull;
    property DEBE: Currency read GetDEBEValue write SetDEBEValue;
    property DEBEIsNull: Boolean read GetDEBEIsNull write SetDEBEIsNull;
    property HABER: Currency read GetHABERValue write SetHABERValue;
    property HABERIsNull: Boolean read GetHABERIsNull write SetHABERIsNull;
    property PUNTEADO: SmallInt read GetPUNTEADOValue write SetPUNTEADOValue;
    property PUNTEADOIsNull: Boolean read GetPUNTEADOIsNull write SetPUNTEADOIsNull;
    property SALDO: Currency read GetSALDOValue write SetSALDOValue;
    property SALDOIsNull: Boolean read GetSALDOIsNull write SetSALDOIsNull;
  end;

  { TDiarioDataTableRules }
  TDiarioDataTableRules = class(TIntfObjectDADataTableRules, IDiario)
  private
  protected
    { Property getters and setters }
    function GetID_APUNTEValue: Integer; virtual;
    procedure SetID_APUNTEValue(const aValue: Integer); virtual;
    function GetID_APUNTEIsNull: Boolean; virtual;
    procedure SetID_APUNTEIsNull(const aValue: Boolean); virtual;
    function GetID_ASIENTOValue: Integer; virtual;
    procedure SetID_ASIENTOValue(const aValue: Integer); virtual;
    function GetID_ASIENTOIsNull: Boolean; virtual;
    procedure SetID_ASIENTOIsNull(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 GetID_PAGOValue: Integer; virtual;
    procedure SetID_PAGOValue(const aValue: Integer); virtual;
    function GetID_PAGOIsNull: Boolean; virtual;
    procedure SetID_PAGOIsNull(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 GetORDEN_ASIENTOValue: Integer; virtual;
    procedure SetORDEN_ASIENTOValue(const aValue: Integer); virtual;
    function GetORDEN_ASIENTOIsNull: Boolean; virtual;
    procedure SetORDEN_ASIENTOIsNull(const aValue: Boolean); virtual;
    function GetFECHA_ASIENTOValue: DateTime; virtual;
    procedure SetFECHA_ASIENTOValue(const aValue: DateTime); virtual;
    function GetFECHA_ASIENTOIsNull: Boolean; virtual;
    procedure SetFECHA_ASIENTOIsNull(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 GetREF_SUBCUENTAValue: String; virtual;
    procedure SetREF_SUBCUENTAValue(const aValue: String); virtual;
    function GetREF_SUBCUENTAIsNull: Boolean; virtual;
    procedure SetREF_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 GetESTADOValue: String; virtual;
    procedure SetESTADOValue(const aValue: String); virtual;
    function GetESTADOIsNull: Boolean; virtual;
    procedure SetESTADOIsNull(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 GetDOCUMENTOValue: String; virtual;
    procedure SetDOCUMENTOValue(const aValue: String); virtual;
    function GetDOCUMENTOIsNull: Boolean; virtual;
    procedure SetDOCUMENTOIsNull(const aValue: Boolean); virtual;
    function GetDEBEValue: Currency; virtual;
    procedure SetDEBEValue(const aValue: Currency); virtual;
    function GetDEBEIsNull: Boolean; virtual;
    procedure SetDEBEIsNull(const aValue: Boolean); virtual;
    function GetHABERValue: Currency; virtual;
    procedure SetHABERValue(const aValue: Currency); virtual;
    function GetHABERIsNull: Boolean; virtual;
    procedure SetHABERIsNull(const aValue: Boolean); virtual;
    function GetPUNTEADOValue: SmallInt; virtual;
    procedure SetPUNTEADOValue(const aValue: SmallInt); virtual;
    function GetPUNTEADOIsNull: Boolean; virtual;
    procedure SetPUNTEADOIsNull(const aValue: Boolean); virtual;
    function GetSALDOValue: Currency; virtual;
    procedure SetSALDOValue(const aValue: Currency); virtual;
    function GetSALDOIsNull: Boolean; virtual;
    procedure SetSALDOIsNull(const aValue: Boolean); virtual;

    { Properties }
    property ID_APUNTE: Integer read GetID_APUNTEValue write SetID_APUNTEValue;
    property ID_APUNTEIsNull: Boolean read GetID_APUNTEIsNull write SetID_APUNTEIsNull;
    property ID_ASIENTO: Integer read GetID_ASIENTOValue write SetID_ASIENTOValue;
    property ID_ASIENTOIsNull: Boolean read GetID_ASIENTOIsNull write SetID_ASIENTOIsNull;
    property ID_FACTURA: Integer read GetID_FACTURAValue write SetID_FACTURAValue;
    property ID_FACTURAIsNull: Boolean read GetID_FACTURAIsNull write SetID_FACTURAIsNull;
    property ID_PAGO: Integer read GetID_PAGOValue write SetID_PAGOValue;
    property ID_PAGOIsNull: Boolean read GetID_PAGOIsNull write SetID_PAGOIsNull;
    property TIPO: String read GetTIPOValue write SetTIPOValue;
    property TIPOIsNull: Boolean read GetTIPOIsNull write SetTIPOIsNull;
    property ORDEN_ASIENTO: Integer read GetORDEN_ASIENTOValue write SetORDEN_ASIENTOValue;
    property ORDEN_ASIENTOIsNull: Boolean read GetORDEN_ASIENTOIsNull write SetORDEN_ASIENTOIsNull;
    property FECHA_ASIENTO: DateTime read GetFECHA_ASIENTOValue write SetFECHA_ASIENTOValue;
    property FECHA_ASIENTOIsNull: Boolean read GetFECHA_ASIENTOIsNull write SetFECHA_ASIENTOIsNull;
    property ID_SUBCUENTA: Integer read GetID_SUBCUENTAValue write SetID_SUBCUENTAValue;
    property ID_SUBCUENTAIsNull: Boolean read GetID_SUBCUENTAIsNull write SetID_SUBCUENTAIsNull;
    property REF_SUBCUENTA: String read GetREF_SUBCUENTAValue write SetREF_SUBCUENTAValue;
    property REF_SUBCUENTAIsNull: Boolean read GetREF_SUBCUENTAIsNull write SetREF_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: String read GetESTADOValue write SetESTADOValue;
    property ESTADOIsNull: Boolean read GetESTADOIsNull write SetESTADOIsNull;
    property CONCEPTO: String read GetCONCEPTOValue write SetCONCEPTOValue;
    property CONCEPTOIsNull: Boolean read GetCONCEPTOIsNull write SetCONCEPTOIsNull;
    property DOCUMENTO: String read GetDOCUMENTOValue write SetDOCUMENTOValue;
    property DOCUMENTOIsNull: Boolean read GetDOCUMENTOIsNull write SetDOCUMENTOIsNull;
    property DEBE: Currency read GetDEBEValue write SetDEBEValue;
    property DEBEIsNull: Boolean read GetDEBEIsNull write SetDEBEIsNull;
    property HABER: Currency read GetHABERValue write SetHABERValue;
    property HABERIsNull: Boolean read GetHABERIsNull write SetHABERIsNull;
    property PUNTEADO: SmallInt read GetPUNTEADOValue write SetPUNTEADOValue;
    property PUNTEADOIsNull: Boolean read GetPUNTEADOIsNull write SetPUNTEADOIsNull;
    property SALDO: Currency read GetSALDOValue write SetSALDOValue;
    property SALDOIsNull: Boolean read GetSALDOIsNull write SetSALDOIsNull;

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

  end;

  { IApuntes }
  IApuntes = interface(IDAStronglyTypedDataTable)
  ['{5B4D39B8-C07D-408F-9C38-D0C2E3A29D63}']
    { Property getters and setters }
    function GetIDValue: Integer;
    procedure SetIDValue(const aValue: Integer);
    function GetIDIsNull: Boolean;
    procedure SetIDIsNull(const aValue: Boolean);
    function GetID_ASIENTOValue: Integer;
    procedure SetID_ASIENTOValue(const aValue: Integer);
    function GetID_ASIENTOIsNull: Boolean;
    procedure SetID_ASIENTOIsNull(const aValue: Boolean);
    function GetID_SUBCUENTAValue: Integer;
    procedure SetID_SUBCUENTAValue(const aValue: Integer);
    function GetID_SUBCUENTAIsNull: Boolean;
    procedure SetID_SUBCUENTAIsNull(const aValue: Boolean);
    function GetNUM_ORDENValue: Integer;
    procedure SetNUM_ORDENValue(const aValue: Integer);
    function GetNUM_ORDENIsNull: Boolean;
    procedure SetNUM_ORDENIsNull(const aValue: Boolean);
    function GetREF_SUBCUENTAValue: String;
    procedure SetREF_SUBCUENTAValue(const aValue: String);
    function GetREF_SUBCUENTAIsNull: Boolean;
    procedure SetREF_SUBCUENTAIsNull(const aValue: Boolean);
    function GetSUBCUENTAValue: String;
    procedure SetSUBCUENTAValue(const aValue: String);
    function GetSUBCUENTAIsNull: Boolean;
    procedure SetSUBCUENTAIsNull(const aValue: Boolean);
    function GetCONCEPTOValue: String;
    procedure SetCONCEPTOValue(const aValue: String);
    function GetCONCEPTOIsNull: Boolean;
    procedure SetCONCEPTOIsNull(const aValue: Boolean);
    function GetDOCUMENTOValue: String;
    procedure SetDOCUMENTOValue(const aValue: String);
    function GetDOCUMENTOIsNull: Boolean;
    procedure SetDOCUMENTOIsNull(const aValue: Boolean);
    function GetDEBEValue: Currency;
    procedure SetDEBEValue(const aValue: Currency);
    function GetDEBEIsNull: Boolean;
    procedure SetDEBEIsNull(const aValue: Boolean);
    function GetHABERValue: Currency;
    procedure SetHABERValue(const aValue: Currency);
    function GetHABERIsNull: Boolean;
    procedure SetHABERIsNull(const aValue: Boolean);
    function GetPUNTEADOValue: SmallInt;
    procedure SetPUNTEADOValue(const aValue: SmallInt);
    function GetPUNTEADOIsNull: Boolean;
    procedure SetPUNTEADOIsNull(const aValue: Boolean);


    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property ID_ASIENTO: Integer read GetID_ASIENTOValue write SetID_ASIENTOValue;
    property ID_ASIENTOIsNull: Boolean read GetID_ASIENTOIsNull write SetID_ASIENTOIsNull;
    property ID_SUBCUENTA: Integer read GetID_SUBCUENTAValue write SetID_SUBCUENTAValue;
    property ID_SUBCUENTAIsNull: Boolean read GetID_SUBCUENTAIsNull write SetID_SUBCUENTAIsNull;
    property NUM_ORDEN: Integer read GetNUM_ORDENValue write SetNUM_ORDENValue;
    property NUM_ORDENIsNull: Boolean read GetNUM_ORDENIsNull write SetNUM_ORDENIsNull;
    property REF_SUBCUENTA: String read GetREF_SUBCUENTAValue write SetREF_SUBCUENTAValue;
    property REF_SUBCUENTAIsNull: Boolean read GetREF_SUBCUENTAIsNull write SetREF_SUBCUENTAIsNull;
    property SUBCUENTA: String read GetSUBCUENTAValue write SetSUBCUENTAValue;
    property SUBCUENTAIsNull: Boolean read GetSUBCUENTAIsNull write SetSUBCUENTAIsNull;
    property CONCEPTO: String read GetCONCEPTOValue write SetCONCEPTOValue;
    property CONCEPTOIsNull: Boolean read GetCONCEPTOIsNull write SetCONCEPTOIsNull;
    property DOCUMENTO: String read GetDOCUMENTOValue write SetDOCUMENTOValue;
    property DOCUMENTOIsNull: Boolean read GetDOCUMENTOIsNull write SetDOCUMENTOIsNull;
    property DEBE: Currency read GetDEBEValue write SetDEBEValue;
    property DEBEIsNull: Boolean read GetDEBEIsNull write SetDEBEIsNull;
    property HABER: Currency read GetHABERValue write SetHABERValue;
    property HABERIsNull: Boolean read GetHABERIsNull write SetHABERIsNull;
    property PUNTEADO: SmallInt read GetPUNTEADOValue write SetPUNTEADOValue;
    property PUNTEADOIsNull: Boolean read GetPUNTEADOIsNull write SetPUNTEADOIsNull;
  end;

  { TApuntesDataTableRules }
  TApuntesDataTableRules = class(TIntfObjectDADataTableRules, IApuntes)
  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_ASIENTOValue: Integer; virtual;
    procedure SetID_ASIENTOValue(const aValue: Integer); virtual;
    function GetID_ASIENTOIsNull: Boolean; virtual;
    procedure SetID_ASIENTOIsNull(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 GetNUM_ORDENValue: Integer; virtual;
    procedure SetNUM_ORDENValue(const aValue: Integer); virtual;
    function GetNUM_ORDENIsNull: Boolean; virtual;
    procedure SetNUM_ORDENIsNull(const aValue: Boolean); virtual;
    function GetREF_SUBCUENTAValue: String; virtual;
    procedure SetREF_SUBCUENTAValue(const aValue: String); virtual;
    function GetREF_SUBCUENTAIsNull: Boolean; virtual;
    procedure SetREF_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 GetCONCEPTOValue: String; virtual;
    procedure SetCONCEPTOValue(const aValue: String); virtual;
    function GetCONCEPTOIsNull: Boolean; virtual;
    procedure SetCONCEPTOIsNull(const aValue: Boolean); virtual;
    function GetDOCUMENTOValue: String; virtual;
    procedure SetDOCUMENTOValue(const aValue: String); virtual;
    function GetDOCUMENTOIsNull: Boolean; virtual;
    procedure SetDOCUMENTOIsNull(const aValue: Boolean); virtual;
    function GetDEBEValue: Currency; virtual;
    procedure SetDEBEValue(const aValue: Currency); virtual;
    function GetDEBEIsNull: Boolean; virtual;
    procedure SetDEBEIsNull(const aValue: Boolean); virtual;
    function GetHABERValue: Currency; virtual;
    procedure SetHABERValue(const aValue: Currency); virtual;
    function GetHABERIsNull: Boolean; virtual;
    procedure SetHABERIsNull(const aValue: Boolean); virtual;
    function GetPUNTEADOValue: SmallInt; virtual;
    procedure SetPUNTEADOValue(const aValue: SmallInt); virtual;
    function GetPUNTEADOIsNull: Boolean; virtual;
    procedure SetPUNTEADOIsNull(const aValue: Boolean); virtual;

    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property ID_ASIENTO: Integer read GetID_ASIENTOValue write SetID_ASIENTOValue;
    property ID_ASIENTOIsNull: Boolean read GetID_ASIENTOIsNull write SetID_ASIENTOIsNull;
    property ID_SUBCUENTA: Integer read GetID_SUBCUENTAValue write SetID_SUBCUENTAValue;
    property ID_SUBCUENTAIsNull: Boolean read GetID_SUBCUENTAIsNull write SetID_SUBCUENTAIsNull;
    property NUM_ORDEN: Integer read GetNUM_ORDENValue write SetNUM_ORDENValue;
    property NUM_ORDENIsNull: Boolean read GetNUM_ORDENIsNull write SetNUM_ORDENIsNull;
    property REF_SUBCUENTA: String read GetREF_SUBCUENTAValue write SetREF_SUBCUENTAValue;
    property REF_SUBCUENTAIsNull: Boolean read GetREF_SUBCUENTAIsNull write SetREF_SUBCUENTAIsNull;
    property SUBCUENTA: String read GetSUBCUENTAValue write SetSUBCUENTAValue;
    property SUBCUENTAIsNull: Boolean read GetSUBCUENTAIsNull write SetSUBCUENTAIsNull;
    property CONCEPTO: String read GetCONCEPTOValue write SetCONCEPTOValue;
    property CONCEPTOIsNull: Boolean read GetCONCEPTOIsNull write SetCONCEPTOIsNull;
    property DOCUMENTO: String read GetDOCUMENTOValue write SetDOCUMENTOValue;
    property DOCUMENTOIsNull: Boolean read GetDOCUMENTOIsNull write SetDOCUMENTOIsNull;
    property DEBE: Currency read GetDEBEValue write SetDEBEValue;
    property DEBEIsNull: Boolean read GetDEBEIsNull write SetDEBEIsNull;
    property HABER: Currency read GetHABERValue write SetHABERValue;
    property HABERIsNull: Boolean read GetHABERIsNull write SetHABERIsNull;
    property PUNTEADO: SmallInt read GetPUNTEADOValue write SetPUNTEADOValue;
    property PUNTEADOIsNull: Boolean read GetPUNTEADOIsNull write SetPUNTEADOIsNull;

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

  end;

  { IAsientos }
  IAsientos = interface(IDAStronglyTypedDataTable)
  ['{5BB77EBB-4C65-459C-867C-D464CC6EED2C}']
    { Property getters and setters }
    function GetIDValue: Integer;
    procedure SetIDValue(const aValue: Integer);
    function GetIDIsNull: Boolean;
    procedure SetIDIsNull(const aValue: Boolean);
    function GetFECHA_ASIENTOValue: DateTime;
    procedure SetFECHA_ASIENTOValue(const aValue: DateTime);
    function GetFECHA_ASIENTOIsNull: Boolean;
    procedure SetFECHA_ASIENTOIsNull(const aValue: Boolean);
    function GetORDENValue: Integer;
    procedure SetORDENValue(const aValue: Integer);
    function GetORDENIsNull: Boolean;
    procedure SetORDENIsNull(const aValue: Boolean);
    function GetID_FACTURAValue: Integer;
    procedure SetID_FACTURAValue(const aValue: Integer);
    function GetID_FACTURAIsNull: Boolean;
    procedure SetID_FACTURAIsNull(const aValue: Boolean);
    function GetID_PAGOValue: Integer;
    procedure SetID_PAGOValue(const aValue: Integer);
    function GetID_PAGOIsNull: Boolean;
    procedure SetID_PAGOIsNull(const aValue: Boolean);
    function GetTIPOValue: String;
    procedure SetTIPOValue(const aValue: String);
    function GetTIPOIsNull: Boolean;
    procedure SetTIPOIsNull(const aValue: Boolean);


    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property FECHA_ASIENTO: DateTime read GetFECHA_ASIENTOValue write SetFECHA_ASIENTOValue;
    property FECHA_ASIENTOIsNull: Boolean read GetFECHA_ASIENTOIsNull write SetFECHA_ASIENTOIsNull;
    property ORDEN: Integer read GetORDENValue write SetORDENValue;
    property ORDENIsNull: Boolean read GetORDENIsNull write SetORDENIsNull;
    property ID_FACTURA: Integer read GetID_FACTURAValue write SetID_FACTURAValue;
    property ID_FACTURAIsNull: Boolean read GetID_FACTURAIsNull write SetID_FACTURAIsNull;
    property ID_PAGO: Integer read GetID_PAGOValue write SetID_PAGOValue;
    property ID_PAGOIsNull: Boolean read GetID_PAGOIsNull write SetID_PAGOIsNull;
    property TIPO: String read GetTIPOValue write SetTIPOValue;
    property TIPOIsNull: Boolean read GetTIPOIsNull write SetTIPOIsNull;
  end;

  { TAsientosDataTableRules }
  TAsientosDataTableRules = class(TIntfObjectDADataTableRules, IAsientos)
  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 GetFECHA_ASIENTOValue: DateTime; virtual;
    procedure SetFECHA_ASIENTOValue(const aValue: DateTime); virtual;
    function GetFECHA_ASIENTOIsNull: Boolean; virtual;
    procedure SetFECHA_ASIENTOIsNull(const aValue: Boolean); virtual;
    function GetORDENValue: Integer; virtual;
    procedure SetORDENValue(const aValue: Integer); virtual;
    function GetORDENIsNull: Boolean; virtual;
    procedure SetORDENIsNull(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 GetID_PAGOValue: Integer; virtual;
    procedure SetID_PAGOValue(const aValue: Integer); virtual;
    function GetID_PAGOIsNull: Boolean; virtual;
    procedure SetID_PAGOIsNull(const aValue: Boolean); virtual;
    function GetTIPOValue: String; virtual;
    procedure SetTIPOValue(const aValue: String); virtual;
    function GetTIPOIsNull: Boolean; virtual;
    procedure SetTIPOIsNull(const aValue: Boolean); virtual;

    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property FECHA_ASIENTO: DateTime read GetFECHA_ASIENTOValue write SetFECHA_ASIENTOValue;
    property FECHA_ASIENTOIsNull: Boolean read GetFECHA_ASIENTOIsNull write SetFECHA_ASIENTOIsNull;
    property ORDEN: Integer read GetORDENValue write SetORDENValue;
    property ORDENIsNull: Boolean read GetORDENIsNull write SetORDENIsNull;
    property ID_FACTURA: Integer read GetID_FACTURAValue write SetID_FACTURAValue;
    property ID_FACTURAIsNull: Boolean read GetID_FACTURAIsNull write SetID_FACTURAIsNull;
    property ID_PAGO: Integer read GetID_PAGOValue write SetID_PAGOValue;
    property ID_PAGOIsNull: Boolean read GetID_PAGOIsNull write SetID_PAGOIsNull;
    property TIPO: String read GetTIPOValue write SetTIPOValue;
    property TIPOIsNull: Boolean read GetTIPOIsNull write SetTIPOIsNull;

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

  end;

  { ISubCuentas }
  ISubCuentas = interface(IDAStronglyTypedDataTable)
  ['{8132788A-2FBC-4B3C-AF23-78CB019CC123}']
    { Property getters and setters }
    function GetIDValue: Integer;
    procedure SetIDValue(const aValue: Integer);
    function GetIDIsNull: Boolean;
    procedure SetIDIsNull(const aValue: Boolean);
    function GetREF_SUBCUENTAValue: String;
    procedure SetREF_SUBCUENTAValue(const aValue: String);
    function GetREF_SUBCUENTAIsNull: Boolean;
    procedure SetREF_SUBCUENTAIsNull(const aValue: Boolean);
    function GetDESCRIPCIONValue: String;
    procedure SetDESCRIPCIONValue(const aValue: String);
    function GetDESCRIPCIONIsNull: Boolean;
    procedure SetDESCRIPCIONIsNull(const aValue: Boolean);
    function GetID_EJERCICIOValue: Integer;
    procedure SetID_EJERCICIOValue(const aValue: Integer);
    function GetID_EJERCICIOIsNull: Boolean;
    procedure SetID_EJERCICIOIsNull(const aValue: Boolean);
    function GetESTADOValue: String;
    procedure SetESTADOValue(const aValue: String);
    function GetESTADOIsNull: Boolean;
    procedure SetESTADOIsNull(const aValue: Boolean);
    function GetREF_EPIGRAFE_PADREValue: String;
    procedure SetREF_EPIGRAFE_PADREValue(const aValue: String);
    function GetREF_EPIGRAFE_PADREIsNull: Boolean;
    procedure SetREF_EPIGRAFE_PADREIsNull(const aValue: Boolean);
    function GetID_CONTACTOValue: Integer;
    procedure SetID_CONTACTOValue(const aValue: Integer);
    function GetID_CONTACTOIsNull: Boolean;
    procedure SetID_CONTACTOIsNull(const aValue: Boolean);
    function GetID_CUENTAValue: Integer;
    procedure SetID_CUENTAValue(const aValue: Integer);
    function GetID_CUENTAIsNull: Boolean;
    procedure SetID_CUENTAIsNull(const aValue: Boolean);
    function GetREF_CUENTAValue: String;
    procedure SetREF_CUENTAValue(const aValue: String);
    function GetREF_CUENTAIsNull: Boolean;
    procedure SetREF_CUENTAIsNull(const aValue: Boolean);
    function GetCUENTAValue: String;
    procedure SetCUENTAValue(const aValue: String);
    function GetCUENTAIsNull: Boolean;
    procedure SetCUENTAIsNull(const aValue: Boolean);
    function GetDEBEValue: Currency;
    procedure SetDEBEValue(const aValue: Currency);
    function GetDEBEIsNull: Boolean;
    procedure SetDEBEIsNull(const aValue: Boolean);
    function GetHABERValue: Currency;
    procedure SetHABERValue(const aValue: Currency);
    function GetHABERIsNull: Boolean;
    procedure SetHABERIsNull(const aValue: Boolean);
    function GetSALDOValue: Currency;
    procedure SetSALDOValue(const aValue: Currency);
    function GetSALDOIsNull: Boolean;
    procedure SetSALDOIsNull(const aValue: Boolean);


    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property REF_SUBCUENTA: String read GetREF_SUBCUENTAValue write SetREF_SUBCUENTAValue;
    property REF_SUBCUENTAIsNull: Boolean read GetREF_SUBCUENTAIsNull write SetREF_SUBCUENTAIsNull;
    property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue;
    property DESCRIPCIONIsNull: Boolean read GetDESCRIPCIONIsNull write SetDESCRIPCIONIsNull;
    property ID_EJERCICIO: Integer read GetID_EJERCICIOValue write SetID_EJERCICIOValue;
    property ID_EJERCICIOIsNull: Boolean read GetID_EJERCICIOIsNull write SetID_EJERCICIOIsNull;
    property ESTADO: String read GetESTADOValue write SetESTADOValue;
    property ESTADOIsNull: Boolean read GetESTADOIsNull write SetESTADOIsNull;
    property REF_EPIGRAFE_PADRE: String read GetREF_EPIGRAFE_PADREValue write SetREF_EPIGRAFE_PADREValue;
    property REF_EPIGRAFE_PADREIsNull: Boolean read GetREF_EPIGRAFE_PADREIsNull write SetREF_EPIGRAFE_PADREIsNull;
    property ID_CONTACTO: Integer read GetID_CONTACTOValue write SetID_CONTACTOValue;
    property ID_CONTACTOIsNull: Boolean read GetID_CONTACTOIsNull write SetID_CONTACTOIsNull;
    property ID_CUENTA: Integer read GetID_CUENTAValue write SetID_CUENTAValue;
    property ID_CUENTAIsNull: Boolean read GetID_CUENTAIsNull write SetID_CUENTAIsNull;
    property REF_CUENTA: String read GetREF_CUENTAValue write SetREF_CUENTAValue;
    property REF_CUENTAIsNull: Boolean read GetREF_CUENTAIsNull write SetREF_CUENTAIsNull;
    property CUENTA: String read GetCUENTAValue write SetCUENTAValue;
    property CUENTAIsNull: Boolean read GetCUENTAIsNull write SetCUENTAIsNull;
    property DEBE: Currency read GetDEBEValue write SetDEBEValue;
    property DEBEIsNull: Boolean read GetDEBEIsNull write SetDEBEIsNull;
    property HABER: Currency read GetHABERValue write SetHABERValue;
    property HABERIsNull: Boolean read GetHABERIsNull write SetHABERIsNull;
    property SALDO: Currency read GetSALDOValue write SetSALDOValue;
    property SALDOIsNull: Boolean read GetSALDOIsNull write SetSALDOIsNull;
  end;

  { TSubCuentasDataTableRules }
  TSubCuentasDataTableRules = class(TIntfObjectDADataTableRules, ISubCuentas)
  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 GetREF_SUBCUENTAValue: String; virtual;
    procedure SetREF_SUBCUENTAValue(const aValue: String); virtual;
    function GetREF_SUBCUENTAIsNull: Boolean; virtual;
    procedure SetREF_SUBCUENTAIsNull(const aValue: Boolean); virtual;
    function GetDESCRIPCIONValue: String; virtual;
    procedure SetDESCRIPCIONValue(const aValue: String); virtual;
    function GetDESCRIPCIONIsNull: Boolean; virtual;
    procedure SetDESCRIPCIONIsNull(const aValue: Boolean); virtual;
    function GetID_EJERCICIOValue: Integer; virtual;
    procedure SetID_EJERCICIOValue(const aValue: Integer); virtual;
    function GetID_EJERCICIOIsNull: Boolean; virtual;
    procedure SetID_EJERCICIOIsNull(const aValue: Boolean); virtual;
    function GetESTADOValue: String; virtual;
    procedure SetESTADOValue(const aValue: String); virtual;
    function GetESTADOIsNull: Boolean; virtual;
    procedure SetESTADOIsNull(const aValue: Boolean); virtual;
    function GetREF_EPIGRAFE_PADREValue: String; virtual;
    procedure SetREF_EPIGRAFE_PADREValue(const aValue: String); virtual;
    function GetREF_EPIGRAFE_PADREIsNull: Boolean; virtual;
    procedure SetREF_EPIGRAFE_PADREIsNull(const aValue: Boolean); virtual;
    function GetID_CONTACTOValue: Integer; virtual;
    procedure SetID_CONTACTOValue(const aValue: Integer); virtual;
    function GetID_CONTACTOIsNull: Boolean; virtual;
    procedure SetID_CONTACTOIsNull(const aValue: Boolean); virtual;
    function GetID_CUENTAValue: Integer; virtual;
    procedure SetID_CUENTAValue(const aValue: Integer); virtual;
    function GetID_CUENTAIsNull: Boolean; virtual;
    procedure SetID_CUENTAIsNull(const aValue: Boolean); virtual;
    function GetREF_CUENTAValue: String; virtual;
    procedure SetREF_CUENTAValue(const aValue: String); virtual;
    function GetREF_CUENTAIsNull: Boolean; virtual;
    procedure SetREF_CUENTAIsNull(const aValue: Boolean); virtual;
    function GetCUENTAValue: String; virtual;
    procedure SetCUENTAValue(const aValue: String); virtual;
    function GetCUENTAIsNull: Boolean; virtual;
    procedure SetCUENTAIsNull(const aValue: Boolean); virtual;
    function GetDEBEValue: Currency; virtual;
    procedure SetDEBEValue(const aValue: Currency); virtual;
    function GetDEBEIsNull: Boolean; virtual;
    procedure SetDEBEIsNull(const aValue: Boolean); virtual;
    function GetHABERValue: Currency; virtual;
    procedure SetHABERValue(const aValue: Currency); virtual;
    function GetHABERIsNull: Boolean; virtual;
    procedure SetHABERIsNull(const aValue: Boolean); virtual;
    function GetSALDOValue: Currency; virtual;
    procedure SetSALDOValue(const aValue: Currency); virtual;
    function GetSALDOIsNull: Boolean; virtual;
    procedure SetSALDOIsNull(const aValue: Boolean); virtual;

    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property REF_SUBCUENTA: String read GetREF_SUBCUENTAValue write SetREF_SUBCUENTAValue;
    property REF_SUBCUENTAIsNull: Boolean read GetREF_SUBCUENTAIsNull write SetREF_SUBCUENTAIsNull;
    property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue;
    property DESCRIPCIONIsNull: Boolean read GetDESCRIPCIONIsNull write SetDESCRIPCIONIsNull;
    property ID_EJERCICIO: Integer read GetID_EJERCICIOValue write SetID_EJERCICIOValue;
    property ID_EJERCICIOIsNull: Boolean read GetID_EJERCICIOIsNull write SetID_EJERCICIOIsNull;
    property ESTADO: String read GetESTADOValue write SetESTADOValue;
    property ESTADOIsNull: Boolean read GetESTADOIsNull write SetESTADOIsNull;
    property REF_EPIGRAFE_PADRE: String read GetREF_EPIGRAFE_PADREValue write SetREF_EPIGRAFE_PADREValue;
    property REF_EPIGRAFE_PADREIsNull: Boolean read GetREF_EPIGRAFE_PADREIsNull write SetREF_EPIGRAFE_PADREIsNull;
    property ID_CONTACTO: Integer read GetID_CONTACTOValue write SetID_CONTACTOValue;
    property ID_CONTACTOIsNull: Boolean read GetID_CONTACTOIsNull write SetID_CONTACTOIsNull;
    property ID_CUENTA: Integer read GetID_CUENTAValue write SetID_CUENTAValue;
    property ID_CUENTAIsNull: Boolean read GetID_CUENTAIsNull write SetID_CUENTAIsNull;
    property REF_CUENTA: String read GetREF_CUENTAValue write SetREF_CUENTAValue;
    property REF_CUENTAIsNull: Boolean read GetREF_CUENTAIsNull write SetREF_CUENTAIsNull;
    property CUENTA: String read GetCUENTAValue write SetCUENTAValue;
    property CUENTAIsNull: Boolean read GetCUENTAIsNull write SetCUENTAIsNull;
    property DEBE: Currency read GetDEBEValue write SetDEBEValue;
    property DEBEIsNull: Boolean read GetDEBEIsNull write SetDEBEIsNull;
    property HABER: Currency read GetHABERValue write SetHABERValue;
    property HABERIsNull: Boolean read GetHABERIsNull write SetHABERIsNull;
    property SALDO: Currency read GetSALDOValue write SetSALDOValue;
    property SALDOIsNull: Boolean read GetSALDOIsNull write SetSALDOIsNull;

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

  end;

  { ICuentas }
  ICuentas = interface(IDAStronglyTypedDataTable)
  ['{7F0EFEE7-C324-4072-944B-EA6AAB09E1D8}']
    { Property getters and setters }
    function GetIDValue: Integer;
    procedure SetIDValue(const aValue: Integer);
    function GetIDIsNull: Boolean;
    procedure SetIDIsNull(const aValue: Boolean);
    function GetREF_CUENTAValue: String;
    procedure SetREF_CUENTAValue(const aValue: String);
    function GetREF_CUENTAIsNull: Boolean;
    procedure SetREF_CUENTAIsNull(const aValue: Boolean);
    function GetID_EJERCICIOValue: Integer;
    procedure SetID_EJERCICIOValue(const aValue: Integer);
    function GetID_EJERCICIOIsNull: Boolean;
    procedure SetID_EJERCICIOIsNull(const aValue: Boolean);
    function GetESTADOValue: String;
    procedure SetESTADOValue(const aValue: String);
    function GetESTADOIsNull: Boolean;
    procedure SetESTADOIsNull(const aValue: Boolean);
    function GetDESCRIPCIONValue: String;
    procedure SetDESCRIPCIONValue(const aValue: String);
    function GetDESCRIPCIONIsNull: Boolean;
    procedure SetDESCRIPCIONIsNull(const aValue: Boolean);
    function GetID_EPIGRAFEValue: Integer;
    procedure SetID_EPIGRAFEValue(const aValue: Integer);
    function GetID_EPIGRAFEIsNull: Boolean;
    procedure SetID_EPIGRAFEIsNull(const aValue: Boolean);
    function GetEPIGRAFEValue: String;
    procedure SetEPIGRAFEValue(const aValue: String);
    function GetEPIGRAFEIsNull: Boolean;
    procedure SetEPIGRAFEIsNull(const aValue: Boolean);
    function GetID_BALANCEValue: Integer;
    procedure SetID_BALANCEValue(const aValue: Integer);
    function GetID_BALANCEIsNull: Boolean;
    procedure SetID_BALANCEIsNull(const aValue: Boolean);
    function GetBALANCEValue: String;
    procedure SetBALANCEValue(const aValue: String);
    function GetBALANCEIsNull: Boolean;
    procedure SetBALANCEIsNull(const aValue: Boolean);
    function GetID_CUENTA_ESPECIALValue: Integer;
    procedure SetID_CUENTA_ESPECIALValue(const aValue: Integer);
    function GetID_CUENTA_ESPECIALIsNull: Boolean;
    procedure SetID_CUENTA_ESPECIALIsNull(const aValue: Boolean);
    function GetCUENTA_ESPECIALValue: String;
    procedure SetCUENTA_ESPECIALValue(const aValue: String);
    function GetCUENTA_ESPECIALIsNull: Boolean;
    procedure SetCUENTA_ESPECIALIsNull(const aValue: Boolean);


    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property REF_CUENTA: String read GetREF_CUENTAValue write SetREF_CUENTAValue;
    property REF_CUENTAIsNull: Boolean read GetREF_CUENTAIsNull write SetREF_CUENTAIsNull;
    property ID_EJERCICIO: Integer read GetID_EJERCICIOValue write SetID_EJERCICIOValue;
    property ID_EJERCICIOIsNull: Boolean read GetID_EJERCICIOIsNull write SetID_EJERCICIOIsNull;
    property ESTADO: String read GetESTADOValue write SetESTADOValue;
    property ESTADOIsNull: Boolean read GetESTADOIsNull write SetESTADOIsNull;
    property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue;
    property DESCRIPCIONIsNull: Boolean read GetDESCRIPCIONIsNull write SetDESCRIPCIONIsNull;
    property ID_EPIGRAFE: Integer read GetID_EPIGRAFEValue write SetID_EPIGRAFEValue;
    property ID_EPIGRAFEIsNull: Boolean read GetID_EPIGRAFEIsNull write SetID_EPIGRAFEIsNull;
    property EPIGRAFE: String read GetEPIGRAFEValue write SetEPIGRAFEValue;
    property EPIGRAFEIsNull: Boolean read GetEPIGRAFEIsNull write SetEPIGRAFEIsNull;
    property ID_BALANCE: Integer read GetID_BALANCEValue write SetID_BALANCEValue;
    property ID_BALANCEIsNull: Boolean read GetID_BALANCEIsNull write SetID_BALANCEIsNull;
    property BALANCE: String read GetBALANCEValue write SetBALANCEValue;
    property BALANCEIsNull: Boolean read GetBALANCEIsNull write SetBALANCEIsNull;
    property ID_CUENTA_ESPECIAL: Integer read GetID_CUENTA_ESPECIALValue write SetID_CUENTA_ESPECIALValue;
    property ID_CUENTA_ESPECIALIsNull: Boolean read GetID_CUENTA_ESPECIALIsNull write SetID_CUENTA_ESPECIALIsNull;
    property CUENTA_ESPECIAL: String read GetCUENTA_ESPECIALValue write SetCUENTA_ESPECIALValue;
    property CUENTA_ESPECIALIsNull: Boolean read GetCUENTA_ESPECIALIsNull write SetCUENTA_ESPECIALIsNull;
  end;

  { TCuentasDataTableRules }
  TCuentasDataTableRules = class(TIntfObjectDADataTableRules, ICuentas)
  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 GetREF_CUENTAValue: String; virtual;
    procedure SetREF_CUENTAValue(const aValue: String); virtual;
    function GetREF_CUENTAIsNull: Boolean; virtual;
    procedure SetREF_CUENTAIsNull(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 GetESTADOValue: String; virtual;
    procedure SetESTADOValue(const aValue: String); virtual;
    function GetESTADOIsNull: Boolean; virtual;
    procedure SetESTADOIsNull(const aValue: Boolean); virtual;
    function GetDESCRIPCIONValue: String; virtual;
    procedure SetDESCRIPCIONValue(const aValue: String); virtual;
    function GetDESCRIPCIONIsNull: Boolean; virtual;
    procedure SetDESCRIPCIONIsNull(const aValue: Boolean); virtual;
    function GetID_EPIGRAFEValue: Integer; virtual;
    procedure SetID_EPIGRAFEValue(const aValue: Integer); virtual;
    function GetID_EPIGRAFEIsNull: Boolean; virtual;
    procedure SetID_EPIGRAFEIsNull(const aValue: Boolean); virtual;
    function GetEPIGRAFEValue: String; virtual;
    procedure SetEPIGRAFEValue(const aValue: String); virtual;
    function GetEPIGRAFEIsNull: Boolean; virtual;
    procedure SetEPIGRAFEIsNull(const aValue: Boolean); virtual;
    function GetID_BALANCEValue: Integer; virtual;
    procedure SetID_BALANCEValue(const aValue: Integer); virtual;
    function GetID_BALANCEIsNull: Boolean; virtual;
    procedure SetID_BALANCEIsNull(const aValue: Boolean); virtual;
    function GetBALANCEValue: String; virtual;
    procedure SetBALANCEValue(const aValue: String); virtual;
    function GetBALANCEIsNull: Boolean; virtual;
    procedure SetBALANCEIsNull(const aValue: Boolean); virtual;
    function GetID_CUENTA_ESPECIALValue: Integer; virtual;
    procedure SetID_CUENTA_ESPECIALValue(const aValue: Integer); virtual;
    function GetID_CUENTA_ESPECIALIsNull: Boolean; virtual;
    procedure SetID_CUENTA_ESPECIALIsNull(const aValue: Boolean); virtual;
    function GetCUENTA_ESPECIALValue: String; virtual;
    procedure SetCUENTA_ESPECIALValue(const aValue: String); virtual;
    function GetCUENTA_ESPECIALIsNull: Boolean; virtual;
    procedure SetCUENTA_ESPECIALIsNull(const aValue: Boolean); virtual;

    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property REF_CUENTA: String read GetREF_CUENTAValue write SetREF_CUENTAValue;
    property REF_CUENTAIsNull: Boolean read GetREF_CUENTAIsNull write SetREF_CUENTAIsNull;
    property ID_EJERCICIO: Integer read GetID_EJERCICIOValue write SetID_EJERCICIOValue;
    property ID_EJERCICIOIsNull: Boolean read GetID_EJERCICIOIsNull write SetID_EJERCICIOIsNull;
    property ESTADO: String read GetESTADOValue write SetESTADOValue;
    property ESTADOIsNull: Boolean read GetESTADOIsNull write SetESTADOIsNull;
    property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue;
    property DESCRIPCIONIsNull: Boolean read GetDESCRIPCIONIsNull write SetDESCRIPCIONIsNull;
    property ID_EPIGRAFE: Integer read GetID_EPIGRAFEValue write SetID_EPIGRAFEValue;
    property ID_EPIGRAFEIsNull: Boolean read GetID_EPIGRAFEIsNull write SetID_EPIGRAFEIsNull;
    property EPIGRAFE: String read GetEPIGRAFEValue write SetEPIGRAFEValue;
    property EPIGRAFEIsNull: Boolean read GetEPIGRAFEIsNull write SetEPIGRAFEIsNull;
    property ID_BALANCE: Integer read GetID_BALANCEValue write SetID_BALANCEValue;
    property ID_BALANCEIsNull: Boolean read GetID_BALANCEIsNull write SetID_BALANCEIsNull;
    property BALANCE: String read GetBALANCEValue write SetBALANCEValue;
    property BALANCEIsNull: Boolean read GetBALANCEIsNull write SetBALANCEIsNull;
    property ID_CUENTA_ESPECIAL: Integer read GetID_CUENTA_ESPECIALValue write SetID_CUENTA_ESPECIALValue;
    property ID_CUENTA_ESPECIALIsNull: Boolean read GetID_CUENTA_ESPECIALIsNull write SetID_CUENTA_ESPECIALIsNull;
    property CUENTA_ESPECIAL: String read GetCUENTA_ESPECIALValue write SetCUENTA_ESPECIALValue;
    property CUENTA_ESPECIALIsNull: Boolean read GetCUENTA_ESPECIALIsNull write SetCUENTA_ESPECIALIsNull;

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

  end;

  { ICuentasEspeciales }
  ICuentasEspeciales = interface(IDAStronglyTypedDataTable)
  ['{0608870B-F3BF-4E54-8F6E-D79A17A0292A}']
    { Property getters and setters }
    function GetIDValue: Integer;
    procedure SetIDValue(const aValue: Integer);
    function GetIDIsNull: Boolean;
    procedure SetIDIsNull(const aValue: Boolean);
    function GetREFERENCIAValue: String;
    procedure SetREFERENCIAValue(const aValue: String);
    function GetREFERENCIAIsNull: Boolean;
    procedure SetREFERENCIAIsNull(const aValue: Boolean);
    function GetDESCRIPCIONValue: String;
    procedure SetDESCRIPCIONValue(const aValue: String);
    function GetDESCRIPCIONIsNull: Boolean;
    procedure SetDESCRIPCIONIsNull(const aValue: Boolean);


    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue;
    property REFERENCIAIsNull: Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull;
    property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue;
    property DESCRIPCIONIsNull: Boolean read GetDESCRIPCIONIsNull write SetDESCRIPCIONIsNull;
  end;

  { TCuentasEspecialesDataTableRules }
  TCuentasEspecialesDataTableRules = class(TIntfObjectDADataTableRules, ICuentasEspeciales)
  private
  protected
    { Property getters and setters }
    function GetIDValue: Integer; virtual;
    procedure SetIDValue(const aValue: Integer); virtual;
    function GetIDIsNull: Boolean; virtual;
    procedure SetIDIsNull(const aValue: Boolean); virtual;
    function GetREFERENCIAValue: String; virtual;
    procedure SetREFERENCIAValue(const aValue: String); virtual;
    function GetREFERENCIAIsNull: Boolean; virtual;
    procedure SetREFERENCIAIsNull(const aValue: Boolean); virtual;
    function GetDESCRIPCIONValue: String; virtual;
    procedure SetDESCRIPCIONValue(const aValue: String); virtual;
    function GetDESCRIPCIONIsNull: Boolean; virtual;
    procedure SetDESCRIPCIONIsNull(const aValue: Boolean); virtual;

    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue;
    property REFERENCIAIsNull: Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull;
    property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue;
    property DESCRIPCIONIsNull: Boolean read GetDESCRIPCIONIsNull write SetDESCRIPCIONIsNull;

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

  end;

  { IEpigrafes }
  IEpigrafes = interface(IDAStronglyTypedDataTable)
  ['{5BEFF5E7-CDB1-458C-A946-B266ADAF9D4F}']
    { Property getters and setters }
    function GetIDValue: Integer;
    procedure SetIDValue(const aValue: Integer);
    function GetIDIsNull: Boolean;
    procedure SetIDIsNull(const aValue: Boolean);
    function GetREF_EPIGRAFEValue: String;
    procedure SetREF_EPIGRAFEValue(const aValue: String);
    function GetREF_EPIGRAFEIsNull: Boolean;
    procedure SetREF_EPIGRAFEIsNull(const aValue: Boolean);
    function GetDESCRIPCIONValue: String;
    procedure SetDESCRIPCIONValue(const aValue: String);
    function GetDESCRIPCIONIsNull: Boolean;
    procedure SetDESCRIPCIONIsNull(const aValue: Boolean);
    function GetID_EJERCICIOValue: Integer;
    procedure SetID_EJERCICIOValue(const aValue: Integer);
    function GetID_EJERCICIOIsNull: Boolean;
    procedure SetID_EJERCICIOIsNull(const aValue: Boolean);
    function GetESTADOValue: String;
    procedure SetESTADOValue(const aValue: String);
    function GetESTADOIsNull: Boolean;
    procedure SetESTADOIsNull(const aValue: Boolean);
    function GetID_PADREValue: Integer;
    procedure SetID_PADREValue(const aValue: Integer);
    function GetID_PADREIsNull: Boolean;
    procedure SetID_PADREIsNull(const aValue: Boolean);
    function GetEPIGRAFE_PADREValue: String;
    procedure SetEPIGRAFE_PADREValue(const aValue: String);
    function GetEPIGRAFE_PADREIsNull: Boolean;
    procedure SetEPIGRAFE_PADREIsNull(const aValue: Boolean);


    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property REF_EPIGRAFE: String read GetREF_EPIGRAFEValue write SetREF_EPIGRAFEValue;
    property REF_EPIGRAFEIsNull: Boolean read GetREF_EPIGRAFEIsNull write SetREF_EPIGRAFEIsNull;
    property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue;
    property DESCRIPCIONIsNull: Boolean read GetDESCRIPCIONIsNull write SetDESCRIPCIONIsNull;
    property ID_EJERCICIO: Integer read GetID_EJERCICIOValue write SetID_EJERCICIOValue;
    property ID_EJERCICIOIsNull: Boolean read GetID_EJERCICIOIsNull write SetID_EJERCICIOIsNull;
    property ESTADO: String read GetESTADOValue write SetESTADOValue;
    property ESTADOIsNull: Boolean read GetESTADOIsNull write SetESTADOIsNull;
    property ID_PADRE: Integer read GetID_PADREValue write SetID_PADREValue;
    property ID_PADREIsNull: Boolean read GetID_PADREIsNull write SetID_PADREIsNull;
    property EPIGRAFE_PADRE: String read GetEPIGRAFE_PADREValue write SetEPIGRAFE_PADREValue;
    property EPIGRAFE_PADREIsNull: Boolean read GetEPIGRAFE_PADREIsNull write SetEPIGRAFE_PADREIsNull;
  end;

  { TEpigrafesDataTableRules }
  TEpigrafesDataTableRules = class(TIntfObjectDADataTableRules, IEpigrafes)
  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 GetREF_EPIGRAFEValue: String; virtual;
    procedure SetREF_EPIGRAFEValue(const aValue: String); virtual;
    function GetREF_EPIGRAFEIsNull: Boolean; virtual;
    procedure SetREF_EPIGRAFEIsNull(const aValue: Boolean); virtual;
    function GetDESCRIPCIONValue: String; virtual;
    procedure SetDESCRIPCIONValue(const aValue: String); virtual;
    function GetDESCRIPCIONIsNull: Boolean; virtual;
    procedure SetDESCRIPCIONIsNull(const aValue: Boolean); virtual;
    function GetID_EJERCICIOValue: Integer; virtual;
    procedure SetID_EJERCICIOValue(const aValue: Integer); virtual;
    function GetID_EJERCICIOIsNull: Boolean; virtual;
    procedure SetID_EJERCICIOIsNull(const aValue: Boolean); virtual;
    function GetESTADOValue: String; virtual;
    procedure SetESTADOValue(const aValue: String); virtual;
    function GetESTADOIsNull: Boolean; virtual;
    procedure SetESTADOIsNull(const aValue: Boolean); virtual;
    function GetID_PADREValue: Integer; virtual;
    procedure SetID_PADREValue(const aValue: Integer); virtual;
    function GetID_PADREIsNull: Boolean; virtual;
    procedure SetID_PADREIsNull(const aValue: Boolean); virtual;
    function GetEPIGRAFE_PADREValue: String; virtual;
    procedure SetEPIGRAFE_PADREValue(const aValue: String); virtual;
    function GetEPIGRAFE_PADREIsNull: Boolean; virtual;
    procedure SetEPIGRAFE_PADREIsNull(const aValue: Boolean); virtual;

    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property REF_EPIGRAFE: String read GetREF_EPIGRAFEValue write SetREF_EPIGRAFEValue;
    property REF_EPIGRAFEIsNull: Boolean read GetREF_EPIGRAFEIsNull write SetREF_EPIGRAFEIsNull;
    property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue;
    property DESCRIPCIONIsNull: Boolean read GetDESCRIPCIONIsNull write SetDESCRIPCIONIsNull;
    property ID_EJERCICIO: Integer read GetID_EJERCICIOValue write SetID_EJERCICIOValue;
    property ID_EJERCICIOIsNull: Boolean read GetID_EJERCICIOIsNull write SetID_EJERCICIOIsNull;
    property ESTADO: String read GetESTADOValue write SetESTADOValue;
    property ESTADOIsNull: Boolean read GetESTADOIsNull write SetESTADOIsNull;
    property ID_PADRE: Integer read GetID_PADREValue write SetID_PADREValue;
    property ID_PADREIsNull: Boolean read GetID_PADREIsNull write SetID_PADREIsNull;
    property EPIGRAFE_PADRE: String read GetEPIGRAFE_PADREValue write SetEPIGRAFE_PADREValue;
    property EPIGRAFE_PADREIsNull: Boolean read GetEPIGRAFE_PADREIsNull write SetEPIGRAFE_PADREIsNull;

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

  end;

  { IBalances }
  IBalances = interface(IDAStronglyTypedDataTable)
  ['{8A08D3CD-8465-488A-82CA-8FD407A879D4}']
    { Property getters and setters }
    function GetIDValue: Integer;
    procedure SetIDValue(const aValue: Integer);
    function GetIDIsNull: Boolean;
    procedure SetIDIsNull(const aValue: Boolean);
    function GetREF_BALANCEValue: String;
    procedure SetREF_BALANCEValue(const aValue: String);
    function GetREF_BALANCEIsNull: Boolean;
    procedure SetREF_BALANCEIsNull(const aValue: Boolean);
    function GetNATURALEZAValue: String;
    procedure SetNATURALEZAValue(const aValue: String);
    function GetNATURALEZAIsNull: Boolean;
    procedure SetNATURALEZAIsNull(const aValue: Boolean);
    function GetNIVEL1Value: String;
    procedure SetNIVEL1Value(const aValue: String);
    function GetNIVEL1IsNull: Boolean;
    procedure SetNIVEL1IsNull(const aValue: Boolean);
    function GetDESCRIPCION1Value: String;
    procedure SetDESCRIPCION1Value(const aValue: String);
    function GetDESCRIPCION1IsNull: Boolean;
    procedure SetDESCRIPCION1IsNull(const aValue: Boolean);
    function GetNIVEL2Value: String;
    procedure SetNIVEL2Value(const aValue: String);
    function GetNIVEL2IsNull: Boolean;
    procedure SetNIVEL2IsNull(const aValue: Boolean);
    function GetDESCRIPCION2Value: String;
    procedure SetDESCRIPCION2Value(const aValue: String);
    function GetDESCRIPCION2IsNull: Boolean;
    procedure SetDESCRIPCION2IsNull(const aValue: Boolean);
    function GetNIVEL3Value: String;
    procedure SetNIVEL3Value(const aValue: String);
    function GetNIVEL3IsNull: Boolean;
    procedure SetNIVEL3IsNull(const aValue: Boolean);
    function GetDESCRIPCION3Value: String;
    procedure SetDESCRIPCION3Value(const aValue: String);
    function GetDESCRIPCION3IsNull: Boolean;
    procedure SetDESCRIPCION3IsNull(const aValue: Boolean);


    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property REF_BALANCE: String read GetREF_BALANCEValue write SetREF_BALANCEValue;
    property REF_BALANCEIsNull: Boolean read GetREF_BALANCEIsNull write SetREF_BALANCEIsNull;
    property NATURALEZA: String read GetNATURALEZAValue write SetNATURALEZAValue;
    property NATURALEZAIsNull: Boolean read GetNATURALEZAIsNull write SetNATURALEZAIsNull;
    property NIVEL1: String read GetNIVEL1Value write SetNIVEL1Value;
    property NIVEL1IsNull: Boolean read GetNIVEL1IsNull write SetNIVEL1IsNull;
    property DESCRIPCION1: String read GetDESCRIPCION1Value write SetDESCRIPCION1Value;
    property DESCRIPCION1IsNull: Boolean read GetDESCRIPCION1IsNull write SetDESCRIPCION1IsNull;
    property NIVEL2: String read GetNIVEL2Value write SetNIVEL2Value;
    property NIVEL2IsNull: Boolean read GetNIVEL2IsNull write SetNIVEL2IsNull;
    property DESCRIPCION2: String read GetDESCRIPCION2Value write SetDESCRIPCION2Value;
    property DESCRIPCION2IsNull: Boolean read GetDESCRIPCION2IsNull write SetDESCRIPCION2IsNull;
    property NIVEL3: String read GetNIVEL3Value write SetNIVEL3Value;
    property NIVEL3IsNull: Boolean read GetNIVEL3IsNull write SetNIVEL3IsNull;
    property DESCRIPCION3: String read GetDESCRIPCION3Value write SetDESCRIPCION3Value;
    property DESCRIPCION3IsNull: Boolean read GetDESCRIPCION3IsNull write SetDESCRIPCION3IsNull;
  end;

  { TBalancesDataTableRules }
  TBalancesDataTableRules = class(TIntfObjectDADataTableRules, IBalances)
  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 GetREF_BALANCEValue: String; virtual;
    procedure SetREF_BALANCEValue(const aValue: String); virtual;
    function GetREF_BALANCEIsNull: Boolean; virtual;
    procedure SetREF_BALANCEIsNull(const aValue: Boolean); virtual;
    function GetNATURALEZAValue: String; virtual;
    procedure SetNATURALEZAValue(const aValue: String); virtual;
    function GetNATURALEZAIsNull: Boolean; virtual;
    procedure SetNATURALEZAIsNull(const aValue: Boolean); virtual;
    function GetNIVEL1Value: String; virtual;
    procedure SetNIVEL1Value(const aValue: String); virtual;
    function GetNIVEL1IsNull: Boolean; virtual;
    procedure SetNIVEL1IsNull(const aValue: Boolean); virtual;
    function GetDESCRIPCION1Value: String; virtual;
    procedure SetDESCRIPCION1Value(const aValue: String); virtual;
    function GetDESCRIPCION1IsNull: Boolean; virtual;
    procedure SetDESCRIPCION1IsNull(const aValue: Boolean); virtual;
    function GetNIVEL2Value: String; virtual;
    procedure SetNIVEL2Value(const aValue: String); virtual;
    function GetNIVEL2IsNull: Boolean; virtual;
    procedure SetNIVEL2IsNull(const aValue: Boolean); virtual;
    function GetDESCRIPCION2Value: String; virtual;
    procedure SetDESCRIPCION2Value(const aValue: String); virtual;
    function GetDESCRIPCION2IsNull: Boolean; virtual;
    procedure SetDESCRIPCION2IsNull(const aValue: Boolean); virtual;
    function GetNIVEL3Value: String; virtual;
    procedure SetNIVEL3Value(const aValue: String); virtual;
    function GetNIVEL3IsNull: Boolean; virtual;
    procedure SetNIVEL3IsNull(const aValue: Boolean); virtual;
    function GetDESCRIPCION3Value: String; virtual;
    procedure SetDESCRIPCION3Value(const aValue: String); virtual;
    function GetDESCRIPCION3IsNull: Boolean; virtual;
    procedure SetDESCRIPCION3IsNull(const aValue: Boolean); virtual;

    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property REF_BALANCE: String read GetREF_BALANCEValue write SetREF_BALANCEValue;
    property REF_BALANCEIsNull: Boolean read GetREF_BALANCEIsNull write SetREF_BALANCEIsNull;
    property NATURALEZA: String read GetNATURALEZAValue write SetNATURALEZAValue;
    property NATURALEZAIsNull: Boolean read GetNATURALEZAIsNull write SetNATURALEZAIsNull;
    property NIVEL1: String read GetNIVEL1Value write SetNIVEL1Value;
    property NIVEL1IsNull: Boolean read GetNIVEL1IsNull write SetNIVEL1IsNull;
    property DESCRIPCION1: String read GetDESCRIPCION1Value write SetDESCRIPCION1Value;
    property DESCRIPCION1IsNull: Boolean read GetDESCRIPCION1IsNull write SetDESCRIPCION1IsNull;
    property NIVEL2: String read GetNIVEL2Value write SetNIVEL2Value;
    property NIVEL2IsNull: Boolean read GetNIVEL2IsNull write SetNIVEL2IsNull;
    property DESCRIPCION2: String read GetDESCRIPCION2Value write SetDESCRIPCION2Value;
    property DESCRIPCION2IsNull: Boolean read GetDESCRIPCION2IsNull write SetDESCRIPCION2IsNull;
    property NIVEL3: String read GetNIVEL3Value write SetNIVEL3Value;
    property NIVEL3IsNull: Boolean read GetNIVEL3IsNull write SetNIVEL3IsNull;
    property DESCRIPCION3: String read GetDESCRIPCION3Value write SetDESCRIPCION3Value;
    property DESCRIPCION3IsNull: Boolean read GetDESCRIPCION3IsNull write SetDESCRIPCION3IsNull;

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

  end;

  { IDarMaxRefSubCuentaCli }
  IDarMaxRefSubCuentaCli = interface(IDAStronglyTypedDataTable)
  ['{E6EBFE1B-9E59-4330-AE68-1179534FFCB6}']
    { Property getters and setters }
    function GetMAXValue: Integer;
    procedure SetMAXValue(const aValue: Integer);
    function GetMAXIsNull: Boolean;
    procedure SetMAXIsNull(const aValue: Boolean);


    { Properties }
    property MAX: Integer read GetMAXValue write SetMAXValue;
    property MAXIsNull: Boolean read GetMAXIsNull write SetMAXIsNull;
  end;

  { TDarMaxRefSubCuentaCliDataTableRules }
  TDarMaxRefSubCuentaCliDataTableRules = class(TIntfObjectDADataTableRules, IDarMaxRefSubCuentaCli)
  private
  protected
    { Property getters and setters }
    function GetMAXValue: Integer; virtual;
    procedure SetMAXValue(const aValue: Integer); virtual;
    function GetMAXIsNull: Boolean; virtual;
    procedure SetMAXIsNull(const aValue: Boolean); virtual;

    { Properties }
    property MAX: Integer read GetMAXValue write SetMAXValue;
    property MAXIsNull: Boolean read GetMAXIsNull write SetMAXIsNull;

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

  end;

  { IDarNumOrdenAsiento }
  IDarNumOrdenAsiento = interface(IDAStronglyTypedDataTable)
  ['{3F826764-3157-4308-ABF7-B7986744C5DB}']
    { Property getters and setters }
    function GetNUM_ORDENValue: Int64;
    procedure SetNUM_ORDENValue(const aValue: Int64);
    function GetNUM_ORDENIsNull: Boolean;
    procedure SetNUM_ORDENIsNull(const aValue: Boolean);


    { Properties }
    property NUM_ORDEN: Int64 read GetNUM_ORDENValue write SetNUM_ORDENValue;
    property NUM_ORDENIsNull: Boolean read GetNUM_ORDENIsNull write SetNUM_ORDENIsNull;
  end;

  { TDarNumOrdenAsientoDataTableRules }
  TDarNumOrdenAsientoDataTableRules = class(TIntfObjectDADataTableRules, IDarNumOrdenAsiento)
  private
  protected
    { Property getters and setters }
    function GetNUM_ORDENValue: Int64; virtual;
    procedure SetNUM_ORDENValue(const aValue: Int64); virtual;
    function GetNUM_ORDENIsNull: Boolean; virtual;
    procedure SetNUM_ORDENIsNull(const aValue: Boolean); virtual;

    { Properties }
    property NUM_ORDEN: Int64 read GetNUM_ORDENValue write SetNUM_ORDENValue;
    property NUM_ORDENIsNull: Boolean read GetNUM_ORDENIsNull write SetNUM_ORDENIsNull;

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

  end;

implementation

uses Variants, uROBinaryHelpers;

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

destructor TDarIDCuentaDataTableRules.Destroy;
begin
  inherited;
end;

function TDarIDCuentaDataTableRules.GetIDValue: Integer;
begin
  result := DataTable.Fields[idx_DarIDCuentaID].AsInteger;
end;

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

function TDarIDCuentaDataTableRules.GetIDIsNull: boolean;
begin
  result := DataTable.Fields[idx_DarIDCuentaID].IsNull;
end;

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


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

destructor TDarCodigoContableTiendaDataTableRules.Destroy;
begin
  inherited;
end;

function TDarCodigoContableTiendaDataTableRules.GetCODIGO_CONTABLEValue: String;
begin
  result := DataTable.Fields[idx_DarCodigoContableTiendaCODIGO_CONTABLE].AsString;
end;

procedure TDarCodigoContableTiendaDataTableRules.SetCODIGO_CONTABLEValue(const aValue: String);
begin
  DataTable.Fields[idx_DarCodigoContableTiendaCODIGO_CONTABLE].AsString := aValue;
end;

function TDarCodigoContableTiendaDataTableRules.GetCODIGO_CONTABLEIsNull: boolean;
begin
  result := DataTable.Fields[idx_DarCodigoContableTiendaCODIGO_CONTABLE].IsNull;
end;

procedure TDarCodigoContableTiendaDataTableRules.SetCODIGO_CONTABLEIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_DarCodigoContableTiendaCODIGO_CONTABLE].AsVariant := Null;
end;


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

destructor TDarMaxRefSubCuentaProvDataTableRules.Destroy;
begin
  inherited;
end;

function TDarMaxRefSubCuentaProvDataTableRules.GetMAXValue: Integer;
begin
  result := DataTable.Fields[idx_DarMaxRefSubCuentaProvMAX].AsInteger;
end;

procedure TDarMaxRefSubCuentaProvDataTableRules.SetMAXValue(const aValue: Integer);
begin
  DataTable.Fields[idx_DarMaxRefSubCuentaProvMAX].AsInteger := aValue;
end;

function TDarMaxRefSubCuentaProvDataTableRules.GetMAXIsNull: boolean;
begin
  result := DataTable.Fields[idx_DarMaxRefSubCuentaProvMAX].IsNull;
end;

procedure TDarMaxRefSubCuentaProvDataTableRules.SetMAXIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_DarMaxRefSubCuentaProvMAX].AsVariant := Null;
end;


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

destructor TExisteSubCuentaDataTableRules.Destroy;
begin
  inherited;
end;

function TExisteSubCuentaDataTableRules.GetCOUNTValue: Integer;
begin
  result := DataTable.Fields[idx_ExisteSubCuentaCOUNT].AsInteger;
end;

procedure TExisteSubCuentaDataTableRules.SetCOUNTValue(const aValue: Integer);
begin
  DataTable.Fields[idx_ExisteSubCuentaCOUNT].AsInteger := aValue;
end;

function TExisteSubCuentaDataTableRules.GetCOUNTIsNull: boolean;
begin
  result := DataTable.Fields[idx_ExisteSubCuentaCOUNT].IsNull;
end;

procedure TExisteSubCuentaDataTableRules.SetCOUNTIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ExisteSubCuentaCOUNT].AsVariant := Null;
end;


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

destructor TDiarioDataTableRules.Destroy;
begin
  inherited;
end;

function TDiarioDataTableRules.GetID_APUNTEValue: Integer;
begin
  result := DataTable.Fields[idx_DiarioID_APUNTE].AsInteger;
end;

procedure TDiarioDataTableRules.SetID_APUNTEValue(const aValue: Integer);
begin
  DataTable.Fields[idx_DiarioID_APUNTE].AsInteger := aValue;
end;

function TDiarioDataTableRules.GetID_APUNTEIsNull: boolean;
begin
  result := DataTable.Fields[idx_DiarioID_APUNTE].IsNull;
end;

procedure TDiarioDataTableRules.SetID_APUNTEIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_DiarioID_APUNTE].AsVariant := Null;
end;

function TDiarioDataTableRules.GetID_ASIENTOValue: Integer;
begin
  result := DataTable.Fields[idx_DiarioID_ASIENTO].AsInteger;
end;

procedure TDiarioDataTableRules.SetID_ASIENTOValue(const aValue: Integer);
begin
  DataTable.Fields[idx_DiarioID_ASIENTO].AsInteger := aValue;
end;

function TDiarioDataTableRules.GetID_ASIENTOIsNull: boolean;
begin
  result := DataTable.Fields[idx_DiarioID_ASIENTO].IsNull;
end;

procedure TDiarioDataTableRules.SetID_ASIENTOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_DiarioID_ASIENTO].AsVariant := Null;
end;

function TDiarioDataTableRules.GetID_FACTURAValue: Integer;
begin
  result := DataTable.Fields[idx_DiarioID_FACTURA].AsInteger;
end;

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

function TDiarioDataTableRules.GetID_FACTURAIsNull: boolean;
begin
  result := DataTable.Fields[idx_DiarioID_FACTURA].IsNull;
end;

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

function TDiarioDataTableRules.GetID_PAGOValue: Integer;
begin
  result := DataTable.Fields[idx_DiarioID_PAGO].AsInteger;
end;

procedure TDiarioDataTableRules.SetID_PAGOValue(const aValue: Integer);
begin
  DataTable.Fields[idx_DiarioID_PAGO].AsInteger := aValue;
end;

function TDiarioDataTableRules.GetID_PAGOIsNull: boolean;
begin
  result := DataTable.Fields[idx_DiarioID_PAGO].IsNull;
end;

procedure TDiarioDataTableRules.SetID_PAGOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_DiarioID_PAGO].AsVariant := Null;
end;

function TDiarioDataTableRules.GetTIPOValue: String;
begin
  result := DataTable.Fields[idx_DiarioTIPO].AsString;
end;

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

function TDiarioDataTableRules.GetTIPOIsNull: boolean;
begin
  result := DataTable.Fields[idx_DiarioTIPO].IsNull;
end;

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

function TDiarioDataTableRules.GetORDEN_ASIENTOValue: Integer;
begin
  result := DataTable.Fields[idx_DiarioORDEN_ASIENTO].AsInteger;
end;

procedure TDiarioDataTableRules.SetORDEN_ASIENTOValue(const aValue: Integer);
begin
  DataTable.Fields[idx_DiarioORDEN_ASIENTO].AsInteger := aValue;
end;

function TDiarioDataTableRules.GetORDEN_ASIENTOIsNull: boolean;
begin
  result := DataTable.Fields[idx_DiarioORDEN_ASIENTO].IsNull;
end;

procedure TDiarioDataTableRules.SetORDEN_ASIENTOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_DiarioORDEN_ASIENTO].AsVariant := Null;
end;

function TDiarioDataTableRules.GetFECHA_ASIENTOValue: DateTime;
begin
  result := DataTable.Fields[idx_DiarioFECHA_ASIENTO].AsDateTime;
end;

procedure TDiarioDataTableRules.SetFECHA_ASIENTOValue(const aValue: DateTime);
begin
  DataTable.Fields[idx_DiarioFECHA_ASIENTO].AsDateTime := aValue;
end;

function TDiarioDataTableRules.GetFECHA_ASIENTOIsNull: boolean;
begin
  result := DataTable.Fields[idx_DiarioFECHA_ASIENTO].IsNull;
end;

procedure TDiarioDataTableRules.SetFECHA_ASIENTOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_DiarioFECHA_ASIENTO].AsVariant := Null;
end;

function TDiarioDataTableRules.GetID_SUBCUENTAValue: Integer;
begin
  result := DataTable.Fields[idx_DiarioID_SUBCUENTA].AsInteger;
end;

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

function TDiarioDataTableRules.GetID_SUBCUENTAIsNull: boolean;
begin
  result := DataTable.Fields[idx_DiarioID_SUBCUENTA].IsNull;
end;

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

function TDiarioDataTableRules.GetREF_SUBCUENTAValue: String;
begin
  result := DataTable.Fields[idx_DiarioREF_SUBCUENTA].AsString;
end;

procedure TDiarioDataTableRules.SetREF_SUBCUENTAValue(const aValue: String);
begin
  DataTable.Fields[idx_DiarioREF_SUBCUENTA].AsString := aValue;
end;

function TDiarioDataTableRules.GetREF_SUBCUENTAIsNull: boolean;
begin
  result := DataTable.Fields[idx_DiarioREF_SUBCUENTA].IsNull;
end;

procedure TDiarioDataTableRules.SetREF_SUBCUENTAIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_DiarioREF_SUBCUENTA].AsVariant := Null;
end;

function TDiarioDataTableRules.GetSUBCUENTAValue: String;
begin
  result := DataTable.Fields[idx_DiarioSUBCUENTA].AsString;
end;

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

function TDiarioDataTableRules.GetSUBCUENTAIsNull: boolean;
begin
  result := DataTable.Fields[idx_DiarioSUBCUENTA].IsNull;
end;

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

function TDiarioDataTableRules.GetID_EJERCICIOValue: Integer;
begin
  result := DataTable.Fields[idx_DiarioID_EJERCICIO].AsInteger;
end;

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

function TDiarioDataTableRules.GetID_EJERCICIOIsNull: boolean;
begin
  result := DataTable.Fields[idx_DiarioID_EJERCICIO].IsNull;
end;

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

function TDiarioDataTableRules.GetESTADOValue: String;
begin
  result := DataTable.Fields[idx_DiarioESTADO].AsString;
end;

procedure TDiarioDataTableRules.SetESTADOValue(const aValue: String);
begin
  DataTable.Fields[idx_DiarioESTADO].AsString := aValue;
end;

function TDiarioDataTableRules.GetESTADOIsNull: boolean;
begin
  result := DataTable.Fields[idx_DiarioESTADO].IsNull;
end;

procedure TDiarioDataTableRules.SetESTADOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_DiarioESTADO].AsVariant := Null;
end;

function TDiarioDataTableRules.GetCONCEPTOValue: String;
begin
  result := DataTable.Fields[idx_DiarioCONCEPTO].AsString;
end;

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

function TDiarioDataTableRules.GetCONCEPTOIsNull: boolean;
begin
  result := DataTable.Fields[idx_DiarioCONCEPTO].IsNull;
end;

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

function TDiarioDataTableRules.GetDOCUMENTOValue: String;
begin
  result := DataTable.Fields[idx_DiarioDOCUMENTO].AsString;
end;

procedure TDiarioDataTableRules.SetDOCUMENTOValue(const aValue: String);
begin
  DataTable.Fields[idx_DiarioDOCUMENTO].AsString := aValue;
end;

function TDiarioDataTableRules.GetDOCUMENTOIsNull: boolean;
begin
  result := DataTable.Fields[idx_DiarioDOCUMENTO].IsNull;
end;

procedure TDiarioDataTableRules.SetDOCUMENTOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_DiarioDOCUMENTO].AsVariant := Null;
end;

function TDiarioDataTableRules.GetDEBEValue: Currency;
begin
  result := DataTable.Fields[idx_DiarioDEBE].AsCurrency;
end;

procedure TDiarioDataTableRules.SetDEBEValue(const aValue: Currency);
begin
  DataTable.Fields[idx_DiarioDEBE].AsCurrency := aValue;
end;

function TDiarioDataTableRules.GetDEBEIsNull: boolean;
begin
  result := DataTable.Fields[idx_DiarioDEBE].IsNull;
end;

procedure TDiarioDataTableRules.SetDEBEIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_DiarioDEBE].AsVariant := Null;
end;

function TDiarioDataTableRules.GetHABERValue: Currency;
begin
  result := DataTable.Fields[idx_DiarioHABER].AsCurrency;
end;

procedure TDiarioDataTableRules.SetHABERValue(const aValue: Currency);
begin
  DataTable.Fields[idx_DiarioHABER].AsCurrency := aValue;
end;

function TDiarioDataTableRules.GetHABERIsNull: boolean;
begin
  result := DataTable.Fields[idx_DiarioHABER].IsNull;
end;

procedure TDiarioDataTableRules.SetHABERIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_DiarioHABER].AsVariant := Null;
end;

function TDiarioDataTableRules.GetPUNTEADOValue: SmallInt;
begin
  result := DataTable.Fields[idx_DiarioPUNTEADO].AsSmallInt;
end;

procedure TDiarioDataTableRules.SetPUNTEADOValue(const aValue: SmallInt);
begin
  DataTable.Fields[idx_DiarioPUNTEADO].AsSmallInt := aValue;
end;

function TDiarioDataTableRules.GetPUNTEADOIsNull: boolean;
begin
  result := DataTable.Fields[idx_DiarioPUNTEADO].IsNull;
end;

procedure TDiarioDataTableRules.SetPUNTEADOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_DiarioPUNTEADO].AsVariant := Null;
end;

function TDiarioDataTableRules.GetSALDOValue: Currency;
begin
  result := DataTable.Fields[idx_DiarioSALDO].AsCurrency;
end;

procedure TDiarioDataTableRules.SetSALDOValue(const aValue: Currency);
begin
  DataTable.Fields[idx_DiarioSALDO].AsCurrency := aValue;
end;

function TDiarioDataTableRules.GetSALDOIsNull: boolean;
begin
  result := DataTable.Fields[idx_DiarioSALDO].IsNull;
end;

procedure TDiarioDataTableRules.SetSALDOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_DiarioSALDO].AsVariant := Null;
end;


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

destructor TApuntesDataTableRules.Destroy;
begin
  inherited;
end;

function TApuntesDataTableRules.GetIDValue: Integer;
begin
  result := DataTable.Fields[idx_ApuntesID].AsInteger;
end;

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

function TApuntesDataTableRules.GetIDIsNull: boolean;
begin
  result := DataTable.Fields[idx_ApuntesID].IsNull;
end;

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

function TApuntesDataTableRules.GetID_ASIENTOValue: Integer;
begin
  result := DataTable.Fields[idx_ApuntesID_ASIENTO].AsInteger;
end;

procedure TApuntesDataTableRules.SetID_ASIENTOValue(const aValue: Integer);
begin
  DataTable.Fields[idx_ApuntesID_ASIENTO].AsInteger := aValue;
end;

function TApuntesDataTableRules.GetID_ASIENTOIsNull: boolean;
begin
  result := DataTable.Fields[idx_ApuntesID_ASIENTO].IsNull;
end;

procedure TApuntesDataTableRules.SetID_ASIENTOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ApuntesID_ASIENTO].AsVariant := Null;
end;

function TApuntesDataTableRules.GetID_SUBCUENTAValue: Integer;
begin
  result := DataTable.Fields[idx_ApuntesID_SUBCUENTA].AsInteger;
end;

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

function TApuntesDataTableRules.GetID_SUBCUENTAIsNull: boolean;
begin
  result := DataTable.Fields[idx_ApuntesID_SUBCUENTA].IsNull;
end;

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

function TApuntesDataTableRules.GetNUM_ORDENValue: Integer;
begin
  result := DataTable.Fields[idx_ApuntesNUM_ORDEN].AsInteger;
end;

procedure TApuntesDataTableRules.SetNUM_ORDENValue(const aValue: Integer);
begin
  DataTable.Fields[idx_ApuntesNUM_ORDEN].AsInteger := aValue;
end;

function TApuntesDataTableRules.GetNUM_ORDENIsNull: boolean;
begin
  result := DataTable.Fields[idx_ApuntesNUM_ORDEN].IsNull;
end;

procedure TApuntesDataTableRules.SetNUM_ORDENIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ApuntesNUM_ORDEN].AsVariant := Null;
end;

function TApuntesDataTableRules.GetREF_SUBCUENTAValue: String;
begin
  result := DataTable.Fields[idx_ApuntesREF_SUBCUENTA].AsString;
end;

procedure TApuntesDataTableRules.SetREF_SUBCUENTAValue(const aValue: String);
begin
  DataTable.Fields[idx_ApuntesREF_SUBCUENTA].AsString := aValue;
end;

function TApuntesDataTableRules.GetREF_SUBCUENTAIsNull: boolean;
begin
  result := DataTable.Fields[idx_ApuntesREF_SUBCUENTA].IsNull;
end;

procedure TApuntesDataTableRules.SetREF_SUBCUENTAIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ApuntesREF_SUBCUENTA].AsVariant := Null;
end;

function TApuntesDataTableRules.GetSUBCUENTAValue: String;
begin
  result := DataTable.Fields[idx_ApuntesSUBCUENTA].AsString;
end;

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

function TApuntesDataTableRules.GetSUBCUENTAIsNull: boolean;
begin
  result := DataTable.Fields[idx_ApuntesSUBCUENTA].IsNull;
end;

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

function TApuntesDataTableRules.GetCONCEPTOValue: String;
begin
  result := DataTable.Fields[idx_ApuntesCONCEPTO].AsString;
end;

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

function TApuntesDataTableRules.GetCONCEPTOIsNull: boolean;
begin
  result := DataTable.Fields[idx_ApuntesCONCEPTO].IsNull;
end;

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

function TApuntesDataTableRules.GetDOCUMENTOValue: String;
begin
  result := DataTable.Fields[idx_ApuntesDOCUMENTO].AsString;
end;

procedure TApuntesDataTableRules.SetDOCUMENTOValue(const aValue: String);
begin
  DataTable.Fields[idx_ApuntesDOCUMENTO].AsString := aValue;
end;

function TApuntesDataTableRules.GetDOCUMENTOIsNull: boolean;
begin
  result := DataTable.Fields[idx_ApuntesDOCUMENTO].IsNull;
end;

procedure TApuntesDataTableRules.SetDOCUMENTOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ApuntesDOCUMENTO].AsVariant := Null;
end;

function TApuntesDataTableRules.GetDEBEValue: Currency;
begin
  result := DataTable.Fields[idx_ApuntesDEBE].AsCurrency;
end;

procedure TApuntesDataTableRules.SetDEBEValue(const aValue: Currency);
begin
  DataTable.Fields[idx_ApuntesDEBE].AsCurrency := aValue;
end;

function TApuntesDataTableRules.GetDEBEIsNull: boolean;
begin
  result := DataTable.Fields[idx_ApuntesDEBE].IsNull;
end;

procedure TApuntesDataTableRules.SetDEBEIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ApuntesDEBE].AsVariant := Null;
end;

function TApuntesDataTableRules.GetHABERValue: Currency;
begin
  result := DataTable.Fields[idx_ApuntesHABER].AsCurrency;
end;

procedure TApuntesDataTableRules.SetHABERValue(const aValue: Currency);
begin
  DataTable.Fields[idx_ApuntesHABER].AsCurrency := aValue;
end;

function TApuntesDataTableRules.GetHABERIsNull: boolean;
begin
  result := DataTable.Fields[idx_ApuntesHABER].IsNull;
end;

procedure TApuntesDataTableRules.SetHABERIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ApuntesHABER].AsVariant := Null;
end;

function TApuntesDataTableRules.GetPUNTEADOValue: SmallInt;
begin
  result := DataTable.Fields[idx_ApuntesPUNTEADO].AsSmallInt;
end;

procedure TApuntesDataTableRules.SetPUNTEADOValue(const aValue: SmallInt);
begin
  DataTable.Fields[idx_ApuntesPUNTEADO].AsSmallInt := aValue;
end;

function TApuntesDataTableRules.GetPUNTEADOIsNull: boolean;
begin
  result := DataTable.Fields[idx_ApuntesPUNTEADO].IsNull;
end;

procedure TApuntesDataTableRules.SetPUNTEADOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ApuntesPUNTEADO].AsVariant := Null;
end;


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

destructor TAsientosDataTableRules.Destroy;
begin
  inherited;
end;

function TAsientosDataTableRules.GetIDValue: Integer;
begin
  result := DataTable.Fields[idx_AsientosID].AsInteger;
end;

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

function TAsientosDataTableRules.GetIDIsNull: boolean;
begin
  result := DataTable.Fields[idx_AsientosID].IsNull;
end;

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

function TAsientosDataTableRules.GetFECHA_ASIENTOValue: DateTime;
begin
  result := DataTable.Fields[idx_AsientosFECHA_ASIENTO].AsDateTime;
end;

procedure TAsientosDataTableRules.SetFECHA_ASIENTOValue(const aValue: DateTime);
begin
  DataTable.Fields[idx_AsientosFECHA_ASIENTO].AsDateTime := aValue;
end;

function TAsientosDataTableRules.GetFECHA_ASIENTOIsNull: boolean;
begin
  result := DataTable.Fields[idx_AsientosFECHA_ASIENTO].IsNull;
end;

procedure TAsientosDataTableRules.SetFECHA_ASIENTOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_AsientosFECHA_ASIENTO].AsVariant := Null;
end;

function TAsientosDataTableRules.GetORDENValue: Integer;
begin
  result := DataTable.Fields[idx_AsientosORDEN].AsInteger;
end;

procedure TAsientosDataTableRules.SetORDENValue(const aValue: Integer);
begin
  DataTable.Fields[idx_AsientosORDEN].AsInteger := aValue;
end;

function TAsientosDataTableRules.GetORDENIsNull: boolean;
begin
  result := DataTable.Fields[idx_AsientosORDEN].IsNull;
end;

procedure TAsientosDataTableRules.SetORDENIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_AsientosORDEN].AsVariant := Null;
end;

function TAsientosDataTableRules.GetID_FACTURAValue: Integer;
begin
  result := DataTable.Fields[idx_AsientosID_FACTURA].AsInteger;
end;

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

function TAsientosDataTableRules.GetID_FACTURAIsNull: boolean;
begin
  result := DataTable.Fields[idx_AsientosID_FACTURA].IsNull;
end;

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

function TAsientosDataTableRules.GetID_PAGOValue: Integer;
begin
  result := DataTable.Fields[idx_AsientosID_PAGO].AsInteger;
end;

procedure TAsientosDataTableRules.SetID_PAGOValue(const aValue: Integer);
begin
  DataTable.Fields[idx_AsientosID_PAGO].AsInteger := aValue;
end;

function TAsientosDataTableRules.GetID_PAGOIsNull: boolean;
begin
  result := DataTable.Fields[idx_AsientosID_PAGO].IsNull;
end;

procedure TAsientosDataTableRules.SetID_PAGOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_AsientosID_PAGO].AsVariant := Null;
end;

function TAsientosDataTableRules.GetTIPOValue: String;
begin
  result := DataTable.Fields[idx_AsientosTIPO].AsString;
end;

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

function TAsientosDataTableRules.GetTIPOIsNull: boolean;
begin
  result := DataTable.Fields[idx_AsientosTIPO].IsNull;
end;

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


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

destructor TSubCuentasDataTableRules.Destroy;
begin
  inherited;
end;

function TSubCuentasDataTableRules.GetIDValue: Integer;
begin
  result := DataTable.Fields[idx_SubCuentasID].AsInteger;
end;

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

function TSubCuentasDataTableRules.GetIDIsNull: boolean;
begin
  result := DataTable.Fields[idx_SubCuentasID].IsNull;
end;

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

function TSubCuentasDataTableRules.GetREF_SUBCUENTAValue: String;
begin
  result := DataTable.Fields[idx_SubCuentasREF_SUBCUENTA].AsString;
end;

procedure TSubCuentasDataTableRules.SetREF_SUBCUENTAValue(const aValue: String);
begin
  DataTable.Fields[idx_SubCuentasREF_SUBCUENTA].AsString := aValue;
end;

function TSubCuentasDataTableRules.GetREF_SUBCUENTAIsNull: boolean;
begin
  result := DataTable.Fields[idx_SubCuentasREF_SUBCUENTA].IsNull;
end;

procedure TSubCuentasDataTableRules.SetREF_SUBCUENTAIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_SubCuentasREF_SUBCUENTA].AsVariant := Null;
end;

function TSubCuentasDataTableRules.GetDESCRIPCIONValue: String;
begin
  result := DataTable.Fields[idx_SubCuentasDESCRIPCION].AsString;
end;

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

function TSubCuentasDataTableRules.GetDESCRIPCIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_SubCuentasDESCRIPCION].IsNull;
end;

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

function TSubCuentasDataTableRules.GetID_EJERCICIOValue: Integer;
begin
  result := DataTable.Fields[idx_SubCuentasID_EJERCICIO].AsInteger;
end;

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

function TSubCuentasDataTableRules.GetID_EJERCICIOIsNull: boolean;
begin
  result := DataTable.Fields[idx_SubCuentasID_EJERCICIO].IsNull;
end;

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

function TSubCuentasDataTableRules.GetESTADOValue: String;
begin
  result := DataTable.Fields[idx_SubCuentasESTADO].AsString;
end;

procedure TSubCuentasDataTableRules.SetESTADOValue(const aValue: String);
begin
  DataTable.Fields[idx_SubCuentasESTADO].AsString := aValue;
end;

function TSubCuentasDataTableRules.GetESTADOIsNull: boolean;
begin
  result := DataTable.Fields[idx_SubCuentasESTADO].IsNull;
end;

procedure TSubCuentasDataTableRules.SetESTADOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_SubCuentasESTADO].AsVariant := Null;
end;

function TSubCuentasDataTableRules.GetREF_EPIGRAFE_PADREValue: String;
begin
  result := DataTable.Fields[idx_SubCuentasREF_EPIGRAFE_PADRE].AsString;
end;

procedure TSubCuentasDataTableRules.SetREF_EPIGRAFE_PADREValue(const aValue: String);
begin
  DataTable.Fields[idx_SubCuentasREF_EPIGRAFE_PADRE].AsString := aValue;
end;

function TSubCuentasDataTableRules.GetREF_EPIGRAFE_PADREIsNull: boolean;
begin
  result := DataTable.Fields[idx_SubCuentasREF_EPIGRAFE_PADRE].IsNull;
end;

procedure TSubCuentasDataTableRules.SetREF_EPIGRAFE_PADREIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_SubCuentasREF_EPIGRAFE_PADRE].AsVariant := Null;
end;

function TSubCuentasDataTableRules.GetID_CONTACTOValue: Integer;
begin
  result := DataTable.Fields[idx_SubCuentasID_CONTACTO].AsInteger;
end;

procedure TSubCuentasDataTableRules.SetID_CONTACTOValue(const aValue: Integer);
begin
  DataTable.Fields[idx_SubCuentasID_CONTACTO].AsInteger := aValue;
end;

function TSubCuentasDataTableRules.GetID_CONTACTOIsNull: boolean;
begin
  result := DataTable.Fields[idx_SubCuentasID_CONTACTO].IsNull;
end;

procedure TSubCuentasDataTableRules.SetID_CONTACTOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_SubCuentasID_CONTACTO].AsVariant := Null;
end;

function TSubCuentasDataTableRules.GetID_CUENTAValue: Integer;
begin
  result := DataTable.Fields[idx_SubCuentasID_CUENTA].AsInteger;
end;

procedure TSubCuentasDataTableRules.SetID_CUENTAValue(const aValue: Integer);
begin
  DataTable.Fields[idx_SubCuentasID_CUENTA].AsInteger := aValue;
end;

function TSubCuentasDataTableRules.GetID_CUENTAIsNull: boolean;
begin
  result := DataTable.Fields[idx_SubCuentasID_CUENTA].IsNull;
end;

procedure TSubCuentasDataTableRules.SetID_CUENTAIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_SubCuentasID_CUENTA].AsVariant := Null;
end;

function TSubCuentasDataTableRules.GetREF_CUENTAValue: String;
begin
  result := DataTable.Fields[idx_SubCuentasREF_CUENTA].AsString;
end;

procedure TSubCuentasDataTableRules.SetREF_CUENTAValue(const aValue: String);
begin
  DataTable.Fields[idx_SubCuentasREF_CUENTA].AsString := aValue;
end;

function TSubCuentasDataTableRules.GetREF_CUENTAIsNull: boolean;
begin
  result := DataTable.Fields[idx_SubCuentasREF_CUENTA].IsNull;
end;

procedure TSubCuentasDataTableRules.SetREF_CUENTAIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_SubCuentasREF_CUENTA].AsVariant := Null;
end;

function TSubCuentasDataTableRules.GetCUENTAValue: String;
begin
  result := DataTable.Fields[idx_SubCuentasCUENTA].AsString;
end;

procedure TSubCuentasDataTableRules.SetCUENTAValue(const aValue: String);
begin
  DataTable.Fields[idx_SubCuentasCUENTA].AsString := aValue;
end;

function TSubCuentasDataTableRules.GetCUENTAIsNull: boolean;
begin
  result := DataTable.Fields[idx_SubCuentasCUENTA].IsNull;
end;

procedure TSubCuentasDataTableRules.SetCUENTAIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_SubCuentasCUENTA].AsVariant := Null;
end;

function TSubCuentasDataTableRules.GetDEBEValue: Currency;
begin
  result := DataTable.Fields[idx_SubCuentasDEBE].AsCurrency;
end;

procedure TSubCuentasDataTableRules.SetDEBEValue(const aValue: Currency);
begin
  DataTable.Fields[idx_SubCuentasDEBE].AsCurrency := aValue;
end;

function TSubCuentasDataTableRules.GetDEBEIsNull: boolean;
begin
  result := DataTable.Fields[idx_SubCuentasDEBE].IsNull;
end;

procedure TSubCuentasDataTableRules.SetDEBEIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_SubCuentasDEBE].AsVariant := Null;
end;

function TSubCuentasDataTableRules.GetHABERValue: Currency;
begin
  result := DataTable.Fields[idx_SubCuentasHABER].AsCurrency;
end;

procedure TSubCuentasDataTableRules.SetHABERValue(const aValue: Currency);
begin
  DataTable.Fields[idx_SubCuentasHABER].AsCurrency := aValue;
end;

function TSubCuentasDataTableRules.GetHABERIsNull: boolean;
begin
  result := DataTable.Fields[idx_SubCuentasHABER].IsNull;
end;

procedure TSubCuentasDataTableRules.SetHABERIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_SubCuentasHABER].AsVariant := Null;
end;

function TSubCuentasDataTableRules.GetSALDOValue: Currency;
begin
  result := DataTable.Fields[idx_SubCuentasSALDO].AsCurrency;
end;

procedure TSubCuentasDataTableRules.SetSALDOValue(const aValue: Currency);
begin
  DataTable.Fields[idx_SubCuentasSALDO].AsCurrency := aValue;
end;

function TSubCuentasDataTableRules.GetSALDOIsNull: boolean;
begin
  result := DataTable.Fields[idx_SubCuentasSALDO].IsNull;
end;

procedure TSubCuentasDataTableRules.SetSALDOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_SubCuentasSALDO].AsVariant := Null;
end;


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

destructor TCuentasDataTableRules.Destroy;
begin
  inherited;
end;

function TCuentasDataTableRules.GetIDValue: Integer;
begin
  result := DataTable.Fields[idx_CuentasID].AsInteger;
end;

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

function TCuentasDataTableRules.GetIDIsNull: boolean;
begin
  result := DataTable.Fields[idx_CuentasID].IsNull;
end;

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

function TCuentasDataTableRules.GetREF_CUENTAValue: String;
begin
  result := DataTable.Fields[idx_CuentasREF_CUENTA].AsString;
end;

procedure TCuentasDataTableRules.SetREF_CUENTAValue(const aValue: String);
begin
  DataTable.Fields[idx_CuentasREF_CUENTA].AsString := aValue;
end;

function TCuentasDataTableRules.GetREF_CUENTAIsNull: boolean;
begin
  result := DataTable.Fields[idx_CuentasREF_CUENTA].IsNull;
end;

procedure TCuentasDataTableRules.SetREF_CUENTAIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_CuentasREF_CUENTA].AsVariant := Null;
end;

function TCuentasDataTableRules.GetID_EJERCICIOValue: Integer;
begin
  result := DataTable.Fields[idx_CuentasID_EJERCICIO].AsInteger;
end;

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

function TCuentasDataTableRules.GetID_EJERCICIOIsNull: boolean;
begin
  result := DataTable.Fields[idx_CuentasID_EJERCICIO].IsNull;
end;

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

function TCuentasDataTableRules.GetESTADOValue: String;
begin
  result := DataTable.Fields[idx_CuentasESTADO].AsString;
end;

procedure TCuentasDataTableRules.SetESTADOValue(const aValue: String);
begin
  DataTable.Fields[idx_CuentasESTADO].AsString := aValue;
end;

function TCuentasDataTableRules.GetESTADOIsNull: boolean;
begin
  result := DataTable.Fields[idx_CuentasESTADO].IsNull;
end;

procedure TCuentasDataTableRules.SetESTADOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_CuentasESTADO].AsVariant := Null;
end;

function TCuentasDataTableRules.GetDESCRIPCIONValue: String;
begin
  result := DataTable.Fields[idx_CuentasDESCRIPCION].AsString;
end;

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

function TCuentasDataTableRules.GetDESCRIPCIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_CuentasDESCRIPCION].IsNull;
end;

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

function TCuentasDataTableRules.GetID_EPIGRAFEValue: Integer;
begin
  result := DataTable.Fields[idx_CuentasID_EPIGRAFE].AsInteger;
end;

procedure TCuentasDataTableRules.SetID_EPIGRAFEValue(const aValue: Integer);
begin
  DataTable.Fields[idx_CuentasID_EPIGRAFE].AsInteger := aValue;
end;

function TCuentasDataTableRules.GetID_EPIGRAFEIsNull: boolean;
begin
  result := DataTable.Fields[idx_CuentasID_EPIGRAFE].IsNull;
end;

procedure TCuentasDataTableRules.SetID_EPIGRAFEIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_CuentasID_EPIGRAFE].AsVariant := Null;
end;

function TCuentasDataTableRules.GetEPIGRAFEValue: String;
begin
  result := DataTable.Fields[idx_CuentasEPIGRAFE].AsString;
end;

procedure TCuentasDataTableRules.SetEPIGRAFEValue(const aValue: String);
begin
  DataTable.Fields[idx_CuentasEPIGRAFE].AsString := aValue;
end;

function TCuentasDataTableRules.GetEPIGRAFEIsNull: boolean;
begin
  result := DataTable.Fields[idx_CuentasEPIGRAFE].IsNull;
end;

procedure TCuentasDataTableRules.SetEPIGRAFEIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_CuentasEPIGRAFE].AsVariant := Null;
end;

function TCuentasDataTableRules.GetID_BALANCEValue: Integer;
begin
  result := DataTable.Fields[idx_CuentasID_BALANCE].AsInteger;
end;

procedure TCuentasDataTableRules.SetID_BALANCEValue(const aValue: Integer);
begin
  DataTable.Fields[idx_CuentasID_BALANCE].AsInteger := aValue;
end;

function TCuentasDataTableRules.GetID_BALANCEIsNull: boolean;
begin
  result := DataTable.Fields[idx_CuentasID_BALANCE].IsNull;
end;

procedure TCuentasDataTableRules.SetID_BALANCEIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_CuentasID_BALANCE].AsVariant := Null;
end;

function TCuentasDataTableRules.GetBALANCEValue: String;
begin
  result := DataTable.Fields[idx_CuentasBALANCE].AsString;
end;

procedure TCuentasDataTableRules.SetBALANCEValue(const aValue: String);
begin
  DataTable.Fields[idx_CuentasBALANCE].AsString := aValue;
end;

function TCuentasDataTableRules.GetBALANCEIsNull: boolean;
begin
  result := DataTable.Fields[idx_CuentasBALANCE].IsNull;
end;

procedure TCuentasDataTableRules.SetBALANCEIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_CuentasBALANCE].AsVariant := Null;
end;

function TCuentasDataTableRules.GetID_CUENTA_ESPECIALValue: Integer;
begin
  result := DataTable.Fields[idx_CuentasID_CUENTA_ESPECIAL].AsInteger;
end;

procedure TCuentasDataTableRules.SetID_CUENTA_ESPECIALValue(const aValue: Integer);
begin
  DataTable.Fields[idx_CuentasID_CUENTA_ESPECIAL].AsInteger := aValue;
end;

function TCuentasDataTableRules.GetID_CUENTA_ESPECIALIsNull: boolean;
begin
  result := DataTable.Fields[idx_CuentasID_CUENTA_ESPECIAL].IsNull;
end;

procedure TCuentasDataTableRules.SetID_CUENTA_ESPECIALIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_CuentasID_CUENTA_ESPECIAL].AsVariant := Null;
end;

function TCuentasDataTableRules.GetCUENTA_ESPECIALValue: String;
begin
  result := DataTable.Fields[idx_CuentasCUENTA_ESPECIAL].AsString;
end;

procedure TCuentasDataTableRules.SetCUENTA_ESPECIALValue(const aValue: String);
begin
  DataTable.Fields[idx_CuentasCUENTA_ESPECIAL].AsString := aValue;
end;

function TCuentasDataTableRules.GetCUENTA_ESPECIALIsNull: boolean;
begin
  result := DataTable.Fields[idx_CuentasCUENTA_ESPECIAL].IsNull;
end;

procedure TCuentasDataTableRules.SetCUENTA_ESPECIALIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_CuentasCUENTA_ESPECIAL].AsVariant := Null;
end;


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

destructor TCuentasEspecialesDataTableRules.Destroy;
begin
  inherited;
end;

function TCuentasEspecialesDataTableRules.GetIDValue: Integer;
begin
  result := DataTable.Fields[idx_CuentasEspecialesID].AsInteger;
end;

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

function TCuentasEspecialesDataTableRules.GetIDIsNull: boolean;
begin
  result := DataTable.Fields[idx_CuentasEspecialesID].IsNull;
end;

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

function TCuentasEspecialesDataTableRules.GetREFERENCIAValue: String;
begin
  result := DataTable.Fields[idx_CuentasEspecialesREFERENCIA].AsString;
end;

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

function TCuentasEspecialesDataTableRules.GetREFERENCIAIsNull: boolean;
begin
  result := DataTable.Fields[idx_CuentasEspecialesREFERENCIA].IsNull;
end;

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

function TCuentasEspecialesDataTableRules.GetDESCRIPCIONValue: String;
begin
  result := DataTable.Fields[idx_CuentasEspecialesDESCRIPCION].AsString;
end;

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

function TCuentasEspecialesDataTableRules.GetDESCRIPCIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_CuentasEspecialesDESCRIPCION].IsNull;
end;

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


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

destructor TEpigrafesDataTableRules.Destroy;
begin
  inherited;
end;

function TEpigrafesDataTableRules.GetIDValue: Integer;
begin
  result := DataTable.Fields[idx_EpigrafesID].AsInteger;
end;

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

function TEpigrafesDataTableRules.GetIDIsNull: boolean;
begin
  result := DataTable.Fields[idx_EpigrafesID].IsNull;
end;

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

function TEpigrafesDataTableRules.GetREF_EPIGRAFEValue: String;
begin
  result := DataTable.Fields[idx_EpigrafesREF_EPIGRAFE].AsString;
end;

procedure TEpigrafesDataTableRules.SetREF_EPIGRAFEValue(const aValue: String);
begin
  DataTable.Fields[idx_EpigrafesREF_EPIGRAFE].AsString := aValue;
end;

function TEpigrafesDataTableRules.GetREF_EPIGRAFEIsNull: boolean;
begin
  result := DataTable.Fields[idx_EpigrafesREF_EPIGRAFE].IsNull;
end;

procedure TEpigrafesDataTableRules.SetREF_EPIGRAFEIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_EpigrafesREF_EPIGRAFE].AsVariant := Null;
end;

function TEpigrafesDataTableRules.GetDESCRIPCIONValue: String;
begin
  result := DataTable.Fields[idx_EpigrafesDESCRIPCION].AsString;
end;

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

function TEpigrafesDataTableRules.GetDESCRIPCIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_EpigrafesDESCRIPCION].IsNull;
end;

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

function TEpigrafesDataTableRules.GetID_EJERCICIOValue: Integer;
begin
  result := DataTable.Fields[idx_EpigrafesID_EJERCICIO].AsInteger;
end;

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

function TEpigrafesDataTableRules.GetID_EJERCICIOIsNull: boolean;
begin
  result := DataTable.Fields[idx_EpigrafesID_EJERCICIO].IsNull;
end;

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

function TEpigrafesDataTableRules.GetESTADOValue: String;
begin
  result := DataTable.Fields[idx_EpigrafesESTADO].AsString;
end;

procedure TEpigrafesDataTableRules.SetESTADOValue(const aValue: String);
begin
  DataTable.Fields[idx_EpigrafesESTADO].AsString := aValue;
end;

function TEpigrafesDataTableRules.GetESTADOIsNull: boolean;
begin
  result := DataTable.Fields[idx_EpigrafesESTADO].IsNull;
end;

procedure TEpigrafesDataTableRules.SetESTADOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_EpigrafesESTADO].AsVariant := Null;
end;

function TEpigrafesDataTableRules.GetID_PADREValue: Integer;
begin
  result := DataTable.Fields[idx_EpigrafesID_PADRE].AsInteger;
end;

procedure TEpigrafesDataTableRules.SetID_PADREValue(const aValue: Integer);
begin
  DataTable.Fields[idx_EpigrafesID_PADRE].AsInteger := aValue;
end;

function TEpigrafesDataTableRules.GetID_PADREIsNull: boolean;
begin
  result := DataTable.Fields[idx_EpigrafesID_PADRE].IsNull;
end;

procedure TEpigrafesDataTableRules.SetID_PADREIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_EpigrafesID_PADRE].AsVariant := Null;
end;

function TEpigrafesDataTableRules.GetEPIGRAFE_PADREValue: String;
begin
  result := DataTable.Fields[idx_EpigrafesEPIGRAFE_PADRE].AsString;
end;

procedure TEpigrafesDataTableRules.SetEPIGRAFE_PADREValue(const aValue: String);
begin
  DataTable.Fields[idx_EpigrafesEPIGRAFE_PADRE].AsString := aValue;
end;

function TEpigrafesDataTableRules.GetEPIGRAFE_PADREIsNull: boolean;
begin
  result := DataTable.Fields[idx_EpigrafesEPIGRAFE_PADRE].IsNull;
end;

procedure TEpigrafesDataTableRules.SetEPIGRAFE_PADREIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_EpigrafesEPIGRAFE_PADRE].AsVariant := Null;
end;


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

destructor TBalancesDataTableRules.Destroy;
begin
  inherited;
end;

function TBalancesDataTableRules.GetIDValue: Integer;
begin
  result := DataTable.Fields[idx_BalancesID].AsInteger;
end;

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

function TBalancesDataTableRules.GetIDIsNull: boolean;
begin
  result := DataTable.Fields[idx_BalancesID].IsNull;
end;

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

function TBalancesDataTableRules.GetREF_BALANCEValue: String;
begin
  result := DataTable.Fields[idx_BalancesREF_BALANCE].AsString;
end;

procedure TBalancesDataTableRules.SetREF_BALANCEValue(const aValue: String);
begin
  DataTable.Fields[idx_BalancesREF_BALANCE].AsString := aValue;
end;

function TBalancesDataTableRules.GetREF_BALANCEIsNull: boolean;
begin
  result := DataTable.Fields[idx_BalancesREF_BALANCE].IsNull;
end;

procedure TBalancesDataTableRules.SetREF_BALANCEIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_BalancesREF_BALANCE].AsVariant := Null;
end;

function TBalancesDataTableRules.GetNATURALEZAValue: String;
begin
  result := DataTable.Fields[idx_BalancesNATURALEZA].AsString;
end;

procedure TBalancesDataTableRules.SetNATURALEZAValue(const aValue: String);
begin
  DataTable.Fields[idx_BalancesNATURALEZA].AsString := aValue;
end;

function TBalancesDataTableRules.GetNATURALEZAIsNull: boolean;
begin
  result := DataTable.Fields[idx_BalancesNATURALEZA].IsNull;
end;

procedure TBalancesDataTableRules.SetNATURALEZAIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_BalancesNATURALEZA].AsVariant := Null;
end;

function TBalancesDataTableRules.GetNIVEL1Value: String;
begin
  result := DataTable.Fields[idx_BalancesNIVEL1].AsString;
end;

procedure TBalancesDataTableRules.SetNIVEL1Value(const aValue: String);
begin
  DataTable.Fields[idx_BalancesNIVEL1].AsString := aValue;
end;

function TBalancesDataTableRules.GetNIVEL1IsNull: boolean;
begin
  result := DataTable.Fields[idx_BalancesNIVEL1].IsNull;
end;

procedure TBalancesDataTableRules.SetNIVEL1IsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_BalancesNIVEL1].AsVariant := Null;
end;

function TBalancesDataTableRules.GetDESCRIPCION1Value: String;
begin
  result := DataTable.Fields[idx_BalancesDESCRIPCION1].AsString;
end;

procedure TBalancesDataTableRules.SetDESCRIPCION1Value(const aValue: String);
begin
  DataTable.Fields[idx_BalancesDESCRIPCION1].AsString := aValue;
end;

function TBalancesDataTableRules.GetDESCRIPCION1IsNull: boolean;
begin
  result := DataTable.Fields[idx_BalancesDESCRIPCION1].IsNull;
end;

procedure TBalancesDataTableRules.SetDESCRIPCION1IsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_BalancesDESCRIPCION1].AsVariant := Null;
end;

function TBalancesDataTableRules.GetNIVEL2Value: String;
begin
  result := DataTable.Fields[idx_BalancesNIVEL2].AsString;
end;

procedure TBalancesDataTableRules.SetNIVEL2Value(const aValue: String);
begin
  DataTable.Fields[idx_BalancesNIVEL2].AsString := aValue;
end;

function TBalancesDataTableRules.GetNIVEL2IsNull: boolean;
begin
  result := DataTable.Fields[idx_BalancesNIVEL2].IsNull;
end;

procedure TBalancesDataTableRules.SetNIVEL2IsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_BalancesNIVEL2].AsVariant := Null;
end;

function TBalancesDataTableRules.GetDESCRIPCION2Value: String;
begin
  result := DataTable.Fields[idx_BalancesDESCRIPCION2].AsString;
end;

procedure TBalancesDataTableRules.SetDESCRIPCION2Value(const aValue: String);
begin
  DataTable.Fields[idx_BalancesDESCRIPCION2].AsString := aValue;
end;

function TBalancesDataTableRules.GetDESCRIPCION2IsNull: boolean;
begin
  result := DataTable.Fields[idx_BalancesDESCRIPCION2].IsNull;
end;

procedure TBalancesDataTableRules.SetDESCRIPCION2IsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_BalancesDESCRIPCION2].AsVariant := Null;
end;

function TBalancesDataTableRules.GetNIVEL3Value: String;
begin
  result := DataTable.Fields[idx_BalancesNIVEL3].AsString;
end;

procedure TBalancesDataTableRules.SetNIVEL3Value(const aValue: String);
begin
  DataTable.Fields[idx_BalancesNIVEL3].AsString := aValue;
end;

function TBalancesDataTableRules.GetNIVEL3IsNull: boolean;
begin
  result := DataTable.Fields[idx_BalancesNIVEL3].IsNull;
end;

procedure TBalancesDataTableRules.SetNIVEL3IsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_BalancesNIVEL3].AsVariant := Null;
end;

function TBalancesDataTableRules.GetDESCRIPCION3Value: String;
begin
  result := DataTable.Fields[idx_BalancesDESCRIPCION3].AsString;
end;

procedure TBalancesDataTableRules.SetDESCRIPCION3Value(const aValue: String);
begin
  DataTable.Fields[idx_BalancesDESCRIPCION3].AsString := aValue;
end;

function TBalancesDataTableRules.GetDESCRIPCION3IsNull: boolean;
begin
  result := DataTable.Fields[idx_BalancesDESCRIPCION3].IsNull;
end;

procedure TBalancesDataTableRules.SetDESCRIPCION3IsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_BalancesDESCRIPCION3].AsVariant := Null;
end;


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

destructor TDarMaxRefSubCuentaCliDataTableRules.Destroy;
begin
  inherited;
end;

function TDarMaxRefSubCuentaCliDataTableRules.GetMAXValue: Integer;
begin
  result := DataTable.Fields[idx_DarMaxRefSubCuentaCliMAX].AsInteger;
end;

procedure TDarMaxRefSubCuentaCliDataTableRules.SetMAXValue(const aValue: Integer);
begin
  DataTable.Fields[idx_DarMaxRefSubCuentaCliMAX].AsInteger := aValue;
end;

function TDarMaxRefSubCuentaCliDataTableRules.GetMAXIsNull: boolean;
begin
  result := DataTable.Fields[idx_DarMaxRefSubCuentaCliMAX].IsNull;
end;

procedure TDarMaxRefSubCuentaCliDataTableRules.SetMAXIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_DarMaxRefSubCuentaCliMAX].AsVariant := Null;
end;


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

destructor TDarNumOrdenAsientoDataTableRules.Destroy;
begin
  inherited;
end;

function TDarNumOrdenAsientoDataTableRules.GetNUM_ORDENValue: Int64;
begin
  result := DataTable.Fields[idx_DarNumOrdenAsientoNUM_ORDEN].AsLargeInt;
end;

procedure TDarNumOrdenAsientoDataTableRules.SetNUM_ORDENValue(const aValue: Int64);
begin
  DataTable.Fields[idx_DarNumOrdenAsientoNUM_ORDEN].AsLargeInt := aValue;
end;

function TDarNumOrdenAsientoDataTableRules.GetNUM_ORDENIsNull: boolean;
begin
  result := DataTable.Fields[idx_DarNumOrdenAsientoNUM_ORDEN].IsNull;
end;

procedure TDarNumOrdenAsientoDataTableRules.SetNUM_ORDENIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_DarNumOrdenAsientoNUM_ORDEN].AsVariant := Null;
end;


initialization
  RegisterDataTableRules(RID_DarIDCuenta, TDarIDCuentaDataTableRules);
  RegisterDataTableRules(RID_DarCodigoContableTienda, TDarCodigoContableTiendaDataTableRules);
  RegisterDataTableRules(RID_DarMaxRefSubCuentaProv, TDarMaxRefSubCuentaProvDataTableRules);
  RegisterDataTableRules(RID_ExisteSubCuenta, TExisteSubCuentaDataTableRules);
  RegisterDataTableRules(RID_Diario, TDiarioDataTableRules);
  RegisterDataTableRules(RID_Apuntes, TApuntesDataTableRules);
  RegisterDataTableRules(RID_Asientos, TAsientosDataTableRules);
  RegisterDataTableRules(RID_SubCuentas, TSubCuentasDataTableRules);
  RegisterDataTableRules(RID_Cuentas, TCuentasDataTableRules);
  RegisterDataTableRules(RID_CuentasEspeciales, TCuentasEspecialesDataTableRules);
  RegisterDataTableRules(RID_Epigrafes, TEpigrafesDataTableRules);
  RegisterDataTableRules(RID_Balances, TBalancesDataTableRules);
  RegisterDataTableRules(RID_DarMaxRefSubCuentaCli, TDarMaxRefSubCuentaCliDataTableRules);
  RegisterDataTableRules(RID_DarNumOrdenAsiento, TDarNumOrdenAsientoDataTableRules);

end.
