unit schObrasClient_Intf;

interface

uses
  Classes, DB, SysUtils, uROClasses, uDADataTable;

const
  { Data table rules ids
       Feel free to change them to something more human readable
       but make sure they are unique in the context of your application }
  RID_Obras = '{706E785F-8451-4F9C-BABD-3F12E2D3BF11}';
  RID_ContactosObra = '{8CDC2572-0DBF-4202-9B8F-4EE2F88B1D06}';
  RID_RefrescoContactosObra = '{26502333-57D3-4E6D-88AB-BF31225D8154}';
  RID_RefrescoObras = '{2AF0C7BC-A489-4BE5-A35B-03A7852E421D}';
  RID_PresupuestosObra = '{D4BB70A5-2583-4D5B-9B4A-EAE6D8CE9C63}';
  RID_RefrescoPresupuestosObra = '{FB6B6BDC-2071-4B29-BC6A-8C24A6FF50E2}';
  RID_ProyectosObra = '{9136C848-59EF-487A-A721-E4B9CCC20408}';

  { Data table names }
  nme_Obras = 'Obras';
  nme_ContactosObra = 'ContactosObra';
  nme_RefrescoContactosObra = 'RefrescoContactosObra';
  nme_RefrescoObras = 'RefrescoObras';
  nme_PresupuestosObra = 'PresupuestosObra';
  nme_RefrescoPresupuestosObra = 'RefrescoPresupuestosObra';
  nme_ProyectosObra = 'ProyectosObra';

  { Obras fields }
  fld_ObrasCODIGOEMPRESA = 'CODIGOEMPRESA';
  fld_ObrasCODIGO = 'CODIGO';
  fld_ObrasFECHAALTA = 'FECHAALTA';
  fld_ObrasUSUARIO = 'USUARIO';
  fld_ObrasNOMBRE = 'NOMBRE';
  fld_ObrasFECHAINIOBR = 'FECHAINIOBR';
  fld_ObrasFECHAFINOBR = 'FECHAFINOBR';
  fld_ObrasCALLE = 'CALLE';
  fld_ObrasCODIGOPOSTAL = 'CODIGOPOSTAL';
  fld_ObrasPOBLACION = 'POBLACION';
  fld_ObrasPROVINCIA = 'PROVINCIA';
  fld_ObrasTIPO = 'TIPO';
  fld_ObrasDIMENSIONES = 'DIMENSIONES';
  fld_ObrasHONORARIOS = 'HONORARIOS';
  fld_ObrasIMPORTEHONORARIOS = 'IMPORTEHONORARIOS';
  fld_ObrasAPLICAHONORARIOS = 'APLICAHONORARIOS';
  fld_ObrasTOTALPRESUPUESTOSINI = 'TOTALPRESUPUESTOSINI';
  fld_ObrasTOTALPRESUPUESTOSFIN = 'TOTALPRESUPUESTOSFIN';
  fld_ObrasCODIGOCONTACTO = 'CODIGOCONTACTO';
  fld_ObrasNOMBRECLIENTE = 'NOMBRECLIENTE';

  { Obras field indexes }
  idx_ObrasCODIGOEMPRESA = 0;
  idx_ObrasCODIGO = 1;
  idx_ObrasFECHAALTA = 2;
  idx_ObrasUSUARIO = 3;
  idx_ObrasNOMBRE = 4;
  idx_ObrasFECHAINIOBR = 5;
  idx_ObrasFECHAFINOBR = 6;
  idx_ObrasCALLE = 7;
  idx_ObrasCODIGOPOSTAL = 8;
  idx_ObrasPOBLACION = 9;
  idx_ObrasPROVINCIA = 10;
  idx_ObrasTIPO = 11;
  idx_ObrasDIMENSIONES = 12;
  idx_ObrasHONORARIOS = 13;
  idx_ObrasIMPORTEHONORARIOS = 14;
  idx_ObrasAPLICAHONORARIOS = 15;
  idx_ObrasTOTALPRESUPUESTOSINI = 16;
  idx_ObrasTOTALPRESUPUESTOSFIN = 17;
  idx_ObrasCODIGOCONTACTO = 18;
  idx_ObrasNOMBRECLIENTE = 19;

  { ContactosObra fields }
  fld_ContactosObraCODIGOOBRA = 'CODIGOOBRA';
  fld_ContactosObraCODIGOCONTACTO = 'CODIGOCONTACTO';
  fld_ContactosObraNOMBRE = 'NOMBRE';
  fld_ContactosObraCATEGORIAS = 'CATEGORIAS';

  { ContactosObra field indexes }
  idx_ContactosObraCODIGOOBRA = 0;
  idx_ContactosObraCODIGOCONTACTO = 1;
  idx_ContactosObraNOMBRE = 2;
  idx_ContactosObraCATEGORIAS = 3;

  { RefrescoContactosObra fields }
  fld_RefrescoContactosObraCODIGOOBRA = 'CODIGOOBRA';
  fld_RefrescoContactosObraCODIGOCONTACTO = 'CODIGOCONTACTO';
  fld_RefrescoContactosObraNOMBRE = 'NOMBRE';
  fld_RefrescoContactosObraCATEGORIAS = 'CATEGORIAS';

  { RefrescoContactosObra field indexes }
  idx_RefrescoContactosObraCODIGOOBRA = 0;
  idx_RefrescoContactosObraCODIGOCONTACTO = 1;
  idx_RefrescoContactosObraNOMBRE = 2;
  idx_RefrescoContactosObraCATEGORIAS = 3;

  { RefrescoObras fields }
  fld_RefrescoObrasCODIGO = 'CODIGO';
  fld_RefrescoObrasNOMBRECLIENTE = 'NOMBRECLIENTE';

  { RefrescoObras field indexes }
  idx_RefrescoObrasCODIGO = 0;
  idx_RefrescoObrasNOMBRECLIENTE = 1;

  { PresupuestosObra fields }
  fld_PresupuestosObraCODIGO = 'CODIGO';
  fld_PresupuestosObraCODIGOOBRA = 'CODIGOOBRA';
  fld_PresupuestosObraCODIGOCONTACTO = 'CODIGOCONTACTO';
  fld_PresupuestosObraFECHAALTA = 'FECHAALTA';
  fld_PresupuestosObraUSUARIO = 'USUARIO';
  fld_PresupuestosObraFECHA = 'FECHA';
  fld_PresupuestosObraCLASE = 'CLASE';
  fld_PresupuestosObraACEPTADO = 'ACEPTADO';
  fld_PresupuestosObraTIPO = 'TIPO';
  fld_PresupuestosObraDESCRIPCION = 'DESCRIPCION';
  fld_PresupuestosObraPRESUPUESTOINICIAL = 'PRESUPUESTOINICIAL';
  fld_PresupuestosObraPRESUPUESTOFINAL = 'PRESUPUESTOFINAL';
  fld_PresupuestosObraAPLICARETENCION = 'APLICARETENCION';
  fld_PresupuestosObraRETENCION = 'RETENCION';
  fld_PresupuestosObraTIEMPORETENCION = 'TIEMPORETENCION';
  fld_PresupuestosObraIMPORTERETENCION = 'IMPORTERETENCION';
  fld_PresupuestosObraNOMBRE = 'NOMBRE';

  { PresupuestosObra field indexes }
  idx_PresupuestosObraCODIGO = 0;
  idx_PresupuestosObraCODIGOOBRA = 1;
  idx_PresupuestosObraCODIGOCONTACTO = 2;
  idx_PresupuestosObraFECHAALTA = 3;
  idx_PresupuestosObraUSUARIO = 4;
  idx_PresupuestosObraFECHA = 5;
  idx_PresupuestosObraCLASE = 6;
  idx_PresupuestosObraACEPTADO = 7;
  idx_PresupuestosObraTIPO = 8;
  idx_PresupuestosObraDESCRIPCION = 9;
  idx_PresupuestosObraPRESUPUESTOINICIAL = 10;
  idx_PresupuestosObraPRESUPUESTOFINAL = 11;
  idx_PresupuestosObraAPLICARETENCION = 12;
  idx_PresupuestosObraRETENCION = 13;
  idx_PresupuestosObraTIEMPORETENCION = 14;
  idx_PresupuestosObraIMPORTERETENCION = 15;
  idx_PresupuestosObraNOMBRE = 16;

  { RefrescoPresupuestosObra fields }
  fld_RefrescoPresupuestosObraCODIGO = 'CODIGO';
  fld_RefrescoPresupuestosObraCODIGOOBRA = 'CODIGOOBRA';
  fld_RefrescoPresupuestosObraCODIGOCONTACTO = 'CODIGOCONTACTO';
  fld_RefrescoPresupuestosObraFECHAALTA = 'FECHAALTA';
  fld_RefrescoPresupuestosObraUSUARIO = 'USUARIO';
  fld_RefrescoPresupuestosObraFECHA = 'FECHA';
  fld_RefrescoPresupuestosObraCLASE = 'CLASE';
  fld_RefrescoPresupuestosObraACEPTADO = 'ACEPTADO';
  fld_RefrescoPresupuestosObraTIPO = 'TIPO';
  fld_RefrescoPresupuestosObraDESCRIPCION = 'DESCRIPCION';
  fld_RefrescoPresupuestosObraPRESUPUESTOINICIAL = 'PRESUPUESTOINICIAL';
  fld_RefrescoPresupuestosObraPRESUPUESTOFINAL = 'PRESUPUESTOFINAL';
  fld_RefrescoPresupuestosObraAPLICARETENCION = 'APLICARETENCION';
  fld_RefrescoPresupuestosObraRETENCION = 'RETENCION';
  fld_RefrescoPresupuestosObraTIEMPORETENCION = 'TIEMPORETENCION';
  fld_RefrescoPresupuestosObraIMPORTERETENCION = 'IMPORTERETENCION';
  fld_RefrescoPresupuestosObraNOMBRE = 'NOMBRE';

  { RefrescoPresupuestosObra field indexes }
  idx_RefrescoPresupuestosObraCODIGO = 0;
  idx_RefrescoPresupuestosObraCODIGOOBRA = 1;
  idx_RefrescoPresupuestosObraCODIGOCONTACTO = 2;
  idx_RefrescoPresupuestosObraFECHAALTA = 3;
  idx_RefrescoPresupuestosObraUSUARIO = 4;
  idx_RefrescoPresupuestosObraFECHA = 5;
  idx_RefrescoPresupuestosObraCLASE = 6;
  idx_RefrescoPresupuestosObraACEPTADO = 7;
  idx_RefrescoPresupuestosObraTIPO = 8;
  idx_RefrescoPresupuestosObraDESCRIPCION = 9;
  idx_RefrescoPresupuestosObraPRESUPUESTOINICIAL = 10;
  idx_RefrescoPresupuestosObraPRESUPUESTOFINAL = 11;
  idx_RefrescoPresupuestosObraAPLICARETENCION = 12;
  idx_RefrescoPresupuestosObraRETENCION = 13;
  idx_RefrescoPresupuestosObraTIEMPORETENCION = 14;
  idx_RefrescoPresupuestosObraIMPORTERETENCION = 15;
  idx_RefrescoPresupuestosObraNOMBRE = 16;

  { ProyectosObra fields }
  fld_ProyectosObraCODIGO = 'CODIGO';
  fld_ProyectosObraCODIGOOBRA = 'CODIGOOBRA';
  fld_ProyectosObraDESCRIPCION = 'DESCRIPCION';
  fld_ProyectosObraTIPO = 'TIPO';
  fld_ProyectosObraTERMINADO = 'TERMINADO';

  { ProyectosObra field indexes }
  idx_ProyectosObraCODIGO = 0;
  idx_ProyectosObraCODIGOOBRA = 1;
  idx_ProyectosObraDESCRIPCION = 2;
  idx_ProyectosObraTIPO = 3;
  idx_ProyectosObraTERMINADO = 4;

type
  { IObras }
  IObras = interface(IDAStronglyTypedDataTable)
  ['{11724F77-5BBA-4824-B876-F8C629A90253}']
    { Property getters and setters }
    function GetCODIGOEMPRESAValue: Integer;
    procedure SetCODIGOEMPRESAValue(const aValue: Integer);
    function GetCODIGOValue: Integer;
    procedure SetCODIGOValue(const aValue: Integer);
    function GetFECHAALTAValue: DateTime;
    procedure SetFECHAALTAValue(const aValue: DateTime);
    function GetUSUARIOValue: String;
    procedure SetUSUARIOValue(const aValue: String);
    function GetNOMBREValue: String;
    procedure SetNOMBREValue(const aValue: String);
    function GetFECHAINIOBRValue: DateTime;
    procedure SetFECHAINIOBRValue(const aValue: DateTime);
    function GetFECHAFINOBRValue: DateTime;
    procedure SetFECHAFINOBRValue(const aValue: DateTime);
    function GetCALLEValue: String;
    procedure SetCALLEValue(const aValue: String);
    function GetCODIGOPOSTALValue: String;
    procedure SetCODIGOPOSTALValue(const aValue: String);
    function GetPOBLACIONValue: String;
    procedure SetPOBLACIONValue(const aValue: String);
    function GetPROVINCIAValue: String;
    procedure SetPROVINCIAValue(const aValue: String);
    function GetTIPOValue: String;
    procedure SetTIPOValue(const aValue: String);
    function GetDIMENSIONESValue: Integer;
    procedure SetDIMENSIONESValue(const aValue: Integer);
    function GetHONORARIOSValue: Float;
    procedure SetHONORARIOSValue(const aValue: Float);
    function GetIMPORTEHONORARIOSValue: Currency;
    procedure SetIMPORTEHONORARIOSValue(const aValue: Currency);
    function GetAPLICAHONORARIOSValue: String;
    procedure SetAPLICAHONORARIOSValue(const aValue: String);
    function GetTOTALPRESUPUESTOSINIValue: Currency;
    procedure SetTOTALPRESUPUESTOSINIValue(const aValue: Currency);
    function GetTOTALPRESUPUESTOSFINValue: Currency;
    procedure SetTOTALPRESUPUESTOSFINValue(const aValue: Currency);
    function GetCODIGOCONTACTOValue: Integer;
    procedure SetCODIGOCONTACTOValue(const aValue: Integer);
    function GetNOMBRECLIENTEValue: String;
    procedure SetNOMBRECLIENTEValue(const aValue: String);


    { Properties }
    property CODIGOEMPRESA: Integer read GetCODIGOEMPRESAValue write SetCODIGOEMPRESAValue;
    property CODIGO: Integer read GetCODIGOValue write SetCODIGOValue;
    property FECHAALTA: DateTime read GetFECHAALTAValue write SetFECHAALTAValue;
    property USUARIO: String read GetUSUARIOValue write SetUSUARIOValue;
    property NOMBRE: String read GetNOMBREValue write SetNOMBREValue;
    property FECHAINIOBR: DateTime read GetFECHAINIOBRValue write SetFECHAINIOBRValue;
    property FECHAFINOBR: DateTime read GetFECHAFINOBRValue write SetFECHAFINOBRValue;
    property CALLE: String read GetCALLEValue write SetCALLEValue;
    property CODIGOPOSTAL: String read GetCODIGOPOSTALValue write SetCODIGOPOSTALValue;
    property POBLACION: String read GetPOBLACIONValue write SetPOBLACIONValue;
    property PROVINCIA: String read GetPROVINCIAValue write SetPROVINCIAValue;
    property TIPO: String read GetTIPOValue write SetTIPOValue;
    property DIMENSIONES: Integer read GetDIMENSIONESValue write SetDIMENSIONESValue;
    property HONORARIOS: Float read GetHONORARIOSValue write SetHONORARIOSValue;
    property IMPORTEHONORARIOS: Currency read GetIMPORTEHONORARIOSValue write SetIMPORTEHONORARIOSValue;
    property APLICAHONORARIOS: String read GetAPLICAHONORARIOSValue write SetAPLICAHONORARIOSValue;
    property TOTALPRESUPUESTOSINI: Currency read GetTOTALPRESUPUESTOSINIValue write SetTOTALPRESUPUESTOSINIValue;
    property TOTALPRESUPUESTOSFIN: Currency read GetTOTALPRESUPUESTOSFINValue write SetTOTALPRESUPUESTOSFINValue;
    property CODIGOCONTACTO: Integer read GetCODIGOCONTACTOValue write SetCODIGOCONTACTOValue;
    property NOMBRECLIENTE: String read GetNOMBRECLIENTEValue write SetNOMBRECLIENTEValue;
  end;

  { TObrasDataTableRules }
  TObrasDataTableRules = class(TDADataTableRules, IObras)
  private
  protected
    { Property getters and setters }
    function GetCODIGOEMPRESAValue: Integer; virtual;
    procedure SetCODIGOEMPRESAValue(const aValue: Integer); virtual;
    function GetCODIGOValue: Integer; virtual;
    procedure SetCODIGOValue(const aValue: Integer); virtual;
    function GetFECHAALTAValue: DateTime; virtual;
    procedure SetFECHAALTAValue(const aValue: DateTime); virtual;
    function GetUSUARIOValue: String; virtual;
    procedure SetUSUARIOValue(const aValue: String); virtual;
    function GetNOMBREValue: String; virtual;
    procedure SetNOMBREValue(const aValue: String); virtual;
    function GetFECHAINIOBRValue: DateTime; virtual;
    procedure SetFECHAINIOBRValue(const aValue: DateTime); virtual;
    function GetFECHAFINOBRValue: DateTime; virtual;
    procedure SetFECHAFINOBRValue(const aValue: DateTime); virtual;
    function GetCALLEValue: String; virtual;
    procedure SetCALLEValue(const aValue: String); virtual;
    function GetCODIGOPOSTALValue: String; virtual;
    procedure SetCODIGOPOSTALValue(const aValue: String); virtual;
    function GetPOBLACIONValue: String; virtual;
    procedure SetPOBLACIONValue(const aValue: String); virtual;
    function GetPROVINCIAValue: String; virtual;
    procedure SetPROVINCIAValue(const aValue: String); virtual;
    function GetTIPOValue: String; virtual;
    procedure SetTIPOValue(const aValue: String); virtual;
    function GetDIMENSIONESValue: Integer; virtual;
    procedure SetDIMENSIONESValue(const aValue: Integer); virtual;
    function GetHONORARIOSValue: Float; virtual;
    procedure SetHONORARIOSValue(const aValue: Float); virtual;
    function GetIMPORTEHONORARIOSValue: Currency; virtual;
    procedure SetIMPORTEHONORARIOSValue(const aValue: Currency); virtual;
    function GetAPLICAHONORARIOSValue: String; virtual;
    procedure SetAPLICAHONORARIOSValue(const aValue: String); virtual;
    function GetTOTALPRESUPUESTOSINIValue: Currency; virtual;
    procedure SetTOTALPRESUPUESTOSINIValue(const aValue: Currency); virtual;
    function GetTOTALPRESUPUESTOSFINValue: Currency; virtual;
    procedure SetTOTALPRESUPUESTOSFINValue(const aValue: Currency); virtual;
    function GetCODIGOCONTACTOValue: Integer; virtual;
    procedure SetCODIGOCONTACTOValue(const aValue: Integer); virtual;
    function GetNOMBRECLIENTEValue: String; virtual;
    procedure SetNOMBRECLIENTEValue(const aValue: String); virtual;

    { Properties }
    property CODIGOEMPRESA: Integer read GetCODIGOEMPRESAValue write SetCODIGOEMPRESAValue;
    property CODIGO: Integer read GetCODIGOValue write SetCODIGOValue;
    property FECHAALTA: DateTime read GetFECHAALTAValue write SetFECHAALTAValue;
    property USUARIO: String read GetUSUARIOValue write SetUSUARIOValue;
    property NOMBRE: String read GetNOMBREValue write SetNOMBREValue;
    property FECHAINIOBR: DateTime read GetFECHAINIOBRValue write SetFECHAINIOBRValue;
    property FECHAFINOBR: DateTime read GetFECHAFINOBRValue write SetFECHAFINOBRValue;
    property CALLE: String read GetCALLEValue write SetCALLEValue;
    property CODIGOPOSTAL: String read GetCODIGOPOSTALValue write SetCODIGOPOSTALValue;
    property POBLACION: String read GetPOBLACIONValue write SetPOBLACIONValue;
    property PROVINCIA: String read GetPROVINCIAValue write SetPROVINCIAValue;
    property TIPO: String read GetTIPOValue write SetTIPOValue;
    property DIMENSIONES: Integer read GetDIMENSIONESValue write SetDIMENSIONESValue;
    property HONORARIOS: Float read GetHONORARIOSValue write SetHONORARIOSValue;
    property IMPORTEHONORARIOS: Currency read GetIMPORTEHONORARIOSValue write SetIMPORTEHONORARIOSValue;
    property APLICAHONORARIOS: String read GetAPLICAHONORARIOSValue write SetAPLICAHONORARIOSValue;
    property TOTALPRESUPUESTOSINI: Currency read GetTOTALPRESUPUESTOSINIValue write SetTOTALPRESUPUESTOSINIValue;
    property TOTALPRESUPUESTOSFIN: Currency read GetTOTALPRESUPUESTOSFINValue write SetTOTALPRESUPUESTOSFINValue;
    property CODIGOCONTACTO: Integer read GetCODIGOCONTACTOValue write SetCODIGOCONTACTOValue;
    property NOMBRECLIENTE: String read GetNOMBRECLIENTEValue write SetNOMBRECLIENTEValue;

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

  end;

  { IContactosObra }
  IContactosObra = interface(IDAStronglyTypedDataTable)
  ['{8693821E-2CD3-4DEA-BE72-42455259F4BF}']
    { Property getters and setters }
    function GetCODIGOOBRAValue: Integer;
    procedure SetCODIGOOBRAValue(const aValue: Integer);
    function GetCODIGOCONTACTOValue: Integer;
    procedure SetCODIGOCONTACTOValue(const aValue: Integer);
    function GetNOMBREValue: String;
    procedure SetNOMBREValue(const aValue: String);
    function GetCATEGORIASValue: String;
    procedure SetCATEGORIASValue(const aValue: String);


    { Properties }
    property CODIGOOBRA: Integer read GetCODIGOOBRAValue write SetCODIGOOBRAValue;
    property CODIGOCONTACTO: Integer read GetCODIGOCONTACTOValue write SetCODIGOCONTACTOValue;
    property NOMBRE: String read GetNOMBREValue write SetNOMBREValue;
    property CATEGORIAS: String read GetCATEGORIASValue write SetCATEGORIASValue;
  end;

  { TContactosObraDataTableRules }
  TContactosObraDataTableRules = class(TDADataTableRules, IContactosObra)
  private
  protected
    { Property getters and setters }
    function GetCODIGOOBRAValue: Integer; virtual;
    procedure SetCODIGOOBRAValue(const aValue: Integer); virtual;
    function GetCODIGOCONTACTOValue: Integer; virtual;
    procedure SetCODIGOCONTACTOValue(const aValue: Integer); virtual;
    function GetNOMBREValue: String; virtual;
    procedure SetNOMBREValue(const aValue: String); virtual;
    function GetCATEGORIASValue: String; virtual;
    procedure SetCATEGORIASValue(const aValue: String); virtual;

    { Properties }
    property CODIGOOBRA: Integer read GetCODIGOOBRAValue write SetCODIGOOBRAValue;
    property CODIGOCONTACTO: Integer read GetCODIGOCONTACTOValue write SetCODIGOCONTACTOValue;
    property NOMBRE: String read GetNOMBREValue write SetNOMBREValue;
    property CATEGORIAS: String read GetCATEGORIASValue write SetCATEGORIASValue;

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

  end;

  { IRefrescoContactosObra }
  IRefrescoContactosObra = interface(IDAStronglyTypedDataTable)
  ['{D5F7B06F-EA4B-4A73-9170-0E08622685E9}']
    { Property getters and setters }
    function GetCODIGOOBRAValue: Integer;
    procedure SetCODIGOOBRAValue(const aValue: Integer);
    function GetCODIGOCONTACTOValue: Integer;
    procedure SetCODIGOCONTACTOValue(const aValue: Integer);
    function GetNOMBREValue: String;
    procedure SetNOMBREValue(const aValue: String);
    function GetCATEGORIASValue: String;
    procedure SetCATEGORIASValue(const aValue: String);


    { Properties }
    property CODIGOOBRA: Integer read GetCODIGOOBRAValue write SetCODIGOOBRAValue;
    property CODIGOCONTACTO: Integer read GetCODIGOCONTACTOValue write SetCODIGOCONTACTOValue;
    property NOMBRE: String read GetNOMBREValue write SetNOMBREValue;
    property CATEGORIAS: String read GetCATEGORIASValue write SetCATEGORIASValue;
  end;

  { TRefrescoContactosObraDataTableRules }
  TRefrescoContactosObraDataTableRules = class(TDADataTableRules, IRefrescoContactosObra)
  private
  protected
    { Property getters and setters }
    function GetCODIGOOBRAValue: Integer; virtual;
    procedure SetCODIGOOBRAValue(const aValue: Integer); virtual;
    function GetCODIGOCONTACTOValue: Integer; virtual;
    procedure SetCODIGOCONTACTOValue(const aValue: Integer); virtual;
    function GetNOMBREValue: String; virtual;
    procedure SetNOMBREValue(const aValue: String); virtual;
    function GetCATEGORIASValue: String; virtual;
    procedure SetCATEGORIASValue(const aValue: String); virtual;

    { Properties }
    property CODIGOOBRA: Integer read GetCODIGOOBRAValue write SetCODIGOOBRAValue;
    property CODIGOCONTACTO: Integer read GetCODIGOCONTACTOValue write SetCODIGOCONTACTOValue;
    property NOMBRE: String read GetNOMBREValue write SetNOMBREValue;
    property CATEGORIAS: String read GetCATEGORIASValue write SetCATEGORIASValue;

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

  end;

  { IRefrescoObras }
  IRefrescoObras = interface(IDAStronglyTypedDataTable)
  ['{4257F5D3-7582-44F1-A649-5B7D27B2B031}']
    { Property getters and setters }
    function GetCODIGOValue: Integer;
    procedure SetCODIGOValue(const aValue: Integer);
    function GetNOMBRECLIENTEValue: String;
    procedure SetNOMBRECLIENTEValue(const aValue: String);


    { Properties }
    property CODIGO: Integer read GetCODIGOValue write SetCODIGOValue;
    property NOMBRECLIENTE: String read GetNOMBRECLIENTEValue write SetNOMBRECLIENTEValue;
  end;

  { TRefrescoObrasDataTableRules }
  TRefrescoObrasDataTableRules = class(TDADataTableRules, IRefrescoObras)
  private
  protected
    { Property getters and setters }
    function GetCODIGOValue: Integer; virtual;
    procedure SetCODIGOValue(const aValue: Integer); virtual;
    function GetNOMBRECLIENTEValue: String; virtual;
    procedure SetNOMBRECLIENTEValue(const aValue: String); virtual;

    { Properties }
    property CODIGO: Integer read GetCODIGOValue write SetCODIGOValue;
    property NOMBRECLIENTE: String read GetNOMBRECLIENTEValue write SetNOMBRECLIENTEValue;

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

  end;

  { IPresupuestosObra }
  IPresupuestosObra = interface(IDAStronglyTypedDataTable)
  ['{AAFE306D-A230-46AE-86D2-F86863330430}']
    { Property getters and setters }
    function GetCODIGOValue: Integer;
    procedure SetCODIGOValue(const aValue: Integer);
    function GetCODIGOOBRAValue: Integer;
    procedure SetCODIGOOBRAValue(const aValue: Integer);
    function GetCODIGOCONTACTOValue: Integer;
    procedure SetCODIGOCONTACTOValue(const aValue: Integer);
    function GetFECHAALTAValue: DateTime;
    procedure SetFECHAALTAValue(const aValue: DateTime);
    function GetUSUARIOValue: String;
    procedure SetUSUARIOValue(const aValue: String);
    function GetFECHAValue: DateTime;
    procedure SetFECHAValue(const aValue: DateTime);
    function GetCLASEValue: String;
    procedure SetCLASEValue(const aValue: String);
    function GetACEPTADOValue: Integer;
    procedure SetACEPTADOValue(const aValue: Integer);
    function GetTIPOValue: String;
    procedure SetTIPOValue(const aValue: String);
    function GetDESCRIPCIONValue: String;
    procedure SetDESCRIPCIONValue(const aValue: String);
    function GetPRESUPUESTOINICIALValue: Currency;
    procedure SetPRESUPUESTOINICIALValue(const aValue: Currency);
    function GetPRESUPUESTOFINALValue: Currency;
    procedure SetPRESUPUESTOFINALValue(const aValue: Currency);
    function GetAPLICARETENCIONValue: Integer;
    procedure SetAPLICARETENCIONValue(const aValue: Integer);
    function GetRETENCIONValue: Float;
    procedure SetRETENCIONValue(const aValue: Float);
    function GetTIEMPORETENCIONValue: String;
    procedure SetTIEMPORETENCIONValue(const aValue: String);
    function GetIMPORTERETENCIONValue: Currency;
    procedure SetIMPORTERETENCIONValue(const aValue: Currency);
    function GetNOMBREValue: String;
    procedure SetNOMBREValue(const aValue: String);


    { Properties }
    property CODIGO: Integer read GetCODIGOValue write SetCODIGOValue;
    property CODIGOOBRA: Integer read GetCODIGOOBRAValue write SetCODIGOOBRAValue;
    property CODIGOCONTACTO: Integer read GetCODIGOCONTACTOValue write SetCODIGOCONTACTOValue;
    property FECHAALTA: DateTime read GetFECHAALTAValue write SetFECHAALTAValue;
    property USUARIO: String read GetUSUARIOValue write SetUSUARIOValue;
    property FECHA: DateTime read GetFECHAValue write SetFECHAValue;
    property CLASE: String read GetCLASEValue write SetCLASEValue;
    property ACEPTADO: Integer read GetACEPTADOValue write SetACEPTADOValue;
    property TIPO: String read GetTIPOValue write SetTIPOValue;
    property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue;
    property PRESUPUESTOINICIAL: Currency read GetPRESUPUESTOINICIALValue write SetPRESUPUESTOINICIALValue;
    property PRESUPUESTOFINAL: Currency read GetPRESUPUESTOFINALValue write SetPRESUPUESTOFINALValue;
    property APLICARETENCION: Integer read GetAPLICARETENCIONValue write SetAPLICARETENCIONValue;
    property RETENCION: Float read GetRETENCIONValue write SetRETENCIONValue;
    property TIEMPORETENCION: String read GetTIEMPORETENCIONValue write SetTIEMPORETENCIONValue;
    property IMPORTERETENCION: Currency read GetIMPORTERETENCIONValue write SetIMPORTERETENCIONValue;
    property NOMBRE: String read GetNOMBREValue write SetNOMBREValue;
  end;

  { TPresupuestosObraDataTableRules }
  TPresupuestosObraDataTableRules = class(TDADataTableRules, IPresupuestosObra)
  private
  protected
    { Property getters and setters }
    function GetCODIGOValue: Integer; virtual;
    procedure SetCODIGOValue(const aValue: Integer); virtual;
    function GetCODIGOOBRAValue: Integer; virtual;
    procedure SetCODIGOOBRAValue(const aValue: Integer); virtual;
    function GetCODIGOCONTACTOValue: Integer; virtual;
    procedure SetCODIGOCONTACTOValue(const aValue: Integer); virtual;
    function GetFECHAALTAValue: DateTime; virtual;
    procedure SetFECHAALTAValue(const aValue: DateTime); virtual;
    function GetUSUARIOValue: String; virtual;
    procedure SetUSUARIOValue(const aValue: String); virtual;
    function GetFECHAValue: DateTime; virtual;
    procedure SetFECHAValue(const aValue: DateTime); virtual;
    function GetCLASEValue: String; virtual;
    procedure SetCLASEValue(const aValue: String); virtual;
    function GetACEPTADOValue: Integer; virtual;
    procedure SetACEPTADOValue(const aValue: Integer); virtual;
    function GetTIPOValue: String; virtual;
    procedure SetTIPOValue(const aValue: String); virtual;
    function GetDESCRIPCIONValue: String; virtual;
    procedure SetDESCRIPCIONValue(const aValue: String); virtual;
    function GetPRESUPUESTOINICIALValue: Currency; virtual;
    procedure SetPRESUPUESTOINICIALValue(const aValue: Currency); virtual;
    function GetPRESUPUESTOFINALValue: Currency; virtual;
    procedure SetPRESUPUESTOFINALValue(const aValue: Currency); virtual;
    function GetAPLICARETENCIONValue: Integer; virtual;
    procedure SetAPLICARETENCIONValue(const aValue: Integer); virtual;
    function GetRETENCIONValue: Float; virtual;
    procedure SetRETENCIONValue(const aValue: Float); virtual;
    function GetTIEMPORETENCIONValue: String; virtual;
    procedure SetTIEMPORETENCIONValue(const aValue: String); virtual;
    function GetIMPORTERETENCIONValue: Currency; virtual;
    procedure SetIMPORTERETENCIONValue(const aValue: Currency); virtual;
    function GetNOMBREValue: String; virtual;
    procedure SetNOMBREValue(const aValue: String); virtual;

    { Properties }
    property CODIGO: Integer read GetCODIGOValue write SetCODIGOValue;
    property CODIGOOBRA: Integer read GetCODIGOOBRAValue write SetCODIGOOBRAValue;
    property CODIGOCONTACTO: Integer read GetCODIGOCONTACTOValue write SetCODIGOCONTACTOValue;
    property FECHAALTA: DateTime read GetFECHAALTAValue write SetFECHAALTAValue;
    property USUARIO: String read GetUSUARIOValue write SetUSUARIOValue;
    property FECHA: DateTime read GetFECHAValue write SetFECHAValue;
    property CLASE: String read GetCLASEValue write SetCLASEValue;
    property ACEPTADO: Integer read GetACEPTADOValue write SetACEPTADOValue;
    property TIPO: String read GetTIPOValue write SetTIPOValue;
    property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue;
    property PRESUPUESTOINICIAL: Currency read GetPRESUPUESTOINICIALValue write SetPRESUPUESTOINICIALValue;
    property PRESUPUESTOFINAL: Currency read GetPRESUPUESTOFINALValue write SetPRESUPUESTOFINALValue;
    property APLICARETENCION: Integer read GetAPLICARETENCIONValue write SetAPLICARETENCIONValue;
    property RETENCION: Float read GetRETENCIONValue write SetRETENCIONValue;
    property TIEMPORETENCION: String read GetTIEMPORETENCIONValue write SetTIEMPORETENCIONValue;
    property IMPORTERETENCION: Currency read GetIMPORTERETENCIONValue write SetIMPORTERETENCIONValue;
    property NOMBRE: String read GetNOMBREValue write SetNOMBREValue;

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

  end;

  { IRefrescoPresupuestosObra }
  IRefrescoPresupuestosObra = interface(IDAStronglyTypedDataTable)
  ['{CEC1959F-CCB7-4497-B3BE-2E5BCF0CC1C1}']
    { Property getters and setters }
    function GetCODIGOValue: Integer;
    procedure SetCODIGOValue(const aValue: Integer);
    function GetCODIGOOBRAValue: Integer;
    procedure SetCODIGOOBRAValue(const aValue: Integer);
    function GetCODIGOCONTACTOValue: Integer;
    procedure SetCODIGOCONTACTOValue(const aValue: Integer);
    function GetFECHAALTAValue: DateTime;
    procedure SetFECHAALTAValue(const aValue: DateTime);
    function GetUSUARIOValue: String;
    procedure SetUSUARIOValue(const aValue: String);
    function GetFECHAValue: DateTime;
    procedure SetFECHAValue(const aValue: DateTime);
    function GetCLASEValue: String;
    procedure SetCLASEValue(const aValue: String);
    function GetACEPTADOValue: String;
    procedure SetACEPTADOValue(const aValue: String);
    function GetTIPOValue: String;
    procedure SetTIPOValue(const aValue: String);
    function GetDESCRIPCIONValue: String;
    procedure SetDESCRIPCIONValue(const aValue: String);
    function GetPRESUPUESTOINICIALValue: Float;
    procedure SetPRESUPUESTOINICIALValue(const aValue: Float);
    function GetPRESUPUESTOFINALValue: Float;
    procedure SetPRESUPUESTOFINALValue(const aValue: Float);
    function GetAPLICARETENCIONValue: String;
    procedure SetAPLICARETENCIONValue(const aValue: String);
    function GetRETENCIONValue: Float;
    procedure SetRETENCIONValue(const aValue: Float);
    function GetTIEMPORETENCIONValue: String;
    procedure SetTIEMPORETENCIONValue(const aValue: String);
    function GetIMPORTERETENCIONValue: Float;
    procedure SetIMPORTERETENCIONValue(const aValue: Float);
    function GetNOMBREValue: String;
    procedure SetNOMBREValue(const aValue: String);


    { Properties }
    property CODIGO: Integer read GetCODIGOValue write SetCODIGOValue;
    property CODIGOOBRA: Integer read GetCODIGOOBRAValue write SetCODIGOOBRAValue;
    property CODIGOCONTACTO: Integer read GetCODIGOCONTACTOValue write SetCODIGOCONTACTOValue;
    property FECHAALTA: DateTime read GetFECHAALTAValue write SetFECHAALTAValue;
    property USUARIO: String read GetUSUARIOValue write SetUSUARIOValue;
    property FECHA: DateTime read GetFECHAValue write SetFECHAValue;
    property CLASE: String read GetCLASEValue write SetCLASEValue;
    property ACEPTADO: String read GetACEPTADOValue write SetACEPTADOValue;
    property TIPO: String read GetTIPOValue write SetTIPOValue;
    property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue;
    property PRESUPUESTOINICIAL: Float read GetPRESUPUESTOINICIALValue write SetPRESUPUESTOINICIALValue;
    property PRESUPUESTOFINAL: Float read GetPRESUPUESTOFINALValue write SetPRESUPUESTOFINALValue;
    property APLICARETENCION: String read GetAPLICARETENCIONValue write SetAPLICARETENCIONValue;
    property RETENCION: Float read GetRETENCIONValue write SetRETENCIONValue;
    property TIEMPORETENCION: String read GetTIEMPORETENCIONValue write SetTIEMPORETENCIONValue;
    property IMPORTERETENCION: Float read GetIMPORTERETENCIONValue write SetIMPORTERETENCIONValue;
    property NOMBRE: String read GetNOMBREValue write SetNOMBREValue;
  end;

  { TRefrescoPresupuestosObraDataTableRules }
  TRefrescoPresupuestosObraDataTableRules = class(TDADataTableRules, IRefrescoPresupuestosObra)
  private
  protected
    { Property getters and setters }
    function GetCODIGOValue: Integer; virtual;
    procedure SetCODIGOValue(const aValue: Integer); virtual;
    function GetCODIGOOBRAValue: Integer; virtual;
    procedure SetCODIGOOBRAValue(const aValue: Integer); virtual;
    function GetCODIGOCONTACTOValue: Integer; virtual;
    procedure SetCODIGOCONTACTOValue(const aValue: Integer); virtual;
    function GetFECHAALTAValue: DateTime; virtual;
    procedure SetFECHAALTAValue(const aValue: DateTime); virtual;
    function GetUSUARIOValue: String; virtual;
    procedure SetUSUARIOValue(const aValue: String); virtual;
    function GetFECHAValue: DateTime; virtual;
    procedure SetFECHAValue(const aValue: DateTime); virtual;
    function GetCLASEValue: String; virtual;
    procedure SetCLASEValue(const aValue: String); virtual;
    function GetACEPTADOValue: String; virtual;
    procedure SetACEPTADOValue(const aValue: String); virtual;
    function GetTIPOValue: String; virtual;
    procedure SetTIPOValue(const aValue: String); virtual;
    function GetDESCRIPCIONValue: String; virtual;
    procedure SetDESCRIPCIONValue(const aValue: String); virtual;
    function GetPRESUPUESTOINICIALValue: Float; virtual;
    procedure SetPRESUPUESTOINICIALValue(const aValue: Float); virtual;
    function GetPRESUPUESTOFINALValue: Float; virtual;
    procedure SetPRESUPUESTOFINALValue(const aValue: Float); virtual;
    function GetAPLICARETENCIONValue: String; virtual;
    procedure SetAPLICARETENCIONValue(const aValue: String); virtual;
    function GetRETENCIONValue: Float; virtual;
    procedure SetRETENCIONValue(const aValue: Float); virtual;
    function GetTIEMPORETENCIONValue: String; virtual;
    procedure SetTIEMPORETENCIONValue(const aValue: String); virtual;
    function GetIMPORTERETENCIONValue: Float; virtual;
    procedure SetIMPORTERETENCIONValue(const aValue: Float); virtual;
    function GetNOMBREValue: String; virtual;
    procedure SetNOMBREValue(const aValue: String); virtual;

    { Properties }
    property CODIGO: Integer read GetCODIGOValue write SetCODIGOValue;
    property CODIGOOBRA: Integer read GetCODIGOOBRAValue write SetCODIGOOBRAValue;
    property CODIGOCONTACTO: Integer read GetCODIGOCONTACTOValue write SetCODIGOCONTACTOValue;
    property FECHAALTA: DateTime read GetFECHAALTAValue write SetFECHAALTAValue;
    property USUARIO: String read GetUSUARIOValue write SetUSUARIOValue;
    property FECHA: DateTime read GetFECHAValue write SetFECHAValue;
    property CLASE: String read GetCLASEValue write SetCLASEValue;
    property ACEPTADO: String read GetACEPTADOValue write SetACEPTADOValue;
    property TIPO: String read GetTIPOValue write SetTIPOValue;
    property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue;
    property PRESUPUESTOINICIAL: Float read GetPRESUPUESTOINICIALValue write SetPRESUPUESTOINICIALValue;
    property PRESUPUESTOFINAL: Float read GetPRESUPUESTOFINALValue write SetPRESUPUESTOFINALValue;
    property APLICARETENCION: String read GetAPLICARETENCIONValue write SetAPLICARETENCIONValue;
    property RETENCION: Float read GetRETENCIONValue write SetRETENCIONValue;
    property TIEMPORETENCION: String read GetTIEMPORETENCIONValue write SetTIEMPORETENCIONValue;
    property IMPORTERETENCION: Float read GetIMPORTERETENCIONValue write SetIMPORTERETENCIONValue;
    property NOMBRE: String read GetNOMBREValue write SetNOMBREValue;

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

  end;

  { IProyectosObra }
  IProyectosObra = interface(IDAStronglyTypedDataTable)
  ['{3AA08C2F-00D8-4780-9B14-9C59B42CC7EF}']
    { Property getters and setters }
    function GetCODIGOValue: Integer;
    procedure SetCODIGOValue(const aValue: Integer);
    function GetCODIGOOBRAValue: Integer;
    procedure SetCODIGOOBRAValue(const aValue: Integer);
    function GetDESCRIPCIONValue: String;
    procedure SetDESCRIPCIONValue(const aValue: String);
    function GetTIPOValue: String;
    procedure SetTIPOValue(const aValue: String);
    function GetTERMINADOValue: Integer;
    procedure SetTERMINADOValue(const aValue: Integer);


    { Properties }
    property CODIGO: Integer read GetCODIGOValue write SetCODIGOValue;
    property CODIGOOBRA: Integer read GetCODIGOOBRAValue write SetCODIGOOBRAValue;
    property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue;
    property TIPO: String read GetTIPOValue write SetTIPOValue;
    property TERMINADO: Integer read GetTERMINADOValue write SetTERMINADOValue;
  end;

  { TProyectosObraDataTableRules }
  TProyectosObraDataTableRules = class(TDADataTableRules, IProyectosObra)
  private
  protected
    { Property getters and setters }
    function GetCODIGOValue: Integer; virtual;
    procedure SetCODIGOValue(const aValue: Integer); virtual;
    function GetCODIGOOBRAValue: Integer; virtual;
    procedure SetCODIGOOBRAValue(const aValue: Integer); virtual;
    function GetDESCRIPCIONValue: String; virtual;
    procedure SetDESCRIPCIONValue(const aValue: String); virtual;
    function GetTIPOValue: String; virtual;
    procedure SetTIPOValue(const aValue: String); virtual;
    function GetTERMINADOValue: Integer; virtual;
    procedure SetTERMINADOValue(const aValue: Integer); virtual;

    { Properties }
    property CODIGO: Integer read GetCODIGOValue write SetCODIGOValue;
    property CODIGOOBRA: Integer read GetCODIGOOBRAValue write SetCODIGOOBRAValue;
    property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue;
    property TIPO: String read GetTIPOValue write SetTIPOValue;
    property TERMINADO: Integer read GetTERMINADOValue write SetTERMINADOValue;

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

  end;

implementation

uses Variants;

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

destructor TObrasDataTableRules.Destroy;
begin
  inherited;
end;

function TObrasDataTableRules.GetCODIGOEMPRESAValue: Integer;
begin
  result := DataTable.Fields[idx_ObrasCODIGOEMPRESA].AsInteger;
end;

procedure TObrasDataTableRules.SetCODIGOEMPRESAValue(const aValue: Integer);
begin
  DataTable.Fields[idx_ObrasCODIGOEMPRESA].AsInteger := aValue;
end;

function TObrasDataTableRules.GetCODIGOValue: Integer;
begin
  result := DataTable.Fields[idx_ObrasCODIGO].AsInteger;
end;

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

function TObrasDataTableRules.GetFECHAALTAValue: DateTime;
begin
  result := DataTable.Fields[idx_ObrasFECHAALTA].AsDateTime;
end;

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

function TObrasDataTableRules.GetUSUARIOValue: String;
begin
  result := DataTable.Fields[idx_ObrasUSUARIO].AsString;
end;

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

function TObrasDataTableRules.GetNOMBREValue: String;
begin
  result := DataTable.Fields[idx_ObrasNOMBRE].AsString;
end;

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

function TObrasDataTableRules.GetFECHAINIOBRValue: DateTime;
begin
  result := DataTable.Fields[idx_ObrasFECHAINIOBR].AsDateTime;
end;

procedure TObrasDataTableRules.SetFECHAINIOBRValue(const aValue: DateTime);
begin
  DataTable.Fields[idx_ObrasFECHAINIOBR].AsDateTime := aValue;
end;

function TObrasDataTableRules.GetFECHAFINOBRValue: DateTime;
begin
  result := DataTable.Fields[idx_ObrasFECHAFINOBR].AsDateTime;
end;

procedure TObrasDataTableRules.SetFECHAFINOBRValue(const aValue: DateTime);
begin
  DataTable.Fields[idx_ObrasFECHAFINOBR].AsDateTime := aValue;
end;

function TObrasDataTableRules.GetCALLEValue: String;
begin
  result := DataTable.Fields[idx_ObrasCALLE].AsString;
end;

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

function TObrasDataTableRules.GetCODIGOPOSTALValue: String;
begin
  result := DataTable.Fields[idx_ObrasCODIGOPOSTAL].AsString;
end;

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

function TObrasDataTableRules.GetPOBLACIONValue: String;
begin
  result := DataTable.Fields[idx_ObrasPOBLACION].AsString;
end;

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

function TObrasDataTableRules.GetPROVINCIAValue: String;
begin
  result := DataTable.Fields[idx_ObrasPROVINCIA].AsString;
end;

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

function TObrasDataTableRules.GetTIPOValue: String;
begin
  result := DataTable.Fields[idx_ObrasTIPO].AsString;
end;

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

function TObrasDataTableRules.GetDIMENSIONESValue: Integer;
begin
  result := DataTable.Fields[idx_ObrasDIMENSIONES].AsInteger;
end;

procedure TObrasDataTableRules.SetDIMENSIONESValue(const aValue: Integer);
begin
  DataTable.Fields[idx_ObrasDIMENSIONES].AsInteger := aValue;
end;

function TObrasDataTableRules.GetHONORARIOSValue: Float;
begin
  result := DataTable.Fields[idx_ObrasHONORARIOS].AsFloat;
end;

procedure TObrasDataTableRules.SetHONORARIOSValue(const aValue: Float);
begin
  DataTable.Fields[idx_ObrasHONORARIOS].AsFloat := aValue;
end;

function TObrasDataTableRules.GetIMPORTEHONORARIOSValue: Currency;
begin
  result := DataTable.Fields[idx_ObrasIMPORTEHONORARIOS].AsCurrency;
end;

procedure TObrasDataTableRules.SetIMPORTEHONORARIOSValue(const aValue: Currency);
begin
  DataTable.Fields[idx_ObrasIMPORTEHONORARIOS].AsCurrency := aValue;
end;

function TObrasDataTableRules.GetAPLICAHONORARIOSValue: String;
begin
  result := DataTable.Fields[idx_ObrasAPLICAHONORARIOS].AsString;
end;

procedure TObrasDataTableRules.SetAPLICAHONORARIOSValue(const aValue: String);
begin
  DataTable.Fields[idx_ObrasAPLICAHONORARIOS].AsString := aValue;
end;

function TObrasDataTableRules.GetTOTALPRESUPUESTOSINIValue: Currency;
begin
  result := DataTable.Fields[idx_ObrasTOTALPRESUPUESTOSINI].AsCurrency;
end;

procedure TObrasDataTableRules.SetTOTALPRESUPUESTOSINIValue(const aValue: Currency);
begin
  DataTable.Fields[idx_ObrasTOTALPRESUPUESTOSINI].AsCurrency := aValue;
end;

function TObrasDataTableRules.GetTOTALPRESUPUESTOSFINValue: Currency;
begin
  result := DataTable.Fields[idx_ObrasTOTALPRESUPUESTOSFIN].AsCurrency;
end;

procedure TObrasDataTableRules.SetTOTALPRESUPUESTOSFINValue(const aValue: Currency);
begin
  DataTable.Fields[idx_ObrasTOTALPRESUPUESTOSFIN].AsCurrency := aValue;
end;

function TObrasDataTableRules.GetCODIGOCONTACTOValue: Integer;
begin
  result := DataTable.Fields[idx_ObrasCODIGOCONTACTO].AsInteger;
end;

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

function TObrasDataTableRules.GetNOMBRECLIENTEValue: String;
begin
  result := DataTable.Fields[idx_ObrasNOMBRECLIENTE].AsString;
end;

procedure TObrasDataTableRules.SetNOMBRECLIENTEValue(const aValue: String);
begin
  DataTable.Fields[idx_ObrasNOMBRECLIENTE].AsString := aValue;
end;


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

destructor TContactosObraDataTableRules.Destroy;
begin
  inherited;
end;

function TContactosObraDataTableRules.GetCODIGOOBRAValue: Integer;
begin
  result := DataTable.Fields[idx_ContactosObraCODIGOOBRA].AsInteger;
end;

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

function TContactosObraDataTableRules.GetCODIGOCONTACTOValue: Integer;
begin
  result := DataTable.Fields[idx_ContactosObraCODIGOCONTACTO].AsInteger;
end;

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

function TContactosObraDataTableRules.GetNOMBREValue: String;
begin
  result := DataTable.Fields[idx_ContactosObraNOMBRE].AsString;
end;

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

function TContactosObraDataTableRules.GetCATEGORIASValue: String;
begin
  result := DataTable.Fields[idx_ContactosObraCATEGORIAS].AsString;
end;

procedure TContactosObraDataTableRules.SetCATEGORIASValue(const aValue: String);
begin
  DataTable.Fields[idx_ContactosObraCATEGORIAS].AsString := aValue;
end;


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

destructor TRefrescoContactosObraDataTableRules.Destroy;
begin
  inherited;
end;

function TRefrescoContactosObraDataTableRules.GetCODIGOOBRAValue: Integer;
begin
  result := DataTable.Fields[idx_RefrescoContactosObraCODIGOOBRA].AsInteger;
end;

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

function TRefrescoContactosObraDataTableRules.GetCODIGOCONTACTOValue: Integer;
begin
  result := DataTable.Fields[idx_RefrescoContactosObraCODIGOCONTACTO].AsInteger;
end;

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

function TRefrescoContactosObraDataTableRules.GetNOMBREValue: String;
begin
  result := DataTable.Fields[idx_RefrescoContactosObraNOMBRE].AsString;
end;

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

function TRefrescoContactosObraDataTableRules.GetCATEGORIASValue: String;
begin
  result := DataTable.Fields[idx_RefrescoContactosObraCATEGORIAS].AsString;
end;

procedure TRefrescoContactosObraDataTableRules.SetCATEGORIASValue(const aValue: String);
begin
  DataTable.Fields[idx_RefrescoContactosObraCATEGORIAS].AsString := aValue;
end;


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

destructor TRefrescoObrasDataTableRules.Destroy;
begin
  inherited;
end;

function TRefrescoObrasDataTableRules.GetCODIGOValue: Integer;
begin
  result := DataTable.Fields[idx_RefrescoObrasCODIGO].AsInteger;
end;

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

function TRefrescoObrasDataTableRules.GetNOMBRECLIENTEValue: String;
begin
  result := DataTable.Fields[idx_RefrescoObrasNOMBRECLIENTE].AsString;
end;

procedure TRefrescoObrasDataTableRules.SetNOMBRECLIENTEValue(const aValue: String);
begin
  DataTable.Fields[idx_RefrescoObrasNOMBRECLIENTE].AsString := aValue;
end;


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

destructor TPresupuestosObraDataTableRules.Destroy;
begin
  inherited;
end;

function TPresupuestosObraDataTableRules.GetCODIGOValue: Integer;
begin
  result := DataTable.Fields[idx_PresupuestosObraCODIGO].AsInteger;
end;

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

function TPresupuestosObraDataTableRules.GetCODIGOOBRAValue: Integer;
begin
  result := DataTable.Fields[idx_PresupuestosObraCODIGOOBRA].AsInteger;
end;

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

function TPresupuestosObraDataTableRules.GetCODIGOCONTACTOValue: Integer;
begin
  result := DataTable.Fields[idx_PresupuestosObraCODIGOCONTACTO].AsInteger;
end;

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

function TPresupuestosObraDataTableRules.GetFECHAALTAValue: DateTime;
begin
  result := DataTable.Fields[idx_PresupuestosObraFECHAALTA].AsDateTime;
end;

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

function TPresupuestosObraDataTableRules.GetUSUARIOValue: String;
begin
  result := DataTable.Fields[idx_PresupuestosObraUSUARIO].AsString;
end;

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

function TPresupuestosObraDataTableRules.GetFECHAValue: DateTime;
begin
  result := DataTable.Fields[idx_PresupuestosObraFECHA].AsDateTime;
end;

procedure TPresupuestosObraDataTableRules.SetFECHAValue(const aValue: DateTime);
begin
  DataTable.Fields[idx_PresupuestosObraFECHA].AsDateTime := aValue;
end;

function TPresupuestosObraDataTableRules.GetCLASEValue: String;
begin
  result := DataTable.Fields[idx_PresupuestosObraCLASE].AsString;
end;

procedure TPresupuestosObraDataTableRules.SetCLASEValue(const aValue: String);
begin
  DataTable.Fields[idx_PresupuestosObraCLASE].AsString := aValue;
end;

function TPresupuestosObraDataTableRules.GetACEPTADOValue: Integer;
begin
  result := DataTable.Fields[idx_PresupuestosObraACEPTADO].AsInteger;
end;

procedure TPresupuestosObraDataTableRules.SetACEPTADOValue(const aValue: Integer);
begin
  DataTable.Fields[idx_PresupuestosObraACEPTADO].AsInteger := aValue;
end;

function TPresupuestosObraDataTableRules.GetTIPOValue: String;
begin
  result := DataTable.Fields[idx_PresupuestosObraTIPO].AsString;
end;

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

function TPresupuestosObraDataTableRules.GetDESCRIPCIONValue: String;
begin
  result := DataTable.Fields[idx_PresupuestosObraDESCRIPCION].AsString;
end;

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

function TPresupuestosObraDataTableRules.GetPRESUPUESTOINICIALValue: Currency;
begin
  result := DataTable.Fields[idx_PresupuestosObraPRESUPUESTOINICIAL].AsCurrency;
end;

procedure TPresupuestosObraDataTableRules.SetPRESUPUESTOINICIALValue(const aValue: Currency);
begin
  DataTable.Fields[idx_PresupuestosObraPRESUPUESTOINICIAL].AsCurrency := aValue;
end;

function TPresupuestosObraDataTableRules.GetPRESUPUESTOFINALValue: Currency;
begin
  result := DataTable.Fields[idx_PresupuestosObraPRESUPUESTOFINAL].AsCurrency;
end;

procedure TPresupuestosObraDataTableRules.SetPRESUPUESTOFINALValue(const aValue: Currency);
begin
  DataTable.Fields[idx_PresupuestosObraPRESUPUESTOFINAL].AsCurrency := aValue;
end;

function TPresupuestosObraDataTableRules.GetAPLICARETENCIONValue: Integer;
begin
  result := DataTable.Fields[idx_PresupuestosObraAPLICARETENCION].AsInteger;
end;

procedure TPresupuestosObraDataTableRules.SetAPLICARETENCIONValue(const aValue: Integer);
begin
  DataTable.Fields[idx_PresupuestosObraAPLICARETENCION].AsInteger := aValue;
end;

function TPresupuestosObraDataTableRules.GetRETENCIONValue: Float;
begin
  result := DataTable.Fields[idx_PresupuestosObraRETENCION].AsFloat;
end;

procedure TPresupuestosObraDataTableRules.SetRETENCIONValue(const aValue: Float);
begin
  DataTable.Fields[idx_PresupuestosObraRETENCION].AsFloat := aValue;
end;

function TPresupuestosObraDataTableRules.GetTIEMPORETENCIONValue: String;
begin
  result := DataTable.Fields[idx_PresupuestosObraTIEMPORETENCION].AsString;
end;

procedure TPresupuestosObraDataTableRules.SetTIEMPORETENCIONValue(const aValue: String);
begin
  DataTable.Fields[idx_PresupuestosObraTIEMPORETENCION].AsString := aValue;
end;

function TPresupuestosObraDataTableRules.GetIMPORTERETENCIONValue: Currency;
begin
  result := DataTable.Fields[idx_PresupuestosObraIMPORTERETENCION].AsCurrency;
end;

procedure TPresupuestosObraDataTableRules.SetIMPORTERETENCIONValue(const aValue: Currency);
begin
  DataTable.Fields[idx_PresupuestosObraIMPORTERETENCION].AsCurrency := aValue;
end;

function TPresupuestosObraDataTableRules.GetNOMBREValue: String;
begin
  result := DataTable.Fields[idx_PresupuestosObraNOMBRE].AsString;
end;

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


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

destructor TRefrescoPresupuestosObraDataTableRules.Destroy;
begin
  inherited;
end;

function TRefrescoPresupuestosObraDataTableRules.GetCODIGOValue: Integer;
begin
  result := DataTable.Fields[idx_RefrescoPresupuestosObraCODIGO].AsInteger;
end;

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

function TRefrescoPresupuestosObraDataTableRules.GetCODIGOOBRAValue: Integer;
begin
  result := DataTable.Fields[idx_RefrescoPresupuestosObraCODIGOOBRA].AsInteger;
end;

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

function TRefrescoPresupuestosObraDataTableRules.GetCODIGOCONTACTOValue: Integer;
begin
  result := DataTable.Fields[idx_RefrescoPresupuestosObraCODIGOCONTACTO].AsInteger;
end;

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

function TRefrescoPresupuestosObraDataTableRules.GetFECHAALTAValue: DateTime;
begin
  result := DataTable.Fields[idx_RefrescoPresupuestosObraFECHAALTA].AsDateTime;
end;

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

function TRefrescoPresupuestosObraDataTableRules.GetUSUARIOValue: String;
begin
  result := DataTable.Fields[idx_RefrescoPresupuestosObraUSUARIO].AsString;
end;

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

function TRefrescoPresupuestosObraDataTableRules.GetFECHAValue: DateTime;
begin
  result := DataTable.Fields[idx_RefrescoPresupuestosObraFECHA].AsDateTime;
end;

procedure TRefrescoPresupuestosObraDataTableRules.SetFECHAValue(const aValue: DateTime);
begin
  DataTable.Fields[idx_RefrescoPresupuestosObraFECHA].AsDateTime := aValue;
end;

function TRefrescoPresupuestosObraDataTableRules.GetCLASEValue: String;
begin
  result := DataTable.Fields[idx_RefrescoPresupuestosObraCLASE].AsString;
end;

procedure TRefrescoPresupuestosObraDataTableRules.SetCLASEValue(const aValue: String);
begin
  DataTable.Fields[idx_RefrescoPresupuestosObraCLASE].AsString := aValue;
end;

function TRefrescoPresupuestosObraDataTableRules.GetACEPTADOValue: String;
begin
  result := DataTable.Fields[idx_RefrescoPresupuestosObraACEPTADO].AsString;
end;

procedure TRefrescoPresupuestosObraDataTableRules.SetACEPTADOValue(const aValue: String);
begin
  DataTable.Fields[idx_RefrescoPresupuestosObraACEPTADO].AsString := aValue;
end;

function TRefrescoPresupuestosObraDataTableRules.GetTIPOValue: String;
begin
  result := DataTable.Fields[idx_RefrescoPresupuestosObraTIPO].AsString;
end;

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

function TRefrescoPresupuestosObraDataTableRules.GetDESCRIPCIONValue: String;
begin
  result := DataTable.Fields[idx_RefrescoPresupuestosObraDESCRIPCION].AsString;
end;

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

function TRefrescoPresupuestosObraDataTableRules.GetPRESUPUESTOINICIALValue: Float;
begin
  result := DataTable.Fields[idx_RefrescoPresupuestosObraPRESUPUESTOINICIAL].AsFloat;
end;

procedure TRefrescoPresupuestosObraDataTableRules.SetPRESUPUESTOINICIALValue(const aValue: Float);
begin
  DataTable.Fields[idx_RefrescoPresupuestosObraPRESUPUESTOINICIAL].AsFloat := aValue;
end;

function TRefrescoPresupuestosObraDataTableRules.GetPRESUPUESTOFINALValue: Float;
begin
  result := DataTable.Fields[idx_RefrescoPresupuestosObraPRESUPUESTOFINAL].AsFloat;
end;

procedure TRefrescoPresupuestosObraDataTableRules.SetPRESUPUESTOFINALValue(const aValue: Float);
begin
  DataTable.Fields[idx_RefrescoPresupuestosObraPRESUPUESTOFINAL].AsFloat := aValue;
end;

function TRefrescoPresupuestosObraDataTableRules.GetAPLICARETENCIONValue: String;
begin
  result := DataTable.Fields[idx_RefrescoPresupuestosObraAPLICARETENCION].AsString;
end;

procedure TRefrescoPresupuestosObraDataTableRules.SetAPLICARETENCIONValue(const aValue: String);
begin
  DataTable.Fields[idx_RefrescoPresupuestosObraAPLICARETENCION].AsString := aValue;
end;

function TRefrescoPresupuestosObraDataTableRules.GetRETENCIONValue: Float;
begin
  result := DataTable.Fields[idx_RefrescoPresupuestosObraRETENCION].AsFloat;
end;

procedure TRefrescoPresupuestosObraDataTableRules.SetRETENCIONValue(const aValue: Float);
begin
  DataTable.Fields[idx_RefrescoPresupuestosObraRETENCION].AsFloat := aValue;
end;

function TRefrescoPresupuestosObraDataTableRules.GetTIEMPORETENCIONValue: String;
begin
  result := DataTable.Fields[idx_RefrescoPresupuestosObraTIEMPORETENCION].AsString;
end;

procedure TRefrescoPresupuestosObraDataTableRules.SetTIEMPORETENCIONValue(const aValue: String);
begin
  DataTable.Fields[idx_RefrescoPresupuestosObraTIEMPORETENCION].AsString := aValue;
end;

function TRefrescoPresupuestosObraDataTableRules.GetIMPORTERETENCIONValue: Float;
begin
  result := DataTable.Fields[idx_RefrescoPresupuestosObraIMPORTERETENCION].AsFloat;
end;

procedure TRefrescoPresupuestosObraDataTableRules.SetIMPORTERETENCIONValue(const aValue: Float);
begin
  DataTable.Fields[idx_RefrescoPresupuestosObraIMPORTERETENCION].AsFloat := aValue;
end;

function TRefrescoPresupuestosObraDataTableRules.GetNOMBREValue: String;
begin
  result := DataTable.Fields[idx_RefrescoPresupuestosObraNOMBRE].AsString;
end;

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


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

destructor TProyectosObraDataTableRules.Destroy;
begin
  inherited;
end;

function TProyectosObraDataTableRules.GetCODIGOValue: Integer;
begin
  result := DataTable.Fields[idx_ProyectosObraCODIGO].AsInteger;
end;

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

function TProyectosObraDataTableRules.GetCODIGOOBRAValue: Integer;
begin
  result := DataTable.Fields[idx_ProyectosObraCODIGOOBRA].AsInteger;
end;

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

function TProyectosObraDataTableRules.GetDESCRIPCIONValue: String;
begin
  result := DataTable.Fields[idx_ProyectosObraDESCRIPCION].AsString;
end;

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

function TProyectosObraDataTableRules.GetTIPOValue: String;
begin
  result := DataTable.Fields[idx_ProyectosObraTIPO].AsString;
end;

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

function TProyectosObraDataTableRules.GetTERMINADOValue: Integer;
begin
  result := DataTable.Fields[idx_ProyectosObraTERMINADO].AsInteger;
end;

procedure TProyectosObraDataTableRules.SetTERMINADOValue(const aValue: Integer);
begin
  DataTable.Fields[idx_ProyectosObraTERMINADO].AsInteger := aValue;
end;


initialization
  RegisterDataTableRules(RID_Obras, TObrasDataTableRules);
  RegisterDataTableRules(RID_ContactosObra, TContactosObraDataTableRules);
  RegisterDataTableRules(RID_RefrescoContactosObra, TRefrescoContactosObraDataTableRules);
  RegisterDataTableRules(RID_RefrescoObras, TRefrescoObrasDataTableRules);
  RegisterDataTableRules(RID_PresupuestosObra, TPresupuestosObraDataTableRules);
  RegisterDataTableRules(RID_RefrescoPresupuestosObra, TRefrescoPresupuestosObraDataTableRules);
  RegisterDataTableRules(RID_ProyectosObra, TProyectosObraDataTableRules);

end.
