unit schPresupuestosClienteClient_Intf;

interface

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

const
  { Data table rules ids
       Feel free to change them to something more human readable
       but make sure they are unique in the context of your application }
  RID_Valores = '{917255D3-04E9-4CF3-9063-1991DCCA0CE3}';
  RID_Propiedades = '{59D4AAFC-C6F1-4288-BE8B-AE298B596EAD}';
  RID_ListaAnosPresupuestos = '{0F54D52C-207A-4241-9463-360BD137E3AC}';
  RID_PresupuestosCliente = '{8CAA1800-CBF6-4046-B1E7-94794BFB9B83}';
  RID_CapitulosPresupuesto = '{17A1DA0C-5CAF-4871-A8A9-3A77BBC0B051}';
  RID_PresupuestosCliente_Detalles = '{1A26FCB9-619E-4610-AAD3-59413894686C}';

  { Data table names }
  nme_Valores = 'Valores';
  nme_Propiedades = 'Propiedades';
  nme_ListaAnosPresupuestos = 'ListaAnosPresupuestos';
  nme_PresupuestosCliente = 'PresupuestosCliente';
  nme_CapitulosPresupuesto = 'CapitulosPresupuesto';
  nme_PresupuestosCliente_Detalles = 'PresupuestosCliente_Detalles';

  { Valores fields }
  fld_ValoresID = 'ID';
  fld_ValoresID_EMPRESA = 'ID_EMPRESA';
  fld_ValoresREFERENCIA = 'REFERENCIA';
  fld_ValoresDESCRIPCION = 'DESCRIPCION';
  fld_ValoresFAMILIA = 'FAMILIA';
  fld_ValoresPRECIO_COSTE = 'PRECIO_COSTE';
  fld_ValoresPRECIO_PVP = 'PRECIO_PVP';

  { Valores field indexes }
  idx_ValoresID = 0;
  idx_ValoresID_EMPRESA = 1;
  idx_ValoresREFERENCIA = 2;
  idx_ValoresDESCRIPCION = 3;
  idx_ValoresFAMILIA = 4;
  idx_ValoresPRECIO_COSTE = 5;
  idx_ValoresPRECIO_PVP = 6;

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

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

  { ListaAnosPresupuestos fields }
  fld_ListaAnosPresupuestosANO = 'ANO';

  { ListaAnosPresupuestos field indexes }
  idx_ListaAnosPresupuestosANO = 0;

  { PresupuestosCliente fields }
  fld_PresupuestosClienteID = 'ID';
  fld_PresupuestosClienteID_EMPRESA = 'ID_EMPRESA';
  fld_PresupuestosClienteFECHA_PRESUPUESTO = 'FECHA_PRESUPUESTO';
  fld_PresupuestosClienteFECHA_VIGENCIA = 'FECHA_VIGENCIA';
  fld_PresupuestosClienteFECHA_DECISION = 'FECHA_DECISION';
  fld_PresupuestosClienteREFERENCIA = 'REFERENCIA';
  fld_PresupuestosClienteSITUACION = 'SITUACION';
  fld_PresupuestosClienteID_CLIENTE = 'ID_CLIENTE';
  fld_PresupuestosClienteID_DIRECCION = 'ID_DIRECCION';
  fld_PresupuestosClienteNIF_CIF = 'NIF_CIF';
  fld_PresupuestosClienteNOMBRE = 'NOMBRE';
  fld_PresupuestosClientePERSONA_CONTACTO = 'PERSONA_CONTACTO';
  fld_PresupuestosClienteFORMA_PAGO = 'FORMA_PAGO';
  fld_PresupuestosClientePLAZO_ENTREGA = 'PLAZO_ENTREGA';
  fld_PresupuestosClienteOBSERVACIONES = 'OBSERVACIONES';
  fld_PresupuestosClienteINCIDENCIAS = 'INCIDENCIAS';
  fld_PresupuestosClienteINCIDENCIAS_ACTIVAS = 'INCIDENCIAS_ACTIVAS';
  fld_PresupuestosClienteFECHA_ALTA = 'FECHA_ALTA';
  fld_PresupuestosClienteFECHA_MODIFICACION = 'FECHA_MODIFICACION';
  fld_PresupuestosClienteUSUARIO = 'USUARIO';
  fld_PresupuestosClienteIMPORTE_NETO = 'IMPORTE_NETO';
  fld_PresupuestosClienteIMPORTE_PORTE = 'IMPORTE_PORTE';
  fld_PresupuestosClienteDESCUENTO = 'DESCUENTO';
  fld_PresupuestosClienteIMPORTE_DESCUENTO = 'IMPORTE_DESCUENTO';
  fld_PresupuestosClienteBASE_IMPONIBLE = 'BASE_IMPONIBLE';
  fld_PresupuestosClienteID_TIPO_IVA = 'ID_TIPO_IVA';
  fld_PresupuestosClienteIVA = 'IVA';
  fld_PresupuestosClienteIMPORTE_IVA = 'IMPORTE_IVA';
  fld_PresupuestosClienteRE = 'RE';
  fld_PresupuestosClienteIMPORTE_RE = 'IMPORTE_RE';
  fld_PresupuestosClienteRECARGO_EQUIVALENCIA = 'RECARGO_EQUIVALENCIA';
  fld_PresupuestosClienteIMPORTE_TOTAL = 'IMPORTE_TOTAL';
  fld_PresupuestosClienteID_FORMA_PAGO = 'ID_FORMA_PAGO';
  fld_PresupuestosClienteID_TIENDA = 'ID_TIENDA';
  fld_PresupuestosClienteTIENDA = 'TIENDA';
  fld_PresupuestosClienteID_VENDEDOR = 'ID_VENDEDOR';
  fld_PresupuestosClienteVENDEDOR = 'VENDEDOR';
  fld_PresupuestosClienteID_CONTRATO = 'ID_CONTRATO';
  fld_PresupuestosClienteREF_CONTRATO = 'REF_CONTRATO';
  fld_PresupuestosClienteNO_VALORADO = 'NO_VALORADO';
  fld_PresupuestosClienteTIPO_PRESUPUESTO = 'TIPO_PRESUPUESTO';
  fld_PresupuestosClienteCALIDADES = 'CALIDADES';
  fld_PresupuestosClienteREFERENCIA_CLIENTE = 'REFERENCIA_CLIENTE';
  fld_PresupuestosClienteLISTA_NOMBRES = 'LISTA_NOMBRES';
  fld_PresupuestosClientePROCEDENCIA_CLIENTE = 'PROCEDENCIA_CLIENTE';

  { PresupuestosCliente field indexes }
  idx_PresupuestosClienteID = 0;
  idx_PresupuestosClienteID_EMPRESA = 1;
  idx_PresupuestosClienteFECHA_PRESUPUESTO = 2;
  idx_PresupuestosClienteFECHA_VIGENCIA = 3;
  idx_PresupuestosClienteFECHA_DECISION = 4;
  idx_PresupuestosClienteREFERENCIA = 5;
  idx_PresupuestosClienteSITUACION = 6;
  idx_PresupuestosClienteID_CLIENTE = 7;
  idx_PresupuestosClienteID_DIRECCION = 8;
  idx_PresupuestosClienteNIF_CIF = 9;
  idx_PresupuestosClienteNOMBRE = 10;
  idx_PresupuestosClientePERSONA_CONTACTO = 11;
  idx_PresupuestosClienteFORMA_PAGO = 12;
  idx_PresupuestosClientePLAZO_ENTREGA = 13;
  idx_PresupuestosClienteOBSERVACIONES = 14;
  idx_PresupuestosClienteINCIDENCIAS = 15;
  idx_PresupuestosClienteINCIDENCIAS_ACTIVAS = 16;
  idx_PresupuestosClienteFECHA_ALTA = 17;
  idx_PresupuestosClienteFECHA_MODIFICACION = 18;
  idx_PresupuestosClienteUSUARIO = 19;
  idx_PresupuestosClienteIMPORTE_NETO = 20;
  idx_PresupuestosClienteIMPORTE_PORTE = 21;
  idx_PresupuestosClienteDESCUENTO = 22;
  idx_PresupuestosClienteIMPORTE_DESCUENTO = 23;
  idx_PresupuestosClienteBASE_IMPONIBLE = 24;
  idx_PresupuestosClienteID_TIPO_IVA = 25;
  idx_PresupuestosClienteIVA = 26;
  idx_PresupuestosClienteIMPORTE_IVA = 27;
  idx_PresupuestosClienteRE = 28;
  idx_PresupuestosClienteIMPORTE_RE = 29;
  idx_PresupuestosClienteRECARGO_EQUIVALENCIA = 30;
  idx_PresupuestosClienteIMPORTE_TOTAL = 31;
  idx_PresupuestosClienteID_FORMA_PAGO = 32;
  idx_PresupuestosClienteID_TIENDA = 33;
  idx_PresupuestosClienteTIENDA = 34;
  idx_PresupuestosClienteID_VENDEDOR = 35;
  idx_PresupuestosClienteVENDEDOR = 36;
  idx_PresupuestosClienteID_CONTRATO = 37;
  idx_PresupuestosClienteREF_CONTRATO = 38;
  idx_PresupuestosClienteNO_VALORADO = 39;
  idx_PresupuestosClienteTIPO_PRESUPUESTO = 40;
  idx_PresupuestosClienteCALIDADES = 41;
  idx_PresupuestosClienteREFERENCIA_CLIENTE = 42;
  idx_PresupuestosClienteLISTA_NOMBRES = 43;
  idx_PresupuestosClientePROCEDENCIA_CLIENTE = 44;

  { CapitulosPresupuesto fields }
  fld_CapitulosPresupuestoID = 'ID';
  fld_CapitulosPresupuestoPOSICION = 'POSICION';
  fld_CapitulosPresupuestoTIPO_DETALLE = 'TIPO_DETALLE';
  fld_CapitulosPresupuestoTIPO_ARTICULO = 'TIPO_ARTICULO';
  fld_CapitulosPresupuestoCONCEPTO = 'CONCEPTO';
  fld_CapitulosPresupuestoCANTIDAD = 'CANTIDAD';
  fld_CapitulosPresupuestoIMPORTE_UNIDAD = 'IMPORTE_UNIDAD';
  fld_CapitulosPresupuestoIMPORTE_TOTAL = 'IMPORTE_TOTAL';
  fld_CapitulosPresupuestoDESCUENTO = 'DESCUENTO';
  fld_CapitulosPresupuestoIMPORTE_PORTE = 'IMPORTE_PORTE';
  fld_CapitulosPresupuestoVISIBLE = 'VISIBLE';

  { CapitulosPresupuesto field indexes }
  idx_CapitulosPresupuestoID = 0;
  idx_CapitulosPresupuestoPOSICION = 1;
  idx_CapitulosPresupuestoTIPO_DETALLE = 2;
  idx_CapitulosPresupuestoTIPO_ARTICULO = 3;
  idx_CapitulosPresupuestoCONCEPTO = 4;
  idx_CapitulosPresupuestoCANTIDAD = 5;
  idx_CapitulosPresupuestoIMPORTE_UNIDAD = 6;
  idx_CapitulosPresupuestoIMPORTE_TOTAL = 7;
  idx_CapitulosPresupuestoDESCUENTO = 8;
  idx_CapitulosPresupuestoIMPORTE_PORTE = 9;
  idx_CapitulosPresupuestoVISIBLE = 10;

  { PresupuestosCliente_Detalles fields }
  fld_PresupuestosCliente_DetallesID = 'ID';
  fld_PresupuestosCliente_DetallesID_PRESUPUESTO = 'ID_PRESUPUESTO';
  fld_PresupuestosCliente_DetallesPOSICION = 'POSICION';
  fld_PresupuestosCliente_DetallesTIPO_DETALLE = 'TIPO_DETALLE';
  fld_PresupuestosCliente_DetallesPROPIEDAD = 'PROPIEDAD';
  fld_PresupuestosCliente_DetallesCONCEPTO = 'CONCEPTO';
  fld_PresupuestosCliente_DetallesCANTIDAD = 'CANTIDAD';
  fld_PresupuestosCliente_DetallesIMPORTE_UNIDAD = 'IMPORTE_UNIDAD';
  fld_PresupuestosCliente_DetallesIMPORTE_TOTAL = 'IMPORTE_TOTAL';
  fld_PresupuestosCliente_DetallesVISIBLE2 = 'VISIBLE2';
  fld_PresupuestosCliente_DetallesVISIBLE = 'VISIBLE';
  fld_PresupuestosCliente_DetallesID_ARTICULO = 'ID_ARTICULO';
  fld_PresupuestosCliente_DetallesTIPO_ARTICULO = 'TIPO_ARTICULO';
  fld_PresupuestosCliente_DetallesDESCUENTO = 'DESCUENTO';
  fld_PresupuestosCliente_DetallesIMPORTE_PORTE = 'IMPORTE_PORTE';
  fld_PresupuestosCliente_DetallesREFERENCIA = 'REFERENCIA';
  fld_PresupuestosCliente_DetallesREFERENCIA_PROVEEDOR = 'REFERENCIA_PROVEEDOR';

  { PresupuestosCliente_Detalles field indexes }
  idx_PresupuestosCliente_DetallesID = 0;
  idx_PresupuestosCliente_DetallesID_PRESUPUESTO = 1;
  idx_PresupuestosCliente_DetallesPOSICION = 2;
  idx_PresupuestosCliente_DetallesTIPO_DETALLE = 3;
  idx_PresupuestosCliente_DetallesPROPIEDAD = 4;
  idx_PresupuestosCliente_DetallesCONCEPTO = 5;
  idx_PresupuestosCliente_DetallesCANTIDAD = 6;
  idx_PresupuestosCliente_DetallesIMPORTE_UNIDAD = 7;
  idx_PresupuestosCliente_DetallesIMPORTE_TOTAL = 8;
  idx_PresupuestosCliente_DetallesVISIBLE2 = 9;
  idx_PresupuestosCliente_DetallesVISIBLE = 10;
  idx_PresupuestosCliente_DetallesID_ARTICULO = 11;
  idx_PresupuestosCliente_DetallesTIPO_ARTICULO = 12;
  idx_PresupuestosCliente_DetallesDESCUENTO = 13;
  idx_PresupuestosCliente_DetallesIMPORTE_PORTE = 14;
  idx_PresupuestosCliente_DetallesREFERENCIA = 15;
  idx_PresupuestosCliente_DetallesREFERENCIA_PROVEEDOR = 16;

type
  { IValores }
  IValores = interface(IDAStronglyTypedDataTable)
  ['{AB3D08F7-2EA3-443A-8763-71A4B54D3013}']
    { Property getters and setters }
    function GetIDValue: Integer;
    procedure SetIDValue(const aValue: Integer);
    function GetIDIsNull: Boolean;
    procedure SetIDIsNull(const aValue: Boolean);
    function GetID_EMPRESAValue: Integer;
    procedure SetID_EMPRESAValue(const aValue: Integer);
    function GetID_EMPRESAIsNull: Boolean;
    procedure SetID_EMPRESAIsNull(const aValue: Boolean);
    function GetREFERENCIAValue: String;
    procedure SetREFERENCIAValue(const aValue: String);
    function GetREFERENCIAIsNull: Boolean;
    procedure SetREFERENCIAIsNull(const aValue: Boolean);
    function GetDESCRIPCIONValue: String;
    procedure SetDESCRIPCIONValue(const aValue: String);
    function GetDESCRIPCIONIsNull: Boolean;
    procedure SetDESCRIPCIONIsNull(const aValue: Boolean);
    function GetFAMILIAValue: String;
    procedure SetFAMILIAValue(const aValue: String);
    function GetFAMILIAIsNull: Boolean;
    procedure SetFAMILIAIsNull(const aValue: Boolean);
    function GetPRECIO_COSTEValue: Currency;
    procedure SetPRECIO_COSTEValue(const aValue: Currency);
    function GetPRECIO_COSTEIsNull: Boolean;
    procedure SetPRECIO_COSTEIsNull(const aValue: Boolean);
    function GetPRECIO_PVPValue: Currency;
    procedure SetPRECIO_PVPValue(const aValue: Currency);
    function GetPRECIO_PVPIsNull: Boolean;
    procedure SetPRECIO_PVPIsNull(const aValue: Boolean);


    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property ID_EMPRESA: Integer read GetID_EMPRESAValue write SetID_EMPRESAValue;
    property ID_EMPRESAIsNull: Boolean read GetID_EMPRESAIsNull write SetID_EMPRESAIsNull;
    property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue;
    property REFERENCIAIsNull: Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull;
    property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue;
    property DESCRIPCIONIsNull: Boolean read GetDESCRIPCIONIsNull write SetDESCRIPCIONIsNull;
    property FAMILIA: String read GetFAMILIAValue write SetFAMILIAValue;
    property FAMILIAIsNull: Boolean read GetFAMILIAIsNull write SetFAMILIAIsNull;
    property PRECIO_COSTE: Currency read GetPRECIO_COSTEValue write SetPRECIO_COSTEValue;
    property PRECIO_COSTEIsNull: Boolean read GetPRECIO_COSTEIsNull write SetPRECIO_COSTEIsNull;
    property PRECIO_PVP: Currency read GetPRECIO_PVPValue write SetPRECIO_PVPValue;
    property PRECIO_PVPIsNull: Boolean read GetPRECIO_PVPIsNull write SetPRECIO_PVPIsNull;
  end;

  { TValoresDataTableRules }
  TValoresDataTableRules = class(TIntfObjectDADataTableRules, IValores)
  private
  protected
    { Property getters and setters }
    function GetIDValue: Integer; virtual;
    procedure SetIDValue(const aValue: Integer); virtual;
    function GetIDIsNull: Boolean; virtual;
    procedure SetIDIsNull(const aValue: Boolean); virtual;
    function GetID_EMPRESAValue: Integer; virtual;
    procedure SetID_EMPRESAValue(const aValue: Integer); virtual;
    function GetID_EMPRESAIsNull: Boolean; virtual;
    procedure SetID_EMPRESAIsNull(const aValue: Boolean); virtual;
    function GetREFERENCIAValue: String; virtual;
    procedure SetREFERENCIAValue(const aValue: String); virtual;
    function GetREFERENCIAIsNull: Boolean; virtual;
    procedure SetREFERENCIAIsNull(const aValue: Boolean); virtual;
    function GetDESCRIPCIONValue: String; virtual;
    procedure SetDESCRIPCIONValue(const aValue: String); virtual;
    function GetDESCRIPCIONIsNull: Boolean; virtual;
    procedure SetDESCRIPCIONIsNull(const aValue: Boolean); virtual;
    function GetFAMILIAValue: String; virtual;
    procedure SetFAMILIAValue(const aValue: String); virtual;
    function GetFAMILIAIsNull: Boolean; virtual;
    procedure SetFAMILIAIsNull(const aValue: Boolean); virtual;
    function GetPRECIO_COSTEValue: Currency; virtual;
    procedure SetPRECIO_COSTEValue(const aValue: Currency); virtual;
    function GetPRECIO_COSTEIsNull: Boolean; virtual;
    procedure SetPRECIO_COSTEIsNull(const aValue: Boolean); virtual;
    function GetPRECIO_PVPValue: Currency; virtual;
    procedure SetPRECIO_PVPValue(const aValue: Currency); virtual;
    function GetPRECIO_PVPIsNull: Boolean; virtual;
    procedure SetPRECIO_PVPIsNull(const aValue: Boolean); virtual;

    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property ID_EMPRESA: Integer read GetID_EMPRESAValue write SetID_EMPRESAValue;
    property ID_EMPRESAIsNull: Boolean read GetID_EMPRESAIsNull write SetID_EMPRESAIsNull;
    property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue;
    property REFERENCIAIsNull: Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull;
    property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue;
    property DESCRIPCIONIsNull: Boolean read GetDESCRIPCIONIsNull write SetDESCRIPCIONIsNull;
    property FAMILIA: String read GetFAMILIAValue write SetFAMILIAValue;
    property FAMILIAIsNull: Boolean read GetFAMILIAIsNull write SetFAMILIAIsNull;
    property PRECIO_COSTE: Currency read GetPRECIO_COSTEValue write SetPRECIO_COSTEValue;
    property PRECIO_COSTEIsNull: Boolean read GetPRECIO_COSTEIsNull write SetPRECIO_COSTEIsNull;
    property PRECIO_PVP: Currency read GetPRECIO_PVPValue write SetPRECIO_PVPValue;
    property PRECIO_PVPIsNull: Boolean read GetPRECIO_PVPIsNull write SetPRECIO_PVPIsNull;

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

  end;

  { IPropiedades }
  IPropiedades = interface(IDAStronglyTypedDataTable)
  ['{3714E84B-0148-4D46-BE30-C93E172200AC}']
    { Property getters and setters }
    function GetIDValue: Integer;
    procedure SetIDValue(const aValue: Integer);
    function GetIDIsNull: Boolean;
    procedure SetIDIsNull(const aValue: Boolean);
    function GetDESCRIPCIONValue: String;
    procedure SetDESCRIPCIONValue(const aValue: String);
    function GetDESCRIPCIONIsNull: Boolean;
    procedure SetDESCRIPCIONIsNull(const aValue: Boolean);


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

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

    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue;
    property DESCRIPCIONIsNull: Boolean read GetDESCRIPCIONIsNull write SetDESCRIPCIONIsNull;

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

  end;

  { IListaAnosPresupuestos }
  IListaAnosPresupuestos = interface(IDAStronglyTypedDataTable)
  ['{67B2C967-68FD-4A09-AB21-FFE884DAC957}']
    { Property getters and setters }
    function GetANOValue: String;
    procedure SetANOValue(const aValue: String);
    function GetANOIsNull: Boolean;
    procedure SetANOIsNull(const aValue: Boolean);


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

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

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

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

  end;

  { IPresupuestosCliente }
  IPresupuestosCliente = interface(IDAStronglyTypedDataTable)
  ['{709C93A8-0FE6-49F4-88E1-CDD4E068DEF8}']
    { Property getters and setters }
    function GetIDValue: Integer;
    procedure SetIDValue(const aValue: Integer);
    function GetIDIsNull: Boolean;
    procedure SetIDIsNull(const aValue: Boolean);
    function GetID_EMPRESAValue: Integer;
    procedure SetID_EMPRESAValue(const aValue: Integer);
    function GetID_EMPRESAIsNull: Boolean;
    procedure SetID_EMPRESAIsNull(const aValue: Boolean);
    function GetFECHA_PRESUPUESTOValue: DateTime;
    procedure SetFECHA_PRESUPUESTOValue(const aValue: DateTime);
    function GetFECHA_PRESUPUESTOIsNull: Boolean;
    procedure SetFECHA_PRESUPUESTOIsNull(const aValue: Boolean);
    function GetFECHA_VIGENCIAValue: DateTime;
    procedure SetFECHA_VIGENCIAValue(const aValue: DateTime);
    function GetFECHA_VIGENCIAIsNull: Boolean;
    procedure SetFECHA_VIGENCIAIsNull(const aValue: Boolean);
    function GetFECHA_DECISIONValue: DateTime;
    procedure SetFECHA_DECISIONValue(const aValue: DateTime);
    function GetFECHA_DECISIONIsNull: Boolean;
    procedure SetFECHA_DECISIONIsNull(const aValue: Boolean);
    function GetREFERENCIAValue: String;
    procedure SetREFERENCIAValue(const aValue: String);
    function GetREFERENCIAIsNull: Boolean;
    procedure SetREFERENCIAIsNull(const aValue: Boolean);
    function GetSITUACIONValue: String;
    procedure SetSITUACIONValue(const aValue: String);
    function GetSITUACIONIsNull: Boolean;
    procedure SetSITUACIONIsNull(const aValue: Boolean);
    function GetID_CLIENTEValue: Integer;
    procedure SetID_CLIENTEValue(const aValue: Integer);
    function GetID_CLIENTEIsNull: Boolean;
    procedure SetID_CLIENTEIsNull(const aValue: Boolean);
    function GetID_DIRECCIONValue: Integer;
    procedure SetID_DIRECCIONValue(const aValue: Integer);
    function GetID_DIRECCIONIsNull: Boolean;
    procedure SetID_DIRECCIONIsNull(const aValue: Boolean);
    function GetNIF_CIFValue: String;
    procedure SetNIF_CIFValue(const aValue: String);
    function GetNIF_CIFIsNull: Boolean;
    procedure SetNIF_CIFIsNull(const aValue: Boolean);
    function GetNOMBREValue: String;
    procedure SetNOMBREValue(const aValue: String);
    function GetNOMBREIsNull: Boolean;
    procedure SetNOMBREIsNull(const aValue: Boolean);
    function GetPERSONA_CONTACTOValue: String;
    procedure SetPERSONA_CONTACTOValue(const aValue: String);
    function GetPERSONA_CONTACTOIsNull: Boolean;
    procedure SetPERSONA_CONTACTOIsNull(const aValue: Boolean);
    function GetFORMA_PAGOValue: IROStrings;
    function GetFORMA_PAGOIsNull: Boolean;
    procedure SetFORMA_PAGOIsNull(const aValue: Boolean);
    function GetPLAZO_ENTREGAValue: IROStrings;
    function GetPLAZO_ENTREGAIsNull: Boolean;
    procedure SetPLAZO_ENTREGAIsNull(const aValue: Boolean);
    function GetOBSERVACIONESValue: IROStrings;
    function GetOBSERVACIONESIsNull: Boolean;
    procedure SetOBSERVACIONESIsNull(const aValue: Boolean);
    function GetINCIDENCIASValue: IROStrings;
    function GetINCIDENCIASIsNull: Boolean;
    procedure SetINCIDENCIASIsNull(const aValue: Boolean);
    function GetINCIDENCIAS_ACTIVASValue: Integer;
    procedure SetINCIDENCIAS_ACTIVASValue(const aValue: Integer);
    function GetINCIDENCIAS_ACTIVASIsNull: Boolean;
    procedure SetINCIDENCIAS_ACTIVASIsNull(const aValue: Boolean);
    function GetFECHA_ALTAValue: DateTime;
    procedure SetFECHA_ALTAValue(const aValue: DateTime);
    function GetFECHA_ALTAIsNull: Boolean;
    procedure SetFECHA_ALTAIsNull(const aValue: Boolean);
    function GetFECHA_MODIFICACIONValue: DateTime;
    procedure SetFECHA_MODIFICACIONValue(const aValue: DateTime);
    function GetFECHA_MODIFICACIONIsNull: Boolean;
    procedure SetFECHA_MODIFICACIONIsNull(const aValue: Boolean);
    function GetUSUARIOValue: String;
    procedure SetUSUARIOValue(const aValue: String);
    function GetUSUARIOIsNull: Boolean;
    procedure SetUSUARIOIsNull(const aValue: Boolean);
    function GetIMPORTE_NETOValue: Currency;
    procedure SetIMPORTE_NETOValue(const aValue: Currency);
    function GetIMPORTE_NETOIsNull: Boolean;
    procedure SetIMPORTE_NETOIsNull(const aValue: Boolean);
    function GetIMPORTE_PORTEValue: Currency;
    procedure SetIMPORTE_PORTEValue(const aValue: Currency);
    function GetIMPORTE_PORTEIsNull: Boolean;
    procedure SetIMPORTE_PORTEIsNull(const aValue: Boolean);
    function GetDESCUENTOValue: Float;
    procedure SetDESCUENTOValue(const aValue: Float);
    function GetDESCUENTOIsNull: Boolean;
    procedure SetDESCUENTOIsNull(const aValue: Boolean);
    function GetIMPORTE_DESCUENTOValue: Currency;
    procedure SetIMPORTE_DESCUENTOValue(const aValue: Currency);
    function GetIMPORTE_DESCUENTOIsNull: Boolean;
    procedure SetIMPORTE_DESCUENTOIsNull(const aValue: Boolean);
    function GetBASE_IMPONIBLEValue: Currency;
    procedure SetBASE_IMPONIBLEValue(const aValue: Currency);
    function GetBASE_IMPONIBLEIsNull: Boolean;
    procedure SetBASE_IMPONIBLEIsNull(const aValue: Boolean);
    function GetID_TIPO_IVAValue: Integer;
    procedure SetID_TIPO_IVAValue(const aValue: Integer);
    function GetID_TIPO_IVAIsNull: Boolean;
    procedure SetID_TIPO_IVAIsNull(const aValue: Boolean);
    function GetIVAValue: Float;
    procedure SetIVAValue(const aValue: Float);
    function GetIVAIsNull: Boolean;
    procedure SetIVAIsNull(const aValue: Boolean);
    function GetIMPORTE_IVAValue: Currency;
    procedure SetIMPORTE_IVAValue(const aValue: Currency);
    function GetIMPORTE_IVAIsNull: Boolean;
    procedure SetIMPORTE_IVAIsNull(const aValue: Boolean);
    function GetREValue: Float;
    procedure SetREValue(const aValue: Float);
    function GetREIsNull: Boolean;
    procedure SetREIsNull(const aValue: Boolean);
    function GetIMPORTE_REValue: Currency;
    procedure SetIMPORTE_REValue(const aValue: Currency);
    function GetIMPORTE_REIsNull: Boolean;
    procedure SetIMPORTE_REIsNull(const aValue: Boolean);
    function GetRECARGO_EQUIVALENCIAValue: SmallInt;
    procedure SetRECARGO_EQUIVALENCIAValue(const aValue: SmallInt);
    function GetRECARGO_EQUIVALENCIAIsNull: Boolean;
    procedure SetRECARGO_EQUIVALENCIAIsNull(const aValue: Boolean);
    function GetIMPORTE_TOTALValue: Currency;
    procedure SetIMPORTE_TOTALValue(const aValue: Currency);
    function GetIMPORTE_TOTALIsNull: Boolean;
    procedure SetIMPORTE_TOTALIsNull(const aValue: Boolean);
    function GetID_FORMA_PAGOValue: Integer;
    procedure SetID_FORMA_PAGOValue(const aValue: Integer);
    function GetID_FORMA_PAGOIsNull: Boolean;
    procedure SetID_FORMA_PAGOIsNull(const aValue: Boolean);
    function GetID_TIENDAValue: Integer;
    procedure SetID_TIENDAValue(const aValue: Integer);
    function GetID_TIENDAIsNull: Boolean;
    procedure SetID_TIENDAIsNull(const aValue: Boolean);
    function GetTIENDAValue: String;
    procedure SetTIENDAValue(const aValue: String);
    function GetTIENDAIsNull: Boolean;
    procedure SetTIENDAIsNull(const aValue: Boolean);
    function GetID_VENDEDORValue: Integer;
    procedure SetID_VENDEDORValue(const aValue: Integer);
    function GetID_VENDEDORIsNull: Boolean;
    procedure SetID_VENDEDORIsNull(const aValue: Boolean);
    function GetVENDEDORValue: String;
    procedure SetVENDEDORValue(const aValue: String);
    function GetVENDEDORIsNull: Boolean;
    procedure SetVENDEDORIsNull(const aValue: Boolean);
    function GetID_CONTRATOValue: Integer;
    procedure SetID_CONTRATOValue(const aValue: Integer);
    function GetID_CONTRATOIsNull: Boolean;
    procedure SetID_CONTRATOIsNull(const aValue: Boolean);
    function GetREF_CONTRATOValue: String;
    procedure SetREF_CONTRATOValue(const aValue: String);
    function GetREF_CONTRATOIsNull: Boolean;
    procedure SetREF_CONTRATOIsNull(const aValue: Boolean);
    function GetNO_VALORADOValue: SmallInt;
    procedure SetNO_VALORADOValue(const aValue: SmallInt);
    function GetNO_VALORADOIsNull: Boolean;
    procedure SetNO_VALORADOIsNull(const aValue: Boolean);
    function GetTIPO_PRESUPUESTOValue: String;
    procedure SetTIPO_PRESUPUESTOValue(const aValue: String);
    function GetTIPO_PRESUPUESTOIsNull: Boolean;
    procedure SetTIPO_PRESUPUESTOIsNull(const aValue: Boolean);
    function GetCALIDADESValue: IROStrings;
    function GetCALIDADESIsNull: Boolean;
    procedure SetCALIDADESIsNull(const aValue: Boolean);
    function GetREFERENCIA_CLIENTEValue: String;
    procedure SetREFERENCIA_CLIENTEValue(const aValue: String);
    function GetREFERENCIA_CLIENTEIsNull: Boolean;
    procedure SetREFERENCIA_CLIENTEIsNull(const aValue: Boolean);
    function GetLISTA_NOMBRESValue: String;
    procedure SetLISTA_NOMBRESValue(const aValue: String);
    function GetLISTA_NOMBRESIsNull: Boolean;
    procedure SetLISTA_NOMBRESIsNull(const aValue: Boolean);
    function GetPROCEDENCIA_CLIENTEValue: String;
    procedure SetPROCEDENCIA_CLIENTEValue(const aValue: String);
    function GetPROCEDENCIA_CLIENTEIsNull: Boolean;
    procedure SetPROCEDENCIA_CLIENTEIsNull(const aValue: Boolean);


    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property ID_EMPRESA: Integer read GetID_EMPRESAValue write SetID_EMPRESAValue;
    property ID_EMPRESAIsNull: Boolean read GetID_EMPRESAIsNull write SetID_EMPRESAIsNull;
    property FECHA_PRESUPUESTO: DateTime read GetFECHA_PRESUPUESTOValue write SetFECHA_PRESUPUESTOValue;
    property FECHA_PRESUPUESTOIsNull: Boolean read GetFECHA_PRESUPUESTOIsNull write SetFECHA_PRESUPUESTOIsNull;
    property FECHA_VIGENCIA: DateTime read GetFECHA_VIGENCIAValue write SetFECHA_VIGENCIAValue;
    property FECHA_VIGENCIAIsNull: Boolean read GetFECHA_VIGENCIAIsNull write SetFECHA_VIGENCIAIsNull;
    property FECHA_DECISION: DateTime read GetFECHA_DECISIONValue write SetFECHA_DECISIONValue;
    property FECHA_DECISIONIsNull: Boolean read GetFECHA_DECISIONIsNull write SetFECHA_DECISIONIsNull;
    property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue;
    property REFERENCIAIsNull: Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull;
    property SITUACION: String read GetSITUACIONValue write SetSITUACIONValue;
    property SITUACIONIsNull: Boolean read GetSITUACIONIsNull write SetSITUACIONIsNull;
    property ID_CLIENTE: Integer read GetID_CLIENTEValue write SetID_CLIENTEValue;
    property ID_CLIENTEIsNull: Boolean read GetID_CLIENTEIsNull write SetID_CLIENTEIsNull;
    property ID_DIRECCION: Integer read GetID_DIRECCIONValue write SetID_DIRECCIONValue;
    property ID_DIRECCIONIsNull: Boolean read GetID_DIRECCIONIsNull write SetID_DIRECCIONIsNull;
    property NIF_CIF: String read GetNIF_CIFValue write SetNIF_CIFValue;
    property NIF_CIFIsNull: Boolean read GetNIF_CIFIsNull write SetNIF_CIFIsNull;
    property NOMBRE: String read GetNOMBREValue write SetNOMBREValue;
    property NOMBREIsNull: Boolean read GetNOMBREIsNull write SetNOMBREIsNull;
    property PERSONA_CONTACTO: String read GetPERSONA_CONTACTOValue write SetPERSONA_CONTACTOValue;
    property PERSONA_CONTACTOIsNull: Boolean read GetPERSONA_CONTACTOIsNull write SetPERSONA_CONTACTOIsNull;
    property FORMA_PAGO: IROStrings read GetFORMA_PAGOValue;
    property FORMA_PAGOIsNull: Boolean read GetFORMA_PAGOIsNull write SetFORMA_PAGOIsNull;
    property PLAZO_ENTREGA: IROStrings read GetPLAZO_ENTREGAValue;
    property PLAZO_ENTREGAIsNull: Boolean read GetPLAZO_ENTREGAIsNull write SetPLAZO_ENTREGAIsNull;
    property OBSERVACIONES: IROStrings read GetOBSERVACIONESValue;
    property OBSERVACIONESIsNull: Boolean read GetOBSERVACIONESIsNull write SetOBSERVACIONESIsNull;
    property INCIDENCIAS: IROStrings read GetINCIDENCIASValue;
    property INCIDENCIASIsNull: Boolean read GetINCIDENCIASIsNull write SetINCIDENCIASIsNull;
    property INCIDENCIAS_ACTIVAS: Integer read GetINCIDENCIAS_ACTIVASValue write SetINCIDENCIAS_ACTIVASValue;
    property INCIDENCIAS_ACTIVASIsNull: Boolean read GetINCIDENCIAS_ACTIVASIsNull write SetINCIDENCIAS_ACTIVASIsNull;
    property FECHA_ALTA: DateTime read GetFECHA_ALTAValue write SetFECHA_ALTAValue;
    property FECHA_ALTAIsNull: Boolean read GetFECHA_ALTAIsNull write SetFECHA_ALTAIsNull;
    property FECHA_MODIFICACION: DateTime read GetFECHA_MODIFICACIONValue write SetFECHA_MODIFICACIONValue;
    property FECHA_MODIFICACIONIsNull: Boolean read GetFECHA_MODIFICACIONIsNull write SetFECHA_MODIFICACIONIsNull;
    property USUARIO: String read GetUSUARIOValue write SetUSUARIOValue;
    property USUARIOIsNull: Boolean read GetUSUARIOIsNull write SetUSUARIOIsNull;
    property IMPORTE_NETO: Currency read GetIMPORTE_NETOValue write SetIMPORTE_NETOValue;
    property IMPORTE_NETOIsNull: Boolean read GetIMPORTE_NETOIsNull write SetIMPORTE_NETOIsNull;
    property IMPORTE_PORTE: Currency read GetIMPORTE_PORTEValue write SetIMPORTE_PORTEValue;
    property IMPORTE_PORTEIsNull: Boolean read GetIMPORTE_PORTEIsNull write SetIMPORTE_PORTEIsNull;
    property DESCUENTO: Float read GetDESCUENTOValue write SetDESCUENTOValue;
    property DESCUENTOIsNull: Boolean read GetDESCUENTOIsNull write SetDESCUENTOIsNull;
    property IMPORTE_DESCUENTO: Currency read GetIMPORTE_DESCUENTOValue write SetIMPORTE_DESCUENTOValue;
    property IMPORTE_DESCUENTOIsNull: Boolean read GetIMPORTE_DESCUENTOIsNull write SetIMPORTE_DESCUENTOIsNull;
    property BASE_IMPONIBLE: Currency read GetBASE_IMPONIBLEValue write SetBASE_IMPONIBLEValue;
    property BASE_IMPONIBLEIsNull: Boolean read GetBASE_IMPONIBLEIsNull write SetBASE_IMPONIBLEIsNull;
    property ID_TIPO_IVA: Integer read GetID_TIPO_IVAValue write SetID_TIPO_IVAValue;
    property ID_TIPO_IVAIsNull: Boolean read GetID_TIPO_IVAIsNull write SetID_TIPO_IVAIsNull;
    property IVA: Float read GetIVAValue write SetIVAValue;
    property IVAIsNull: Boolean read GetIVAIsNull write SetIVAIsNull;
    property IMPORTE_IVA: Currency read GetIMPORTE_IVAValue write SetIMPORTE_IVAValue;
    property IMPORTE_IVAIsNull: Boolean read GetIMPORTE_IVAIsNull write SetIMPORTE_IVAIsNull;
    property RE: Float read GetREValue write SetREValue;
    property REIsNull: Boolean read GetREIsNull write SetREIsNull;
    property IMPORTE_RE: Currency read GetIMPORTE_REValue write SetIMPORTE_REValue;
    property IMPORTE_REIsNull: Boolean read GetIMPORTE_REIsNull write SetIMPORTE_REIsNull;
    property RECARGO_EQUIVALENCIA: SmallInt read GetRECARGO_EQUIVALENCIAValue write SetRECARGO_EQUIVALENCIAValue;
    property RECARGO_EQUIVALENCIAIsNull: Boolean read GetRECARGO_EQUIVALENCIAIsNull write SetRECARGO_EQUIVALENCIAIsNull;
    property IMPORTE_TOTAL: Currency read GetIMPORTE_TOTALValue write SetIMPORTE_TOTALValue;
    property IMPORTE_TOTALIsNull: Boolean read GetIMPORTE_TOTALIsNull write SetIMPORTE_TOTALIsNull;
    property ID_FORMA_PAGO: Integer read GetID_FORMA_PAGOValue write SetID_FORMA_PAGOValue;
    property ID_FORMA_PAGOIsNull: Boolean read GetID_FORMA_PAGOIsNull write SetID_FORMA_PAGOIsNull;
    property ID_TIENDA: Integer read GetID_TIENDAValue write SetID_TIENDAValue;
    property ID_TIENDAIsNull: Boolean read GetID_TIENDAIsNull write SetID_TIENDAIsNull;
    property TIENDA: String read GetTIENDAValue write SetTIENDAValue;
    property TIENDAIsNull: Boolean read GetTIENDAIsNull write SetTIENDAIsNull;
    property ID_VENDEDOR: Integer read GetID_VENDEDORValue write SetID_VENDEDORValue;
    property ID_VENDEDORIsNull: Boolean read GetID_VENDEDORIsNull write SetID_VENDEDORIsNull;
    property VENDEDOR: String read GetVENDEDORValue write SetVENDEDORValue;
    property VENDEDORIsNull: Boolean read GetVENDEDORIsNull write SetVENDEDORIsNull;
    property ID_CONTRATO: Integer read GetID_CONTRATOValue write SetID_CONTRATOValue;
    property ID_CONTRATOIsNull: Boolean read GetID_CONTRATOIsNull write SetID_CONTRATOIsNull;
    property REF_CONTRATO: String read GetREF_CONTRATOValue write SetREF_CONTRATOValue;
    property REF_CONTRATOIsNull: Boolean read GetREF_CONTRATOIsNull write SetREF_CONTRATOIsNull;
    property NO_VALORADO: SmallInt read GetNO_VALORADOValue write SetNO_VALORADOValue;
    property NO_VALORADOIsNull: Boolean read GetNO_VALORADOIsNull write SetNO_VALORADOIsNull;
    property TIPO_PRESUPUESTO: String read GetTIPO_PRESUPUESTOValue write SetTIPO_PRESUPUESTOValue;
    property TIPO_PRESUPUESTOIsNull: Boolean read GetTIPO_PRESUPUESTOIsNull write SetTIPO_PRESUPUESTOIsNull;
    property CALIDADES: IROStrings read GetCALIDADESValue;
    property CALIDADESIsNull: Boolean read GetCALIDADESIsNull write SetCALIDADESIsNull;
    property REFERENCIA_CLIENTE: String read GetREFERENCIA_CLIENTEValue write SetREFERENCIA_CLIENTEValue;
    property REFERENCIA_CLIENTEIsNull: Boolean read GetREFERENCIA_CLIENTEIsNull write SetREFERENCIA_CLIENTEIsNull;
    property LISTA_NOMBRES: String read GetLISTA_NOMBRESValue write SetLISTA_NOMBRESValue;
    property LISTA_NOMBRESIsNull: Boolean read GetLISTA_NOMBRESIsNull write SetLISTA_NOMBRESIsNull;
    property PROCEDENCIA_CLIENTE: String read GetPROCEDENCIA_CLIENTEValue write SetPROCEDENCIA_CLIENTEValue;
    property PROCEDENCIA_CLIENTEIsNull: Boolean read GetPROCEDENCIA_CLIENTEIsNull write SetPROCEDENCIA_CLIENTEIsNull;
  end;

  { TPresupuestosClienteDataTableRules }
  TPresupuestosClienteDataTableRules = class(TIntfObjectDADataTableRules, IPresupuestosCliente)
  private
    f_FORMA_PAGO: IROStrings;
    f_PLAZO_ENTREGA: IROStrings;
    f_OBSERVACIONES: IROStrings;
    f_INCIDENCIAS: IROStrings;
    f_CALIDADES: IROStrings;
    procedure FORMA_PAGO_OnChange(Sender: TObject);
    procedure PLAZO_ENTREGA_OnChange(Sender: TObject);
    procedure OBSERVACIONES_OnChange(Sender: TObject);
    procedure INCIDENCIAS_OnChange(Sender: TObject);
    procedure CALIDADES_OnChange(Sender: TObject);
  protected
    { Property getters and setters }
    function GetIDValue: Integer; virtual;
    procedure SetIDValue(const aValue: Integer); virtual;
    function GetIDIsNull: Boolean; virtual;
    procedure SetIDIsNull(const aValue: Boolean); virtual;
    function GetID_EMPRESAValue: Integer; virtual;
    procedure SetID_EMPRESAValue(const aValue: Integer); virtual;
    function GetID_EMPRESAIsNull: Boolean; virtual;
    procedure SetID_EMPRESAIsNull(const aValue: Boolean); virtual;
    function GetFECHA_PRESUPUESTOValue: DateTime; virtual;
    procedure SetFECHA_PRESUPUESTOValue(const aValue: DateTime); virtual;
    function GetFECHA_PRESUPUESTOIsNull: Boolean; virtual;
    procedure SetFECHA_PRESUPUESTOIsNull(const aValue: Boolean); virtual;
    function GetFECHA_VIGENCIAValue: DateTime; virtual;
    procedure SetFECHA_VIGENCIAValue(const aValue: DateTime); virtual;
    function GetFECHA_VIGENCIAIsNull: Boolean; virtual;
    procedure SetFECHA_VIGENCIAIsNull(const aValue: Boolean); virtual;
    function GetFECHA_DECISIONValue: DateTime; virtual;
    procedure SetFECHA_DECISIONValue(const aValue: DateTime); virtual;
    function GetFECHA_DECISIONIsNull: Boolean; virtual;
    procedure SetFECHA_DECISIONIsNull(const aValue: Boolean); virtual;
    function GetREFERENCIAValue: String; virtual;
    procedure SetREFERENCIAValue(const aValue: String); virtual;
    function GetREFERENCIAIsNull: Boolean; virtual;
    procedure SetREFERENCIAIsNull(const aValue: Boolean); virtual;
    function GetSITUACIONValue: String; virtual;
    procedure SetSITUACIONValue(const aValue: String); virtual;
    function GetSITUACIONIsNull: Boolean; virtual;
    procedure SetSITUACIONIsNull(const aValue: Boolean); virtual;
    function GetID_CLIENTEValue: Integer; virtual;
    procedure SetID_CLIENTEValue(const aValue: Integer); virtual;
    function GetID_CLIENTEIsNull: Boolean; virtual;
    procedure SetID_CLIENTEIsNull(const aValue: Boolean); virtual;
    function GetID_DIRECCIONValue: Integer; virtual;
    procedure SetID_DIRECCIONValue(const aValue: Integer); virtual;
    function GetID_DIRECCIONIsNull: Boolean; virtual;
    procedure SetID_DIRECCIONIsNull(const aValue: Boolean); virtual;
    function GetNIF_CIFValue: String; virtual;
    procedure SetNIF_CIFValue(const aValue: String); virtual;
    function GetNIF_CIFIsNull: Boolean; virtual;
    procedure SetNIF_CIFIsNull(const aValue: Boolean); virtual;
    function GetNOMBREValue: String; virtual;
    procedure SetNOMBREValue(const aValue: String); virtual;
    function GetNOMBREIsNull: Boolean; virtual;
    procedure SetNOMBREIsNull(const aValue: Boolean); virtual;
    function GetPERSONA_CONTACTOValue: String; virtual;
    procedure SetPERSONA_CONTACTOValue(const aValue: String); virtual;
    function GetPERSONA_CONTACTOIsNull: Boolean; virtual;
    procedure SetPERSONA_CONTACTOIsNull(const aValue: Boolean); virtual;
    function GetFORMA_PAGOValue: IROStrings; virtual;
    function GetFORMA_PAGOIsNull: Boolean; virtual;
    procedure SetFORMA_PAGOIsNull(const aValue: Boolean); virtual;
    function GetPLAZO_ENTREGAValue: IROStrings; virtual;
    function GetPLAZO_ENTREGAIsNull: Boolean; virtual;
    procedure SetPLAZO_ENTREGAIsNull(const aValue: Boolean); virtual;
    function GetOBSERVACIONESValue: IROStrings; virtual;
    function GetOBSERVACIONESIsNull: Boolean; virtual;
    procedure SetOBSERVACIONESIsNull(const aValue: Boolean); virtual;
    function GetINCIDENCIASValue: IROStrings; virtual;
    function GetINCIDENCIASIsNull: Boolean; virtual;
    procedure SetINCIDENCIASIsNull(const aValue: Boolean); virtual;
    function GetINCIDENCIAS_ACTIVASValue: Integer; virtual;
    procedure SetINCIDENCIAS_ACTIVASValue(const aValue: Integer); virtual;
    function GetINCIDENCIAS_ACTIVASIsNull: Boolean; virtual;
    procedure SetINCIDENCIAS_ACTIVASIsNull(const aValue: Boolean); virtual;
    function GetFECHA_ALTAValue: DateTime; virtual;
    procedure SetFECHA_ALTAValue(const aValue: DateTime); virtual;
    function GetFECHA_ALTAIsNull: Boolean; virtual;
    procedure SetFECHA_ALTAIsNull(const aValue: Boolean); virtual;
    function GetFECHA_MODIFICACIONValue: DateTime; virtual;
    procedure SetFECHA_MODIFICACIONValue(const aValue: DateTime); virtual;
    function GetFECHA_MODIFICACIONIsNull: Boolean; virtual;
    procedure SetFECHA_MODIFICACIONIsNull(const aValue: Boolean); virtual;
    function GetUSUARIOValue: String; virtual;
    procedure SetUSUARIOValue(const aValue: String); virtual;
    function GetUSUARIOIsNull: Boolean; virtual;
    procedure SetUSUARIOIsNull(const aValue: Boolean); virtual;
    function GetIMPORTE_NETOValue: Currency; virtual;
    procedure SetIMPORTE_NETOValue(const aValue: Currency); virtual;
    function GetIMPORTE_NETOIsNull: Boolean; virtual;
    procedure SetIMPORTE_NETOIsNull(const aValue: Boolean); virtual;
    function GetIMPORTE_PORTEValue: Currency; virtual;
    procedure SetIMPORTE_PORTEValue(const aValue: Currency); virtual;
    function GetIMPORTE_PORTEIsNull: Boolean; virtual;
    procedure SetIMPORTE_PORTEIsNull(const aValue: Boolean); virtual;
    function GetDESCUENTOValue: Float; virtual;
    procedure SetDESCUENTOValue(const aValue: Float); virtual;
    function GetDESCUENTOIsNull: Boolean; virtual;
    procedure SetDESCUENTOIsNull(const aValue: Boolean); virtual;
    function GetIMPORTE_DESCUENTOValue: Currency; virtual;
    procedure SetIMPORTE_DESCUENTOValue(const aValue: Currency); virtual;
    function GetIMPORTE_DESCUENTOIsNull: Boolean; virtual;
    procedure SetIMPORTE_DESCUENTOIsNull(const aValue: Boolean); virtual;
    function GetBASE_IMPONIBLEValue: Currency; virtual;
    procedure SetBASE_IMPONIBLEValue(const aValue: Currency); virtual;
    function GetBASE_IMPONIBLEIsNull: Boolean; virtual;
    procedure SetBASE_IMPONIBLEIsNull(const aValue: Boolean); virtual;
    function GetID_TIPO_IVAValue: Integer; virtual;
    procedure SetID_TIPO_IVAValue(const aValue: Integer); virtual;
    function GetID_TIPO_IVAIsNull: Boolean; virtual;
    procedure SetID_TIPO_IVAIsNull(const aValue: Boolean); virtual;
    function GetIVAValue: Float; virtual;
    procedure SetIVAValue(const aValue: Float); virtual;
    function GetIVAIsNull: Boolean; virtual;
    procedure SetIVAIsNull(const aValue: Boolean); virtual;
    function GetIMPORTE_IVAValue: Currency; virtual;
    procedure SetIMPORTE_IVAValue(const aValue: Currency); virtual;
    function GetIMPORTE_IVAIsNull: Boolean; virtual;
    procedure SetIMPORTE_IVAIsNull(const aValue: Boolean); virtual;
    function GetREValue: Float; virtual;
    procedure SetREValue(const aValue: Float); virtual;
    function GetREIsNull: Boolean; virtual;
    procedure SetREIsNull(const aValue: Boolean); virtual;
    function GetIMPORTE_REValue: Currency; virtual;
    procedure SetIMPORTE_REValue(const aValue: Currency); virtual;
    function GetIMPORTE_REIsNull: Boolean; virtual;
    procedure SetIMPORTE_REIsNull(const aValue: Boolean); virtual;
    function GetRECARGO_EQUIVALENCIAValue: SmallInt; virtual;
    procedure SetRECARGO_EQUIVALENCIAValue(const aValue: SmallInt); virtual;
    function GetRECARGO_EQUIVALENCIAIsNull: Boolean; virtual;
    procedure SetRECARGO_EQUIVALENCIAIsNull(const aValue: Boolean); virtual;
    function GetIMPORTE_TOTALValue: Currency; virtual;
    procedure SetIMPORTE_TOTALValue(const aValue: Currency); virtual;
    function GetIMPORTE_TOTALIsNull: Boolean; virtual;
    procedure SetIMPORTE_TOTALIsNull(const aValue: Boolean); virtual;
    function GetID_FORMA_PAGOValue: Integer; virtual;
    procedure SetID_FORMA_PAGOValue(const aValue: Integer); virtual;
    function GetID_FORMA_PAGOIsNull: Boolean; virtual;
    procedure SetID_FORMA_PAGOIsNull(const aValue: Boolean); virtual;
    function GetID_TIENDAValue: Integer; virtual;
    procedure SetID_TIENDAValue(const aValue: Integer); virtual;
    function GetID_TIENDAIsNull: Boolean; virtual;
    procedure SetID_TIENDAIsNull(const aValue: Boolean); virtual;
    function GetTIENDAValue: String; virtual;
    procedure SetTIENDAValue(const aValue: String); virtual;
    function GetTIENDAIsNull: Boolean; virtual;
    procedure SetTIENDAIsNull(const aValue: Boolean); virtual;
    function GetID_VENDEDORValue: Integer; virtual;
    procedure SetID_VENDEDORValue(const aValue: Integer); virtual;
    function GetID_VENDEDORIsNull: Boolean; virtual;
    procedure SetID_VENDEDORIsNull(const aValue: Boolean); virtual;
    function GetVENDEDORValue: String; virtual;
    procedure SetVENDEDORValue(const aValue: String); virtual;
    function GetVENDEDORIsNull: Boolean; virtual;
    procedure SetVENDEDORIsNull(const aValue: Boolean); virtual;
    function GetID_CONTRATOValue: Integer; virtual;
    procedure SetID_CONTRATOValue(const aValue: Integer); virtual;
    function GetID_CONTRATOIsNull: Boolean; virtual;
    procedure SetID_CONTRATOIsNull(const aValue: Boolean); virtual;
    function GetREF_CONTRATOValue: String; virtual;
    procedure SetREF_CONTRATOValue(const aValue: String); virtual;
    function GetREF_CONTRATOIsNull: Boolean; virtual;
    procedure SetREF_CONTRATOIsNull(const aValue: Boolean); virtual;
    function GetNO_VALORADOValue: SmallInt; virtual;
    procedure SetNO_VALORADOValue(const aValue: SmallInt); virtual;
    function GetNO_VALORADOIsNull: Boolean; virtual;
    procedure SetNO_VALORADOIsNull(const aValue: Boolean); virtual;
    function GetTIPO_PRESUPUESTOValue: String; virtual;
    procedure SetTIPO_PRESUPUESTOValue(const aValue: String); virtual;
    function GetTIPO_PRESUPUESTOIsNull: Boolean; virtual;
    procedure SetTIPO_PRESUPUESTOIsNull(const aValue: Boolean); virtual;
    function GetCALIDADESValue: IROStrings; virtual;
    function GetCALIDADESIsNull: Boolean; virtual;
    procedure SetCALIDADESIsNull(const aValue: Boolean); virtual;
    function GetREFERENCIA_CLIENTEValue: String; virtual;
    procedure SetREFERENCIA_CLIENTEValue(const aValue: String); virtual;
    function GetREFERENCIA_CLIENTEIsNull: Boolean; virtual;
    procedure SetREFERENCIA_CLIENTEIsNull(const aValue: Boolean); virtual;
    function GetLISTA_NOMBRESValue: String; virtual;
    procedure SetLISTA_NOMBRESValue(const aValue: String); virtual;
    function GetLISTA_NOMBRESIsNull: Boolean; virtual;
    procedure SetLISTA_NOMBRESIsNull(const aValue: Boolean); virtual;
    function GetPROCEDENCIA_CLIENTEValue: String; virtual;
    procedure SetPROCEDENCIA_CLIENTEValue(const aValue: String); virtual;
    function GetPROCEDENCIA_CLIENTEIsNull: Boolean; virtual;
    procedure SetPROCEDENCIA_CLIENTEIsNull(const aValue: Boolean); virtual;

    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property ID_EMPRESA: Integer read GetID_EMPRESAValue write SetID_EMPRESAValue;
    property ID_EMPRESAIsNull: Boolean read GetID_EMPRESAIsNull write SetID_EMPRESAIsNull;
    property FECHA_PRESUPUESTO: DateTime read GetFECHA_PRESUPUESTOValue write SetFECHA_PRESUPUESTOValue;
    property FECHA_PRESUPUESTOIsNull: Boolean read GetFECHA_PRESUPUESTOIsNull write SetFECHA_PRESUPUESTOIsNull;
    property FECHA_VIGENCIA: DateTime read GetFECHA_VIGENCIAValue write SetFECHA_VIGENCIAValue;
    property FECHA_VIGENCIAIsNull: Boolean read GetFECHA_VIGENCIAIsNull write SetFECHA_VIGENCIAIsNull;
    property FECHA_DECISION: DateTime read GetFECHA_DECISIONValue write SetFECHA_DECISIONValue;
    property FECHA_DECISIONIsNull: Boolean read GetFECHA_DECISIONIsNull write SetFECHA_DECISIONIsNull;
    property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue;
    property REFERENCIAIsNull: Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull;
    property SITUACION: String read GetSITUACIONValue write SetSITUACIONValue;
    property SITUACIONIsNull: Boolean read GetSITUACIONIsNull write SetSITUACIONIsNull;
    property ID_CLIENTE: Integer read GetID_CLIENTEValue write SetID_CLIENTEValue;
    property ID_CLIENTEIsNull: Boolean read GetID_CLIENTEIsNull write SetID_CLIENTEIsNull;
    property ID_DIRECCION: Integer read GetID_DIRECCIONValue write SetID_DIRECCIONValue;
    property ID_DIRECCIONIsNull: Boolean read GetID_DIRECCIONIsNull write SetID_DIRECCIONIsNull;
    property NIF_CIF: String read GetNIF_CIFValue write SetNIF_CIFValue;
    property NIF_CIFIsNull: Boolean read GetNIF_CIFIsNull write SetNIF_CIFIsNull;
    property NOMBRE: String read GetNOMBREValue write SetNOMBREValue;
    property NOMBREIsNull: Boolean read GetNOMBREIsNull write SetNOMBREIsNull;
    property PERSONA_CONTACTO: String read GetPERSONA_CONTACTOValue write SetPERSONA_CONTACTOValue;
    property PERSONA_CONTACTOIsNull: Boolean read GetPERSONA_CONTACTOIsNull write SetPERSONA_CONTACTOIsNull;
    property FORMA_PAGO: IROStrings read GetFORMA_PAGOValue;
    property FORMA_PAGOIsNull: Boolean read GetFORMA_PAGOIsNull write SetFORMA_PAGOIsNull;
    property PLAZO_ENTREGA: IROStrings read GetPLAZO_ENTREGAValue;
    property PLAZO_ENTREGAIsNull: Boolean read GetPLAZO_ENTREGAIsNull write SetPLAZO_ENTREGAIsNull;
    property OBSERVACIONES: IROStrings read GetOBSERVACIONESValue;
    property OBSERVACIONESIsNull: Boolean read GetOBSERVACIONESIsNull write SetOBSERVACIONESIsNull;
    property INCIDENCIAS: IROStrings read GetINCIDENCIASValue;
    property INCIDENCIASIsNull: Boolean read GetINCIDENCIASIsNull write SetINCIDENCIASIsNull;
    property INCIDENCIAS_ACTIVAS: Integer read GetINCIDENCIAS_ACTIVASValue write SetINCIDENCIAS_ACTIVASValue;
    property INCIDENCIAS_ACTIVASIsNull: Boolean read GetINCIDENCIAS_ACTIVASIsNull write SetINCIDENCIAS_ACTIVASIsNull;
    property FECHA_ALTA: DateTime read GetFECHA_ALTAValue write SetFECHA_ALTAValue;
    property FECHA_ALTAIsNull: Boolean read GetFECHA_ALTAIsNull write SetFECHA_ALTAIsNull;
    property FECHA_MODIFICACION: DateTime read GetFECHA_MODIFICACIONValue write SetFECHA_MODIFICACIONValue;
    property FECHA_MODIFICACIONIsNull: Boolean read GetFECHA_MODIFICACIONIsNull write SetFECHA_MODIFICACIONIsNull;
    property USUARIO: String read GetUSUARIOValue write SetUSUARIOValue;
    property USUARIOIsNull: Boolean read GetUSUARIOIsNull write SetUSUARIOIsNull;
    property IMPORTE_NETO: Currency read GetIMPORTE_NETOValue write SetIMPORTE_NETOValue;
    property IMPORTE_NETOIsNull: Boolean read GetIMPORTE_NETOIsNull write SetIMPORTE_NETOIsNull;
    property IMPORTE_PORTE: Currency read GetIMPORTE_PORTEValue write SetIMPORTE_PORTEValue;
    property IMPORTE_PORTEIsNull: Boolean read GetIMPORTE_PORTEIsNull write SetIMPORTE_PORTEIsNull;
    property DESCUENTO: Float read GetDESCUENTOValue write SetDESCUENTOValue;
    property DESCUENTOIsNull: Boolean read GetDESCUENTOIsNull write SetDESCUENTOIsNull;
    property IMPORTE_DESCUENTO: Currency read GetIMPORTE_DESCUENTOValue write SetIMPORTE_DESCUENTOValue;
    property IMPORTE_DESCUENTOIsNull: Boolean read GetIMPORTE_DESCUENTOIsNull write SetIMPORTE_DESCUENTOIsNull;
    property BASE_IMPONIBLE: Currency read GetBASE_IMPONIBLEValue write SetBASE_IMPONIBLEValue;
    property BASE_IMPONIBLEIsNull: Boolean read GetBASE_IMPONIBLEIsNull write SetBASE_IMPONIBLEIsNull;
    property ID_TIPO_IVA: Integer read GetID_TIPO_IVAValue write SetID_TIPO_IVAValue;
    property ID_TIPO_IVAIsNull: Boolean read GetID_TIPO_IVAIsNull write SetID_TIPO_IVAIsNull;
    property IVA: Float read GetIVAValue write SetIVAValue;
    property IVAIsNull: Boolean read GetIVAIsNull write SetIVAIsNull;
    property IMPORTE_IVA: Currency read GetIMPORTE_IVAValue write SetIMPORTE_IVAValue;
    property IMPORTE_IVAIsNull: Boolean read GetIMPORTE_IVAIsNull write SetIMPORTE_IVAIsNull;
    property RE: Float read GetREValue write SetREValue;
    property REIsNull: Boolean read GetREIsNull write SetREIsNull;
    property IMPORTE_RE: Currency read GetIMPORTE_REValue write SetIMPORTE_REValue;
    property IMPORTE_REIsNull: Boolean read GetIMPORTE_REIsNull write SetIMPORTE_REIsNull;
    property RECARGO_EQUIVALENCIA: SmallInt read GetRECARGO_EQUIVALENCIAValue write SetRECARGO_EQUIVALENCIAValue;
    property RECARGO_EQUIVALENCIAIsNull: Boolean read GetRECARGO_EQUIVALENCIAIsNull write SetRECARGO_EQUIVALENCIAIsNull;
    property IMPORTE_TOTAL: Currency read GetIMPORTE_TOTALValue write SetIMPORTE_TOTALValue;
    property IMPORTE_TOTALIsNull: Boolean read GetIMPORTE_TOTALIsNull write SetIMPORTE_TOTALIsNull;
    property ID_FORMA_PAGO: Integer read GetID_FORMA_PAGOValue write SetID_FORMA_PAGOValue;
    property ID_FORMA_PAGOIsNull: Boolean read GetID_FORMA_PAGOIsNull write SetID_FORMA_PAGOIsNull;
    property ID_TIENDA: Integer read GetID_TIENDAValue write SetID_TIENDAValue;
    property ID_TIENDAIsNull: Boolean read GetID_TIENDAIsNull write SetID_TIENDAIsNull;
    property TIENDA: String read GetTIENDAValue write SetTIENDAValue;
    property TIENDAIsNull: Boolean read GetTIENDAIsNull write SetTIENDAIsNull;
    property ID_VENDEDOR: Integer read GetID_VENDEDORValue write SetID_VENDEDORValue;
    property ID_VENDEDORIsNull: Boolean read GetID_VENDEDORIsNull write SetID_VENDEDORIsNull;
    property VENDEDOR: String read GetVENDEDORValue write SetVENDEDORValue;
    property VENDEDORIsNull: Boolean read GetVENDEDORIsNull write SetVENDEDORIsNull;
    property ID_CONTRATO: Integer read GetID_CONTRATOValue write SetID_CONTRATOValue;
    property ID_CONTRATOIsNull: Boolean read GetID_CONTRATOIsNull write SetID_CONTRATOIsNull;
    property REF_CONTRATO: String read GetREF_CONTRATOValue write SetREF_CONTRATOValue;
    property REF_CONTRATOIsNull: Boolean read GetREF_CONTRATOIsNull write SetREF_CONTRATOIsNull;
    property NO_VALORADO: SmallInt read GetNO_VALORADOValue write SetNO_VALORADOValue;
    property NO_VALORADOIsNull: Boolean read GetNO_VALORADOIsNull write SetNO_VALORADOIsNull;
    property TIPO_PRESUPUESTO: String read GetTIPO_PRESUPUESTOValue write SetTIPO_PRESUPUESTOValue;
    property TIPO_PRESUPUESTOIsNull: Boolean read GetTIPO_PRESUPUESTOIsNull write SetTIPO_PRESUPUESTOIsNull;
    property CALIDADES: IROStrings read GetCALIDADESValue;
    property CALIDADESIsNull: Boolean read GetCALIDADESIsNull write SetCALIDADESIsNull;
    property REFERENCIA_CLIENTE: String read GetREFERENCIA_CLIENTEValue write SetREFERENCIA_CLIENTEValue;
    property REFERENCIA_CLIENTEIsNull: Boolean read GetREFERENCIA_CLIENTEIsNull write SetREFERENCIA_CLIENTEIsNull;
    property LISTA_NOMBRES: String read GetLISTA_NOMBRESValue write SetLISTA_NOMBRESValue;
    property LISTA_NOMBRESIsNull: Boolean read GetLISTA_NOMBRESIsNull write SetLISTA_NOMBRESIsNull;
    property PROCEDENCIA_CLIENTE: String read GetPROCEDENCIA_CLIENTEValue write SetPROCEDENCIA_CLIENTEValue;
    property PROCEDENCIA_CLIENTEIsNull: Boolean read GetPROCEDENCIA_CLIENTEIsNull write SetPROCEDENCIA_CLIENTEIsNull;

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

  end;

  { ICapitulosPresupuesto }
  ICapitulosPresupuesto = interface(IDAStronglyTypedDataTable)
  ['{48A979B4-B3B0-41DA-898A-1AF4A9B5C79D}']
    { Property getters and setters }
    function GetIDValue: Integer;
    procedure SetIDValue(const aValue: Integer);
    function GetIDIsNull: Boolean;
    procedure SetIDIsNull(const aValue: Boolean);
    function GetPOSICIONValue: Integer;
    procedure SetPOSICIONValue(const aValue: Integer);
    function GetPOSICIONIsNull: Boolean;
    procedure SetPOSICIONIsNull(const aValue: Boolean);
    function GetTIPO_DETALLEValue: String;
    procedure SetTIPO_DETALLEValue(const aValue: String);
    function GetTIPO_DETALLEIsNull: Boolean;
    procedure SetTIPO_DETALLEIsNull(const aValue: Boolean);
    function GetTIPO_ARTICULOValue: String;
    procedure SetTIPO_ARTICULOValue(const aValue: String);
    function GetTIPO_ARTICULOIsNull: Boolean;
    procedure SetTIPO_ARTICULOIsNull(const aValue: Boolean);
    function GetCONCEPTOValue: String;
    procedure SetCONCEPTOValue(const aValue: String);
    function GetCONCEPTOIsNull: Boolean;
    procedure SetCONCEPTOIsNull(const aValue: Boolean);
    function GetCANTIDADValue: Integer;
    procedure SetCANTIDADValue(const aValue: Integer);
    function GetCANTIDADIsNull: Boolean;
    procedure SetCANTIDADIsNull(const aValue: Boolean);
    function GetIMPORTE_UNIDADValue: Integer;
    procedure SetIMPORTE_UNIDADValue(const aValue: Integer);
    function GetIMPORTE_UNIDADIsNull: Boolean;
    procedure SetIMPORTE_UNIDADIsNull(const aValue: Boolean);
    function GetIMPORTE_TOTALValue: Integer;
    procedure SetIMPORTE_TOTALValue(const aValue: Integer);
    function GetIMPORTE_TOTALIsNull: Boolean;
    procedure SetIMPORTE_TOTALIsNull(const aValue: Boolean);
    function GetDESCUENTOValue: Integer;
    procedure SetDESCUENTOValue(const aValue: Integer);
    function GetDESCUENTOIsNull: Boolean;
    procedure SetDESCUENTOIsNull(const aValue: Boolean);
    function GetIMPORTE_PORTEValue: Integer;
    procedure SetIMPORTE_PORTEValue(const aValue: Integer);
    function GetIMPORTE_PORTEIsNull: Boolean;
    procedure SetIMPORTE_PORTEIsNull(const aValue: Boolean);
    function GetVISIBLEValue: Integer;
    procedure SetVISIBLEValue(const aValue: Integer);
    function GetVISIBLEIsNull: Boolean;
    procedure SetVISIBLEIsNull(const aValue: Boolean);


    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property POSICION: Integer read GetPOSICIONValue write SetPOSICIONValue;
    property POSICIONIsNull: Boolean read GetPOSICIONIsNull write SetPOSICIONIsNull;
    property TIPO_DETALLE: String read GetTIPO_DETALLEValue write SetTIPO_DETALLEValue;
    property TIPO_DETALLEIsNull: Boolean read GetTIPO_DETALLEIsNull write SetTIPO_DETALLEIsNull;
    property TIPO_ARTICULO: String read GetTIPO_ARTICULOValue write SetTIPO_ARTICULOValue;
    property TIPO_ARTICULOIsNull: Boolean read GetTIPO_ARTICULOIsNull write SetTIPO_ARTICULOIsNull;
    property CONCEPTO: String read GetCONCEPTOValue write SetCONCEPTOValue;
    property CONCEPTOIsNull: Boolean read GetCONCEPTOIsNull write SetCONCEPTOIsNull;
    property CANTIDAD: Integer read GetCANTIDADValue write SetCANTIDADValue;
    property CANTIDADIsNull: Boolean read GetCANTIDADIsNull write SetCANTIDADIsNull;
    property IMPORTE_UNIDAD: Integer read GetIMPORTE_UNIDADValue write SetIMPORTE_UNIDADValue;
    property IMPORTE_UNIDADIsNull: Boolean read GetIMPORTE_UNIDADIsNull write SetIMPORTE_UNIDADIsNull;
    property IMPORTE_TOTAL: Integer read GetIMPORTE_TOTALValue write SetIMPORTE_TOTALValue;
    property IMPORTE_TOTALIsNull: Boolean read GetIMPORTE_TOTALIsNull write SetIMPORTE_TOTALIsNull;
    property DESCUENTO: Integer read GetDESCUENTOValue write SetDESCUENTOValue;
    property DESCUENTOIsNull: Boolean read GetDESCUENTOIsNull write SetDESCUENTOIsNull;
    property IMPORTE_PORTE: Integer read GetIMPORTE_PORTEValue write SetIMPORTE_PORTEValue;
    property IMPORTE_PORTEIsNull: Boolean read GetIMPORTE_PORTEIsNull write SetIMPORTE_PORTEIsNull;
    property VISIBLE: Integer read GetVISIBLEValue write SetVISIBLEValue;
    property VISIBLEIsNull: Boolean read GetVISIBLEIsNull write SetVISIBLEIsNull;
  end;

  { TCapitulosPresupuestoDataTableRules }
  TCapitulosPresupuestoDataTableRules = class(TIntfObjectDADataTableRules, ICapitulosPresupuesto)
  private
  protected
    { Property getters and setters }
    function GetIDValue: Integer; virtual;
    procedure SetIDValue(const aValue: Integer); virtual;
    function GetIDIsNull: Boolean; virtual;
    procedure SetIDIsNull(const aValue: Boolean); virtual;
    function GetPOSICIONValue: Integer; virtual;
    procedure SetPOSICIONValue(const aValue: Integer); virtual;
    function GetPOSICIONIsNull: Boolean; virtual;
    procedure SetPOSICIONIsNull(const aValue: Boolean); virtual;
    function GetTIPO_DETALLEValue: String; virtual;
    procedure SetTIPO_DETALLEValue(const aValue: String); virtual;
    function GetTIPO_DETALLEIsNull: Boolean; virtual;
    procedure SetTIPO_DETALLEIsNull(const aValue: Boolean); virtual;
    function GetTIPO_ARTICULOValue: String; virtual;
    procedure SetTIPO_ARTICULOValue(const aValue: String); virtual;
    function GetTIPO_ARTICULOIsNull: Boolean; virtual;
    procedure SetTIPO_ARTICULOIsNull(const aValue: Boolean); virtual;
    function GetCONCEPTOValue: String; virtual;
    procedure SetCONCEPTOValue(const aValue: String); virtual;
    function GetCONCEPTOIsNull: Boolean; virtual;
    procedure SetCONCEPTOIsNull(const aValue: Boolean); virtual;
    function GetCANTIDADValue: Integer; virtual;
    procedure SetCANTIDADValue(const aValue: Integer); virtual;
    function GetCANTIDADIsNull: Boolean; virtual;
    procedure SetCANTIDADIsNull(const aValue: Boolean); virtual;
    function GetIMPORTE_UNIDADValue: Integer; virtual;
    procedure SetIMPORTE_UNIDADValue(const aValue: Integer); virtual;
    function GetIMPORTE_UNIDADIsNull: Boolean; virtual;
    procedure SetIMPORTE_UNIDADIsNull(const aValue: Boolean); virtual;
    function GetIMPORTE_TOTALValue: Integer; virtual;
    procedure SetIMPORTE_TOTALValue(const aValue: Integer); virtual;
    function GetIMPORTE_TOTALIsNull: Boolean; virtual;
    procedure SetIMPORTE_TOTALIsNull(const aValue: Boolean); virtual;
    function GetDESCUENTOValue: Integer; virtual;
    procedure SetDESCUENTOValue(const aValue: Integer); virtual;
    function GetDESCUENTOIsNull: Boolean; virtual;
    procedure SetDESCUENTOIsNull(const aValue: Boolean); virtual;
    function GetIMPORTE_PORTEValue: Integer; virtual;
    procedure SetIMPORTE_PORTEValue(const aValue: Integer); virtual;
    function GetIMPORTE_PORTEIsNull: Boolean; virtual;
    procedure SetIMPORTE_PORTEIsNull(const aValue: Boolean); virtual;
    function GetVISIBLEValue: Integer; virtual;
    procedure SetVISIBLEValue(const aValue: Integer); virtual;
    function GetVISIBLEIsNull: Boolean; virtual;
    procedure SetVISIBLEIsNull(const aValue: Boolean); virtual;

    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property POSICION: Integer read GetPOSICIONValue write SetPOSICIONValue;
    property POSICIONIsNull: Boolean read GetPOSICIONIsNull write SetPOSICIONIsNull;
    property TIPO_DETALLE: String read GetTIPO_DETALLEValue write SetTIPO_DETALLEValue;
    property TIPO_DETALLEIsNull: Boolean read GetTIPO_DETALLEIsNull write SetTIPO_DETALLEIsNull;
    property TIPO_ARTICULO: String read GetTIPO_ARTICULOValue write SetTIPO_ARTICULOValue;
    property TIPO_ARTICULOIsNull: Boolean read GetTIPO_ARTICULOIsNull write SetTIPO_ARTICULOIsNull;
    property CONCEPTO: String read GetCONCEPTOValue write SetCONCEPTOValue;
    property CONCEPTOIsNull: Boolean read GetCONCEPTOIsNull write SetCONCEPTOIsNull;
    property CANTIDAD: Integer read GetCANTIDADValue write SetCANTIDADValue;
    property CANTIDADIsNull: Boolean read GetCANTIDADIsNull write SetCANTIDADIsNull;
    property IMPORTE_UNIDAD: Integer read GetIMPORTE_UNIDADValue write SetIMPORTE_UNIDADValue;
    property IMPORTE_UNIDADIsNull: Boolean read GetIMPORTE_UNIDADIsNull write SetIMPORTE_UNIDADIsNull;
    property IMPORTE_TOTAL: Integer read GetIMPORTE_TOTALValue write SetIMPORTE_TOTALValue;
    property IMPORTE_TOTALIsNull: Boolean read GetIMPORTE_TOTALIsNull write SetIMPORTE_TOTALIsNull;
    property DESCUENTO: Integer read GetDESCUENTOValue write SetDESCUENTOValue;
    property DESCUENTOIsNull: Boolean read GetDESCUENTOIsNull write SetDESCUENTOIsNull;
    property IMPORTE_PORTE: Integer read GetIMPORTE_PORTEValue write SetIMPORTE_PORTEValue;
    property IMPORTE_PORTEIsNull: Boolean read GetIMPORTE_PORTEIsNull write SetIMPORTE_PORTEIsNull;
    property VISIBLE: Integer read GetVISIBLEValue write SetVISIBLEValue;
    property VISIBLEIsNull: Boolean read GetVISIBLEIsNull write SetVISIBLEIsNull;

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

  end;

  { IPresupuestosCliente_Detalles }
  IPresupuestosCliente_Detalles = interface(IDAStronglyTypedDataTable)
  ['{DEA18856-E9AE-485D-9D5A-54B606627E8A}']
    { Property getters and setters }
    function GetIDValue: Integer;
    procedure SetIDValue(const aValue: Integer);
    function GetIDIsNull: Boolean;
    procedure SetIDIsNull(const aValue: Boolean);
    function GetID_PRESUPUESTOValue: Integer;
    procedure SetID_PRESUPUESTOValue(const aValue: Integer);
    function GetID_PRESUPUESTOIsNull: Boolean;
    procedure SetID_PRESUPUESTOIsNull(const aValue: Boolean);
    function GetPOSICIONValue: Integer;
    procedure SetPOSICIONValue(const aValue: Integer);
    function GetPOSICIONIsNull: Boolean;
    procedure SetPOSICIONIsNull(const aValue: Boolean);
    function GetTIPO_DETALLEValue: String;
    procedure SetTIPO_DETALLEValue(const aValue: String);
    function GetTIPO_DETALLEIsNull: Boolean;
    procedure SetTIPO_DETALLEIsNull(const aValue: Boolean);
    function GetPROPIEDADValue: String;
    procedure SetPROPIEDADValue(const aValue: String);
    function GetPROPIEDADIsNull: Boolean;
    procedure SetPROPIEDADIsNull(const aValue: Boolean);
    function GetCONCEPTOValue: String;
    procedure SetCONCEPTOValue(const aValue: String);
    function GetCONCEPTOIsNull: Boolean;
    procedure SetCONCEPTOIsNull(const aValue: Boolean);
    function GetCANTIDADValue: Currency;
    procedure SetCANTIDADValue(const aValue: Currency);
    function GetCANTIDADIsNull: Boolean;
    procedure SetCANTIDADIsNull(const aValue: Boolean);
    function GetIMPORTE_UNIDADValue: Currency;
    procedure SetIMPORTE_UNIDADValue(const aValue: Currency);
    function GetIMPORTE_UNIDADIsNull: Boolean;
    procedure SetIMPORTE_UNIDADIsNull(const aValue: Boolean);
    function GetIMPORTE_TOTALValue: Currency;
    procedure SetIMPORTE_TOTALValue(const aValue: Currency);
    function GetIMPORTE_TOTALIsNull: Boolean;
    procedure SetIMPORTE_TOTALIsNull(const aValue: Boolean);
    function GetVISIBLE2Value: SmallInt;
    procedure SetVISIBLE2Value(const aValue: SmallInt);
    function GetVISIBLE2IsNull: Boolean;
    procedure SetVISIBLE2IsNull(const aValue: Boolean);
    function GetVISIBLEValue: SmallInt;
    procedure SetVISIBLEValue(const aValue: SmallInt);
    function GetVISIBLEIsNull: Boolean;
    procedure SetVISIBLEIsNull(const aValue: Boolean);
    function GetID_ARTICULOValue: Integer;
    procedure SetID_ARTICULOValue(const aValue: Integer);
    function GetID_ARTICULOIsNull: Boolean;
    procedure SetID_ARTICULOIsNull(const aValue: Boolean);
    function GetTIPO_ARTICULOValue: String;
    procedure SetTIPO_ARTICULOValue(const aValue: String);
    function GetTIPO_ARTICULOIsNull: Boolean;
    procedure SetTIPO_ARTICULOIsNull(const aValue: Boolean);
    function GetDESCUENTOValue: Float;
    procedure SetDESCUENTOValue(const aValue: Float);
    function GetDESCUENTOIsNull: Boolean;
    procedure SetDESCUENTOIsNull(const aValue: Boolean);
    function GetIMPORTE_PORTEValue: Currency;
    procedure SetIMPORTE_PORTEValue(const aValue: Currency);
    function GetIMPORTE_PORTEIsNull: Boolean;
    procedure SetIMPORTE_PORTEIsNull(const aValue: Boolean);
    function GetREFERENCIAValue: String;
    procedure SetREFERENCIAValue(const aValue: String);
    function GetREFERENCIAIsNull: Boolean;
    procedure SetREFERENCIAIsNull(const aValue: Boolean);
    function GetREFERENCIA_PROVEEDORValue: String;
    procedure SetREFERENCIA_PROVEEDORValue(const aValue: String);
    function GetREFERENCIA_PROVEEDORIsNull: Boolean;
    procedure SetREFERENCIA_PROVEEDORIsNull(const aValue: Boolean);


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

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

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

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

  end;

implementation

uses Variants, uROBinaryHelpers;

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

destructor TValoresDataTableRules.Destroy;
begin
  inherited;
end;

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

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

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

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

function TValoresDataTableRules.GetID_EMPRESAValue: Integer;
begin
  result := DataTable.Fields[idx_ValoresID_EMPRESA].AsInteger;
end;

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

function TValoresDataTableRules.GetID_EMPRESAIsNull: boolean;
begin
  result := DataTable.Fields[idx_ValoresID_EMPRESA].IsNull;
end;

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

function TValoresDataTableRules.GetREFERENCIAValue: String;
begin
  result := DataTable.Fields[idx_ValoresREFERENCIA].AsString;
end;

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

function TValoresDataTableRules.GetREFERENCIAIsNull: boolean;
begin
  result := DataTable.Fields[idx_ValoresREFERENCIA].IsNull;
end;

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

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

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

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

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

function TValoresDataTableRules.GetFAMILIAValue: String;
begin
  result := DataTable.Fields[idx_ValoresFAMILIA].AsString;
end;

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

function TValoresDataTableRules.GetFAMILIAIsNull: boolean;
begin
  result := DataTable.Fields[idx_ValoresFAMILIA].IsNull;
end;

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

function TValoresDataTableRules.GetPRECIO_COSTEValue: Currency;
begin
  result := DataTable.Fields[idx_ValoresPRECIO_COSTE].AsCurrency;
end;

procedure TValoresDataTableRules.SetPRECIO_COSTEValue(const aValue: Currency);
begin
  DataTable.Fields[idx_ValoresPRECIO_COSTE].AsCurrency := aValue;
end;

function TValoresDataTableRules.GetPRECIO_COSTEIsNull: boolean;
begin
  result := DataTable.Fields[idx_ValoresPRECIO_COSTE].IsNull;
end;

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

function TValoresDataTableRules.GetPRECIO_PVPValue: Currency;
begin
  result := DataTable.Fields[idx_ValoresPRECIO_PVP].AsCurrency;
end;

procedure TValoresDataTableRules.SetPRECIO_PVPValue(const aValue: Currency);
begin
  DataTable.Fields[idx_ValoresPRECIO_PVP].AsCurrency := aValue;
end;

function TValoresDataTableRules.GetPRECIO_PVPIsNull: boolean;
begin
  result := DataTable.Fields[idx_ValoresPRECIO_PVP].IsNull;
end;

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


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

destructor TPropiedadesDataTableRules.Destroy;
begin
  inherited;
end;

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

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

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

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

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

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

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

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


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

destructor TListaAnosPresupuestosDataTableRules.Destroy;
begin
  inherited;
end;

function TListaAnosPresupuestosDataTableRules.GetANOValue: String;
begin
  result := DataTable.Fields[idx_ListaAnosPresupuestosANO].AsString;
end;

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

function TListaAnosPresupuestosDataTableRules.GetANOIsNull: boolean;
begin
  result := DataTable.Fields[idx_ListaAnosPresupuestosANO].IsNull;
end;

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


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

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

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

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

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

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

destructor TPresupuestosClienteDataTableRules.Destroy;
begin
  inherited;
end;

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

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

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

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

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

function TPresupuestosClienteDataTableRules.GetIDValue: Integer;
begin
  result := DataTable.Fields[idx_PresupuestosClienteID].AsInteger;
end;

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

function TPresupuestosClienteDataTableRules.GetIDIsNull: boolean;
begin
  result := DataTable.Fields[idx_PresupuestosClienteID].IsNull;
end;

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

function TPresupuestosClienteDataTableRules.GetID_EMPRESAValue: Integer;
begin
  result := DataTable.Fields[idx_PresupuestosClienteID_EMPRESA].AsInteger;
end;

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

function TPresupuestosClienteDataTableRules.GetID_EMPRESAIsNull: boolean;
begin
  result := DataTable.Fields[idx_PresupuestosClienteID_EMPRESA].IsNull;
end;

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

function TPresupuestosClienteDataTableRules.GetFECHA_PRESUPUESTOValue: DateTime;
begin
  result := DataTable.Fields[idx_PresupuestosClienteFECHA_PRESUPUESTO].AsDateTime;
end;

procedure TPresupuestosClienteDataTableRules.SetFECHA_PRESUPUESTOValue(const aValue: DateTime);
begin
  DataTable.Fields[idx_PresupuestosClienteFECHA_PRESUPUESTO].AsDateTime := aValue;
end;

function TPresupuestosClienteDataTableRules.GetFECHA_PRESUPUESTOIsNull: boolean;
begin
  result := DataTable.Fields[idx_PresupuestosClienteFECHA_PRESUPUESTO].IsNull;
end;

procedure TPresupuestosClienteDataTableRules.SetFECHA_PRESUPUESTOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_PresupuestosClienteFECHA_PRESUPUESTO].AsVariant := Null;
end;

function TPresupuestosClienteDataTableRules.GetFECHA_VIGENCIAValue: DateTime;
begin
  result := DataTable.Fields[idx_PresupuestosClienteFECHA_VIGENCIA].AsDateTime;
end;

procedure TPresupuestosClienteDataTableRules.SetFECHA_VIGENCIAValue(const aValue: DateTime);
begin
  DataTable.Fields[idx_PresupuestosClienteFECHA_VIGENCIA].AsDateTime := aValue;
end;

function TPresupuestosClienteDataTableRules.GetFECHA_VIGENCIAIsNull: boolean;
begin
  result := DataTable.Fields[idx_PresupuestosClienteFECHA_VIGENCIA].IsNull;
end;

procedure TPresupuestosClienteDataTableRules.SetFECHA_VIGENCIAIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_PresupuestosClienteFECHA_VIGENCIA].AsVariant := Null;
end;

function TPresupuestosClienteDataTableRules.GetFECHA_DECISIONValue: DateTime;
begin
  result := DataTable.Fields[idx_PresupuestosClienteFECHA_DECISION].AsDateTime;
end;

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

function TPresupuestosClienteDataTableRules.GetFECHA_DECISIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_PresupuestosClienteFECHA_DECISION].IsNull;
end;

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

function TPresupuestosClienteDataTableRules.GetREFERENCIAValue: String;
begin
  result := DataTable.Fields[idx_PresupuestosClienteREFERENCIA].AsString;
end;

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

function TPresupuestosClienteDataTableRules.GetREFERENCIAIsNull: boolean;
begin
  result := DataTable.Fields[idx_PresupuestosClienteREFERENCIA].IsNull;
end;

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

function TPresupuestosClienteDataTableRules.GetSITUACIONValue: String;
begin
  result := DataTable.Fields[idx_PresupuestosClienteSITUACION].AsString;
end;

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

function TPresupuestosClienteDataTableRules.GetSITUACIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_PresupuestosClienteSITUACION].IsNull;
end;

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

function TPresupuestosClienteDataTableRules.GetID_CLIENTEValue: Integer;
begin
  result := DataTable.Fields[idx_PresupuestosClienteID_CLIENTE].AsInteger;
end;

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

function TPresupuestosClienteDataTableRules.GetID_CLIENTEIsNull: boolean;
begin
  result := DataTable.Fields[idx_PresupuestosClienteID_CLIENTE].IsNull;
end;

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

function TPresupuestosClienteDataTableRules.GetID_DIRECCIONValue: Integer;
begin
  result := DataTable.Fields[idx_PresupuestosClienteID_DIRECCION].AsInteger;
end;

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

function TPresupuestosClienteDataTableRules.GetID_DIRECCIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_PresupuestosClienteID_DIRECCION].IsNull;
end;

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

function TPresupuestosClienteDataTableRules.GetNIF_CIFValue: String;
begin
  result := DataTable.Fields[idx_PresupuestosClienteNIF_CIF].AsString;
end;

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

function TPresupuestosClienteDataTableRules.GetNIF_CIFIsNull: boolean;
begin
  result := DataTable.Fields[idx_PresupuestosClienteNIF_CIF].IsNull;
end;

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

function TPresupuestosClienteDataTableRules.GetNOMBREValue: String;
begin
  result := DataTable.Fields[idx_PresupuestosClienteNOMBRE].AsString;
end;

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

function TPresupuestosClienteDataTableRules.GetNOMBREIsNull: boolean;
begin
  result := DataTable.Fields[idx_PresupuestosClienteNOMBRE].IsNull;
end;

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

function TPresupuestosClienteDataTableRules.GetPERSONA_CONTACTOValue: String;
begin
  result := DataTable.Fields[idx_PresupuestosClientePERSONA_CONTACTO].AsString;
end;

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

function TPresupuestosClienteDataTableRules.GetPERSONA_CONTACTOIsNull: boolean;
begin
  result := DataTable.Fields[idx_PresupuestosClientePERSONA_CONTACTO].IsNull;
end;

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

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

function TPresupuestosClienteDataTableRules.GetFORMA_PAGOIsNull: boolean;
begin
  result := DataTable.Fields[idx_PresupuestosClienteFORMA_PAGO].IsNull;
end;

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

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

function TPresupuestosClienteDataTableRules.GetPLAZO_ENTREGAIsNull: boolean;
begin
  result := DataTable.Fields[idx_PresupuestosClientePLAZO_ENTREGA].IsNull;
end;

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

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

function TPresupuestosClienteDataTableRules.GetOBSERVACIONESIsNull: boolean;
begin
  result := DataTable.Fields[idx_PresupuestosClienteOBSERVACIONES].IsNull;
end;

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

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

function TPresupuestosClienteDataTableRules.GetINCIDENCIASIsNull: boolean;
begin
  result := DataTable.Fields[idx_PresupuestosClienteINCIDENCIAS].IsNull;
end;

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

function TPresupuestosClienteDataTableRules.GetINCIDENCIAS_ACTIVASValue: Integer;
begin
  result := DataTable.Fields[idx_PresupuestosClienteINCIDENCIAS_ACTIVAS].AsInteger;
end;

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

function TPresupuestosClienteDataTableRules.GetINCIDENCIAS_ACTIVASIsNull: boolean;
begin
  result := DataTable.Fields[idx_PresupuestosClienteINCIDENCIAS_ACTIVAS].IsNull;
end;

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

function TPresupuestosClienteDataTableRules.GetFECHA_ALTAValue: DateTime;
begin
  result := DataTable.Fields[idx_PresupuestosClienteFECHA_ALTA].AsDateTime;
end;

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

function TPresupuestosClienteDataTableRules.GetFECHA_ALTAIsNull: boolean;
begin
  result := DataTable.Fields[idx_PresupuestosClienteFECHA_ALTA].IsNull;
end;

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

function TPresupuestosClienteDataTableRules.GetFECHA_MODIFICACIONValue: DateTime;
begin
  result := DataTable.Fields[idx_PresupuestosClienteFECHA_MODIFICACION].AsDateTime;
end;

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

function TPresupuestosClienteDataTableRules.GetFECHA_MODIFICACIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_PresupuestosClienteFECHA_MODIFICACION].IsNull;
end;

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

function TPresupuestosClienteDataTableRules.GetUSUARIOValue: String;
begin
  result := DataTable.Fields[idx_PresupuestosClienteUSUARIO].AsString;
end;

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

function TPresupuestosClienteDataTableRules.GetUSUARIOIsNull: boolean;
begin
  result := DataTable.Fields[idx_PresupuestosClienteUSUARIO].IsNull;
end;

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

function TPresupuestosClienteDataTableRules.GetIMPORTE_NETOValue: Currency;
begin
  result := DataTable.Fields[idx_PresupuestosClienteIMPORTE_NETO].AsCurrency;
end;

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

function TPresupuestosClienteDataTableRules.GetIMPORTE_NETOIsNull: boolean;
begin
  result := DataTable.Fields[idx_PresupuestosClienteIMPORTE_NETO].IsNull;
end;

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

function TPresupuestosClienteDataTableRules.GetIMPORTE_PORTEValue: Currency;
begin
  result := DataTable.Fields[idx_PresupuestosClienteIMPORTE_PORTE].AsCurrency;
end;

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

function TPresupuestosClienteDataTableRules.GetIMPORTE_PORTEIsNull: boolean;
begin
  result := DataTable.Fields[idx_PresupuestosClienteIMPORTE_PORTE].IsNull;
end;

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

function TPresupuestosClienteDataTableRules.GetDESCUENTOValue: Float;
begin
  result := DataTable.Fields[idx_PresupuestosClienteDESCUENTO].AsFloat;
end;

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

function TPresupuestosClienteDataTableRules.GetDESCUENTOIsNull: boolean;
begin
  result := DataTable.Fields[idx_PresupuestosClienteDESCUENTO].IsNull;
end;

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

function TPresupuestosClienteDataTableRules.GetIMPORTE_DESCUENTOValue: Currency;
begin
  result := DataTable.Fields[idx_PresupuestosClienteIMPORTE_DESCUENTO].AsCurrency;
end;

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

function TPresupuestosClienteDataTableRules.GetIMPORTE_DESCUENTOIsNull: boolean;
begin
  result := DataTable.Fields[idx_PresupuestosClienteIMPORTE_DESCUENTO].IsNull;
end;

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

function TPresupuestosClienteDataTableRules.GetBASE_IMPONIBLEValue: Currency;
begin
  result := DataTable.Fields[idx_PresupuestosClienteBASE_IMPONIBLE].AsCurrency;
end;

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

function TPresupuestosClienteDataTableRules.GetBASE_IMPONIBLEIsNull: boolean;
begin
  result := DataTable.Fields[idx_PresupuestosClienteBASE_IMPONIBLE].IsNull;
end;

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

function TPresupuestosClienteDataTableRules.GetID_TIPO_IVAValue: Integer;
begin
  result := DataTable.Fields[idx_PresupuestosClienteID_TIPO_IVA].AsInteger;
end;

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

function TPresupuestosClienteDataTableRules.GetID_TIPO_IVAIsNull: boolean;
begin
  result := DataTable.Fields[idx_PresupuestosClienteID_TIPO_IVA].IsNull;
end;

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

function TPresupuestosClienteDataTableRules.GetIVAValue: Float;
begin
  result := DataTable.Fields[idx_PresupuestosClienteIVA].AsFloat;
end;

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

function TPresupuestosClienteDataTableRules.GetIVAIsNull: boolean;
begin
  result := DataTable.Fields[idx_PresupuestosClienteIVA].IsNull;
end;

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

function TPresupuestosClienteDataTableRules.GetIMPORTE_IVAValue: Currency;
begin
  result := DataTable.Fields[idx_PresupuestosClienteIMPORTE_IVA].AsCurrency;
end;

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

function TPresupuestosClienteDataTableRules.GetIMPORTE_IVAIsNull: boolean;
begin
  result := DataTable.Fields[idx_PresupuestosClienteIMPORTE_IVA].IsNull;
end;

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

function TPresupuestosClienteDataTableRules.GetREValue: Float;
begin
  result := DataTable.Fields[idx_PresupuestosClienteRE].AsFloat;
end;

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

function TPresupuestosClienteDataTableRules.GetREIsNull: boolean;
begin
  result := DataTable.Fields[idx_PresupuestosClienteRE].IsNull;
end;

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

function TPresupuestosClienteDataTableRules.GetIMPORTE_REValue: Currency;
begin
  result := DataTable.Fields[idx_PresupuestosClienteIMPORTE_RE].AsCurrency;
end;

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

function TPresupuestosClienteDataTableRules.GetIMPORTE_REIsNull: boolean;
begin
  result := DataTable.Fields[idx_PresupuestosClienteIMPORTE_RE].IsNull;
end;

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

function TPresupuestosClienteDataTableRules.GetRECARGO_EQUIVALENCIAValue: SmallInt;
begin
  result := DataTable.Fields[idx_PresupuestosClienteRECARGO_EQUIVALENCIA].AsSmallInt;
end;

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

function TPresupuestosClienteDataTableRules.GetRECARGO_EQUIVALENCIAIsNull: boolean;
begin
  result := DataTable.Fields[idx_PresupuestosClienteRECARGO_EQUIVALENCIA].IsNull;
end;

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

function TPresupuestosClienteDataTableRules.GetIMPORTE_TOTALValue: Currency;
begin
  result := DataTable.Fields[idx_PresupuestosClienteIMPORTE_TOTAL].AsCurrency;
end;

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

function TPresupuestosClienteDataTableRules.GetIMPORTE_TOTALIsNull: boolean;
begin
  result := DataTable.Fields[idx_PresupuestosClienteIMPORTE_TOTAL].IsNull;
end;

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

function TPresupuestosClienteDataTableRules.GetID_FORMA_PAGOValue: Integer;
begin
  result := DataTable.Fields[idx_PresupuestosClienteID_FORMA_PAGO].AsInteger;
end;

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

function TPresupuestosClienteDataTableRules.GetID_FORMA_PAGOIsNull: boolean;
begin
  result := DataTable.Fields[idx_PresupuestosClienteID_FORMA_PAGO].IsNull;
end;

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

function TPresupuestosClienteDataTableRules.GetID_TIENDAValue: Integer;
begin
  result := DataTable.Fields[idx_PresupuestosClienteID_TIENDA].AsInteger;
end;

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

function TPresupuestosClienteDataTableRules.GetID_TIENDAIsNull: boolean;
begin
  result := DataTable.Fields[idx_PresupuestosClienteID_TIENDA].IsNull;
end;

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

function TPresupuestosClienteDataTableRules.GetTIENDAValue: String;
begin
  result := DataTable.Fields[idx_PresupuestosClienteTIENDA].AsString;
end;

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

function TPresupuestosClienteDataTableRules.GetTIENDAIsNull: boolean;
begin
  result := DataTable.Fields[idx_PresupuestosClienteTIENDA].IsNull;
end;

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

function TPresupuestosClienteDataTableRules.GetID_VENDEDORValue: Integer;
begin
  result := DataTable.Fields[idx_PresupuestosClienteID_VENDEDOR].AsInteger;
end;

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

function TPresupuestosClienteDataTableRules.GetID_VENDEDORIsNull: boolean;
begin
  result := DataTable.Fields[idx_PresupuestosClienteID_VENDEDOR].IsNull;
end;

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

function TPresupuestosClienteDataTableRules.GetVENDEDORValue: String;
begin
  result := DataTable.Fields[idx_PresupuestosClienteVENDEDOR].AsString;
end;

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

function TPresupuestosClienteDataTableRules.GetVENDEDORIsNull: boolean;
begin
  result := DataTable.Fields[idx_PresupuestosClienteVENDEDOR].IsNull;
end;

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

function TPresupuestosClienteDataTableRules.GetID_CONTRATOValue: Integer;
begin
  result := DataTable.Fields[idx_PresupuestosClienteID_CONTRATO].AsInteger;
end;

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

function TPresupuestosClienteDataTableRules.GetID_CONTRATOIsNull: boolean;
begin
  result := DataTable.Fields[idx_PresupuestosClienteID_CONTRATO].IsNull;
end;

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

function TPresupuestosClienteDataTableRules.GetREF_CONTRATOValue: String;
begin
  result := DataTable.Fields[idx_PresupuestosClienteREF_CONTRATO].AsString;
end;

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

function TPresupuestosClienteDataTableRules.GetREF_CONTRATOIsNull: boolean;
begin
  result := DataTable.Fields[idx_PresupuestosClienteREF_CONTRATO].IsNull;
end;

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

function TPresupuestosClienteDataTableRules.GetNO_VALORADOValue: SmallInt;
begin
  result := DataTable.Fields[idx_PresupuestosClienteNO_VALORADO].AsSmallInt;
end;

procedure TPresupuestosClienteDataTableRules.SetNO_VALORADOValue(const aValue: SmallInt);
begin
  DataTable.Fields[idx_PresupuestosClienteNO_VALORADO].AsSmallInt := aValue;
end;

function TPresupuestosClienteDataTableRules.GetNO_VALORADOIsNull: boolean;
begin
  result := DataTable.Fields[idx_PresupuestosClienteNO_VALORADO].IsNull;
end;

procedure TPresupuestosClienteDataTableRules.SetNO_VALORADOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_PresupuestosClienteNO_VALORADO].AsVariant := Null;
end;

function TPresupuestosClienteDataTableRules.GetTIPO_PRESUPUESTOValue: String;
begin
  result := DataTable.Fields[idx_PresupuestosClienteTIPO_PRESUPUESTO].AsString;
end;

procedure TPresupuestosClienteDataTableRules.SetTIPO_PRESUPUESTOValue(const aValue: String);
begin
  DataTable.Fields[idx_PresupuestosClienteTIPO_PRESUPUESTO].AsString := aValue;
end;

function TPresupuestosClienteDataTableRules.GetTIPO_PRESUPUESTOIsNull: boolean;
begin
  result := DataTable.Fields[idx_PresupuestosClienteTIPO_PRESUPUESTO].IsNull;
end;

procedure TPresupuestosClienteDataTableRules.SetTIPO_PRESUPUESTOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_PresupuestosClienteTIPO_PRESUPUESTO].AsVariant := Null;
end;

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

function TPresupuestosClienteDataTableRules.GetCALIDADESIsNull: boolean;
begin
  result := DataTable.Fields[idx_PresupuestosClienteCALIDADES].IsNull;
end;

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

function TPresupuestosClienteDataTableRules.GetREFERENCIA_CLIENTEValue: String;
begin
  result := DataTable.Fields[idx_PresupuestosClienteREFERENCIA_CLIENTE].AsString;
end;

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

function TPresupuestosClienteDataTableRules.GetREFERENCIA_CLIENTEIsNull: boolean;
begin
  result := DataTable.Fields[idx_PresupuestosClienteREFERENCIA_CLIENTE].IsNull;
end;

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

function TPresupuestosClienteDataTableRules.GetLISTA_NOMBRESValue: String;
begin
  result := DataTable.Fields[idx_PresupuestosClienteLISTA_NOMBRES].AsString;
end;

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

function TPresupuestosClienteDataTableRules.GetLISTA_NOMBRESIsNull: boolean;
begin
  result := DataTable.Fields[idx_PresupuestosClienteLISTA_NOMBRES].IsNull;
end;

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

function TPresupuestosClienteDataTableRules.GetPROCEDENCIA_CLIENTEValue: String;
begin
  result := DataTable.Fields[idx_PresupuestosClientePROCEDENCIA_CLIENTE].AsString;
end;

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

function TPresupuestosClienteDataTableRules.GetPROCEDENCIA_CLIENTEIsNull: boolean;
begin
  result := DataTable.Fields[idx_PresupuestosClientePROCEDENCIA_CLIENTE].IsNull;
end;

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


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

destructor TCapitulosPresupuestoDataTableRules.Destroy;
begin
  inherited;
end;

function TCapitulosPresupuestoDataTableRules.GetIDValue: Integer;
begin
  result := DataTable.Fields[idx_CapitulosPresupuestoID].AsInteger;
end;

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

function TCapitulosPresupuestoDataTableRules.GetIDIsNull: boolean;
begin
  result := DataTable.Fields[idx_CapitulosPresupuestoID].IsNull;
end;

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

function TCapitulosPresupuestoDataTableRules.GetPOSICIONValue: Integer;
begin
  result := DataTable.Fields[idx_CapitulosPresupuestoPOSICION].AsInteger;
end;

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

function TCapitulosPresupuestoDataTableRules.GetPOSICIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_CapitulosPresupuestoPOSICION].IsNull;
end;

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

function TCapitulosPresupuestoDataTableRules.GetTIPO_DETALLEValue: String;
begin
  result := DataTable.Fields[idx_CapitulosPresupuestoTIPO_DETALLE].AsString;
end;

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

function TCapitulosPresupuestoDataTableRules.GetTIPO_DETALLEIsNull: boolean;
begin
  result := DataTable.Fields[idx_CapitulosPresupuestoTIPO_DETALLE].IsNull;
end;

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

function TCapitulosPresupuestoDataTableRules.GetTIPO_ARTICULOValue: String;
begin
  result := DataTable.Fields[idx_CapitulosPresupuestoTIPO_ARTICULO].AsString;
end;

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

function TCapitulosPresupuestoDataTableRules.GetTIPO_ARTICULOIsNull: boolean;
begin
  result := DataTable.Fields[idx_CapitulosPresupuestoTIPO_ARTICULO].IsNull;
end;

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

function TCapitulosPresupuestoDataTableRules.GetCONCEPTOValue: String;
begin
  result := DataTable.Fields[idx_CapitulosPresupuestoCONCEPTO].AsString;
end;

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

function TCapitulosPresupuestoDataTableRules.GetCONCEPTOIsNull: boolean;
begin
  result := DataTable.Fields[idx_CapitulosPresupuestoCONCEPTO].IsNull;
end;

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

function TCapitulosPresupuestoDataTableRules.GetCANTIDADValue: Integer;
begin
  result := DataTable.Fields[idx_CapitulosPresupuestoCANTIDAD].AsInteger;
end;

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

function TCapitulosPresupuestoDataTableRules.GetCANTIDADIsNull: boolean;
begin
  result := DataTable.Fields[idx_CapitulosPresupuestoCANTIDAD].IsNull;
end;

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

function TCapitulosPresupuestoDataTableRules.GetIMPORTE_UNIDADValue: Integer;
begin
  result := DataTable.Fields[idx_CapitulosPresupuestoIMPORTE_UNIDAD].AsInteger;
end;

procedure TCapitulosPresupuestoDataTableRules.SetIMPORTE_UNIDADValue(const aValue: Integer);
begin
  DataTable.Fields[idx_CapitulosPresupuestoIMPORTE_UNIDAD].AsInteger := aValue;
end;

function TCapitulosPresupuestoDataTableRules.GetIMPORTE_UNIDADIsNull: boolean;
begin
  result := DataTable.Fields[idx_CapitulosPresupuestoIMPORTE_UNIDAD].IsNull;
end;

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

function TCapitulosPresupuestoDataTableRules.GetIMPORTE_TOTALValue: Integer;
begin
  result := DataTable.Fields[idx_CapitulosPresupuestoIMPORTE_TOTAL].AsInteger;
end;

procedure TCapitulosPresupuestoDataTableRules.SetIMPORTE_TOTALValue(const aValue: Integer);
begin
  DataTable.Fields[idx_CapitulosPresupuestoIMPORTE_TOTAL].AsInteger := aValue;
end;

function TCapitulosPresupuestoDataTableRules.GetIMPORTE_TOTALIsNull: boolean;
begin
  result := DataTable.Fields[idx_CapitulosPresupuestoIMPORTE_TOTAL].IsNull;
end;

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

function TCapitulosPresupuestoDataTableRules.GetDESCUENTOValue: Integer;
begin
  result := DataTable.Fields[idx_CapitulosPresupuestoDESCUENTO].AsInteger;
end;

procedure TCapitulosPresupuestoDataTableRules.SetDESCUENTOValue(const aValue: Integer);
begin
  DataTable.Fields[idx_CapitulosPresupuestoDESCUENTO].AsInteger := aValue;
end;

function TCapitulosPresupuestoDataTableRules.GetDESCUENTOIsNull: boolean;
begin
  result := DataTable.Fields[idx_CapitulosPresupuestoDESCUENTO].IsNull;
end;

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

function TCapitulosPresupuestoDataTableRules.GetIMPORTE_PORTEValue: Integer;
begin
  result := DataTable.Fields[idx_CapitulosPresupuestoIMPORTE_PORTE].AsInteger;
end;

procedure TCapitulosPresupuestoDataTableRules.SetIMPORTE_PORTEValue(const aValue: Integer);
begin
  DataTable.Fields[idx_CapitulosPresupuestoIMPORTE_PORTE].AsInteger := aValue;
end;

function TCapitulosPresupuestoDataTableRules.GetIMPORTE_PORTEIsNull: boolean;
begin
  result := DataTable.Fields[idx_CapitulosPresupuestoIMPORTE_PORTE].IsNull;
end;

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

function TCapitulosPresupuestoDataTableRules.GetVISIBLEValue: Integer;
begin
  result := DataTable.Fields[idx_CapitulosPresupuestoVISIBLE].AsInteger;
end;

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

function TCapitulosPresupuestoDataTableRules.GetVISIBLEIsNull: boolean;
begin
  result := DataTable.Fields[idx_CapitulosPresupuestoVISIBLE].IsNull;
end;

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


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

destructor TPresupuestosCliente_DetallesDataTableRules.Destroy;
begin
  inherited;
end;

function TPresupuestosCliente_DetallesDataTableRules.GetIDValue: Integer;
begin
  result := DataTable.Fields[idx_PresupuestosCliente_DetallesID].AsInteger;
end;

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

function TPresupuestosCliente_DetallesDataTableRules.GetIDIsNull: boolean;
begin
  result := DataTable.Fields[idx_PresupuestosCliente_DetallesID].IsNull;
end;

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

function TPresupuestosCliente_DetallesDataTableRules.GetID_PRESUPUESTOValue: Integer;
begin
  result := DataTable.Fields[idx_PresupuestosCliente_DetallesID_PRESUPUESTO].AsInteger;
end;

procedure TPresupuestosCliente_DetallesDataTableRules.SetID_PRESUPUESTOValue(const aValue: Integer);
begin
  DataTable.Fields[idx_PresupuestosCliente_DetallesID_PRESUPUESTO].AsInteger := aValue;
end;

function TPresupuestosCliente_DetallesDataTableRules.GetID_PRESUPUESTOIsNull: boolean;
begin
  result := DataTable.Fields[idx_PresupuestosCliente_DetallesID_PRESUPUESTO].IsNull;
end;

procedure TPresupuestosCliente_DetallesDataTableRules.SetID_PRESUPUESTOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_PresupuestosCliente_DetallesID_PRESUPUESTO].AsVariant := Null;
end;

function TPresupuestosCliente_DetallesDataTableRules.GetPOSICIONValue: Integer;
begin
  result := DataTable.Fields[idx_PresupuestosCliente_DetallesPOSICION].AsInteger;
end;

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

function TPresupuestosCliente_DetallesDataTableRules.GetPOSICIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_PresupuestosCliente_DetallesPOSICION].IsNull;
end;

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

function TPresupuestosCliente_DetallesDataTableRules.GetTIPO_DETALLEValue: String;
begin
  result := DataTable.Fields[idx_PresupuestosCliente_DetallesTIPO_DETALLE].AsString;
end;

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

function TPresupuestosCliente_DetallesDataTableRules.GetTIPO_DETALLEIsNull: boolean;
begin
  result := DataTable.Fields[idx_PresupuestosCliente_DetallesTIPO_DETALLE].IsNull;
end;

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

function TPresupuestosCliente_DetallesDataTableRules.GetPROPIEDADValue: String;
begin
  result := DataTable.Fields[idx_PresupuestosCliente_DetallesPROPIEDAD].AsString;
end;

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

function TPresupuestosCliente_DetallesDataTableRules.GetPROPIEDADIsNull: boolean;
begin
  result := DataTable.Fields[idx_PresupuestosCliente_DetallesPROPIEDAD].IsNull;
end;

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

function TPresupuestosCliente_DetallesDataTableRules.GetCONCEPTOValue: String;
begin
  result := DataTable.Fields[idx_PresupuestosCliente_DetallesCONCEPTO].AsString;
end;

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

function TPresupuestosCliente_DetallesDataTableRules.GetCONCEPTOIsNull: boolean;
begin
  result := DataTable.Fields[idx_PresupuestosCliente_DetallesCONCEPTO].IsNull;
end;

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

function TPresupuestosCliente_DetallesDataTableRules.GetCANTIDADValue: Currency;
begin
  result := DataTable.Fields[idx_PresupuestosCliente_DetallesCANTIDAD].AsCurrency;
end;

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

function TPresupuestosCliente_DetallesDataTableRules.GetCANTIDADIsNull: boolean;
begin
  result := DataTable.Fields[idx_PresupuestosCliente_DetallesCANTIDAD].IsNull;
end;

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

function TPresupuestosCliente_DetallesDataTableRules.GetIMPORTE_UNIDADValue: Currency;
begin
  result := DataTable.Fields[idx_PresupuestosCliente_DetallesIMPORTE_UNIDAD].AsCurrency;
end;

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

function TPresupuestosCliente_DetallesDataTableRules.GetIMPORTE_UNIDADIsNull: boolean;
begin
  result := DataTable.Fields[idx_PresupuestosCliente_DetallesIMPORTE_UNIDAD].IsNull;
end;

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

function TPresupuestosCliente_DetallesDataTableRules.GetIMPORTE_TOTALValue: Currency;
begin
  result := DataTable.Fields[idx_PresupuestosCliente_DetallesIMPORTE_TOTAL].AsCurrency;
end;

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

function TPresupuestosCliente_DetallesDataTableRules.GetIMPORTE_TOTALIsNull: boolean;
begin
  result := DataTable.Fields[idx_PresupuestosCliente_DetallesIMPORTE_TOTAL].IsNull;
end;

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

function TPresupuestosCliente_DetallesDataTableRules.GetVISIBLE2Value: SmallInt;
begin
  result := DataTable.Fields[idx_PresupuestosCliente_DetallesVISIBLE2].AsSmallInt;
end;

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

function TPresupuestosCliente_DetallesDataTableRules.GetVISIBLE2IsNull: boolean;
begin
  result := DataTable.Fields[idx_PresupuestosCliente_DetallesVISIBLE2].IsNull;
end;

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

function TPresupuestosCliente_DetallesDataTableRules.GetVISIBLEValue: SmallInt;
begin
  result := DataTable.Fields[idx_PresupuestosCliente_DetallesVISIBLE].AsSmallInt;
end;

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

function TPresupuestosCliente_DetallesDataTableRules.GetVISIBLEIsNull: boolean;
begin
  result := DataTable.Fields[idx_PresupuestosCliente_DetallesVISIBLE].IsNull;
end;

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

function TPresupuestosCliente_DetallesDataTableRules.GetID_ARTICULOValue: Integer;
begin
  result := DataTable.Fields[idx_PresupuestosCliente_DetallesID_ARTICULO].AsInteger;
end;

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

function TPresupuestosCliente_DetallesDataTableRules.GetID_ARTICULOIsNull: boolean;
begin
  result := DataTable.Fields[idx_PresupuestosCliente_DetallesID_ARTICULO].IsNull;
end;

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

function TPresupuestosCliente_DetallesDataTableRules.GetTIPO_ARTICULOValue: String;
begin
  result := DataTable.Fields[idx_PresupuestosCliente_DetallesTIPO_ARTICULO].AsString;
end;

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

function TPresupuestosCliente_DetallesDataTableRules.GetTIPO_ARTICULOIsNull: boolean;
begin
  result := DataTable.Fields[idx_PresupuestosCliente_DetallesTIPO_ARTICULO].IsNull;
end;

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

function TPresupuestosCliente_DetallesDataTableRules.GetDESCUENTOValue: Float;
begin
  result := DataTable.Fields[idx_PresupuestosCliente_DetallesDESCUENTO].AsFloat;
end;

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

function TPresupuestosCliente_DetallesDataTableRules.GetDESCUENTOIsNull: boolean;
begin
  result := DataTable.Fields[idx_PresupuestosCliente_DetallesDESCUENTO].IsNull;
end;

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

function TPresupuestosCliente_DetallesDataTableRules.GetIMPORTE_PORTEValue: Currency;
begin
  result := DataTable.Fields[idx_PresupuestosCliente_DetallesIMPORTE_PORTE].AsCurrency;
end;

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

function TPresupuestosCliente_DetallesDataTableRules.GetIMPORTE_PORTEIsNull: boolean;
begin
  result := DataTable.Fields[idx_PresupuestosCliente_DetallesIMPORTE_PORTE].IsNull;
end;

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

function TPresupuestosCliente_DetallesDataTableRules.GetREFERENCIAValue: String;
begin
  result := DataTable.Fields[idx_PresupuestosCliente_DetallesREFERENCIA].AsString;
end;

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

function TPresupuestosCliente_DetallesDataTableRules.GetREFERENCIAIsNull: boolean;
begin
  result := DataTable.Fields[idx_PresupuestosCliente_DetallesREFERENCIA].IsNull;
end;

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

function TPresupuestosCliente_DetallesDataTableRules.GetREFERENCIA_PROVEEDORValue: String;
begin
  result := DataTable.Fields[idx_PresupuestosCliente_DetallesREFERENCIA_PROVEEDOR].AsString;
end;

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

function TPresupuestosCliente_DetallesDataTableRules.GetREFERENCIA_PROVEEDORIsNull: boolean;
begin
  result := DataTable.Fields[idx_PresupuestosCliente_DetallesREFERENCIA_PROVEEDOR].IsNull;
end;

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


initialization
  RegisterDataTableRules(RID_Valores, TValoresDataTableRules);
  RegisterDataTableRules(RID_Propiedades, TPropiedadesDataTableRules);
  RegisterDataTableRules(RID_ListaAnosPresupuestos, TListaAnosPresupuestosDataTableRules);
  RegisterDataTableRules(RID_PresupuestosCliente, TPresupuestosClienteDataTableRules);
  RegisterDataTableRules(RID_CapitulosPresupuesto, TCapitulosPresupuestoDataTableRules);
  RegisterDataTableRules(RID_PresupuestosCliente_Detalles, TPresupuestosCliente_DetallesDataTableRules);

end.
