unit schEmpresasClient_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_EmpresasTiendas = '{3533FE9D-1F57-4EAD-ADCF-41E9BAE8E0A8}';
  RID_Empresas = '{AB7C71EF-D2F3-43E3-928E-83E62A65AD60}';
  RID_EmpresasDatosBanco = '{6B72546D-7B98-462F-849E-EC7C95FE01B8}';

  { Data table names }
  nme_EmpresasTiendas = 'EmpresasTiendas';
  nme_Empresas = 'Empresas';
  nme_EmpresasDatosBanco = 'EmpresasDatosBanco';

  { EmpresasTiendas fields }
  fld_EmpresasTiendasID = 'ID';
  fld_EmpresasTiendasID_EMPRESA = 'ID_EMPRESA';
  fld_EmpresasTiendasCALLE = 'CALLE';
  fld_EmpresasTiendasPOBLACION = 'POBLACION';
  fld_EmpresasTiendasPROVINCIA = 'PROVINCIA';
  fld_EmpresasTiendasCODIGO_POSTAL = 'CODIGO_POSTAL';
  fld_EmpresasTiendasPERSONA_CONTACTO = 'PERSONA_CONTACTO';
  fld_EmpresasTiendasNOMBRE = 'NOMBRE';
  fld_EmpresasTiendasTELEFONO = 'TELEFONO';
  fld_EmpresasTiendasMOVIL = 'MOVIL';
  fld_EmpresasTiendasFAX = 'FAX';
  fld_EmpresasTiendasEMAIL = 'EMAIL';
  fld_EmpresasTiendasNOTAS = 'NOTAS';
  fld_EmpresasTiendasFECHA_ALTA = 'FECHA_ALTA';
  fld_EmpresasTiendasFECHA_MODIFICACION = 'FECHA_MODIFICACION';
  fld_EmpresasTiendasCODIGO_CONTABLE = 'CODIGO_CONTABLE';

  { EmpresasTiendas field indexes }
  idx_EmpresasTiendasID = 0;
  idx_EmpresasTiendasID_EMPRESA = 1;
  idx_EmpresasTiendasCALLE = 2;
  idx_EmpresasTiendasPOBLACION = 3;
  idx_EmpresasTiendasPROVINCIA = 4;
  idx_EmpresasTiendasCODIGO_POSTAL = 5;
  idx_EmpresasTiendasPERSONA_CONTACTO = 6;
  idx_EmpresasTiendasNOMBRE = 7;
  idx_EmpresasTiendasTELEFONO = 8;
  idx_EmpresasTiendasMOVIL = 9;
  idx_EmpresasTiendasFAX = 10;
  idx_EmpresasTiendasEMAIL = 11;
  idx_EmpresasTiendasNOTAS = 12;
  idx_EmpresasTiendasFECHA_ALTA = 13;
  idx_EmpresasTiendasFECHA_MODIFICACION = 14;
  idx_EmpresasTiendasCODIGO_CONTABLE = 15;

  { Empresas fields }
  fld_EmpresasID = 'ID';
  fld_EmpresasNIF_CIF = 'NIF_CIF';
  fld_EmpresasNOMBRE = 'NOMBRE';
  fld_EmpresasRAZON_SOCIAL = 'RAZON_SOCIAL';
  fld_EmpresasCALLE = 'CALLE';
  fld_EmpresasPOBLACION = 'POBLACION';
  fld_EmpresasPROVINCIA = 'PROVINCIA';
  fld_EmpresasCODIGO_POSTAL = 'CODIGO_POSTAL';
  fld_EmpresasTELEFONO_1 = 'TELEFONO_1';
  fld_EmpresasTELEFONO_2 = 'TELEFONO_2';
  fld_EmpresasMOVIL_1 = 'MOVIL_1';
  fld_EmpresasMOVIL_2 = 'MOVIL_2';
  fld_EmpresasFAX = 'FAX';
  fld_EmpresasEMAIL_1 = 'EMAIL_1';
  fld_EmpresasEMAIL_2 = 'EMAIL_2';
  fld_EmpresasPAGINA_WEB = 'PAGINA_WEB';
  fld_EmpresasNOTAS = 'NOTAS';
  fld_EmpresasFECHA_ALTA = 'FECHA_ALTA';
  fld_EmpresasFECHA_MODIFICACION = 'FECHA_MODIFICACION';
  fld_EmpresasUSUARIO = 'USUARIO';
  fld_EmpresasLOGOTIPO = 'LOGOTIPO';
  fld_EmpresasREGISTRO_MERCANTIL = 'REGISTRO_MERCANTIL';
  fld_EmpresasID_TIPO_IVA = 'ID_TIPO_IVA';
  fld_EmpresasID_FORMA_PAGO = 'ID_FORMA_PAGO';
  fld_EmpresasVALIDEZ_PRESUPUESTOS = 'VALIDEZ_PRESUPUESTOS';
  fld_EmpresasNUM_ORDEN = 'NUM_ORDEN';
  fld_EmpresasID_PERFIL = 'ID_PERFIL';

  { Empresas field indexes }
  idx_EmpresasID = 0;
  idx_EmpresasNIF_CIF = 1;
  idx_EmpresasNOMBRE = 2;
  idx_EmpresasRAZON_SOCIAL = 3;
  idx_EmpresasCALLE = 4;
  idx_EmpresasPOBLACION = 5;
  idx_EmpresasPROVINCIA = 6;
  idx_EmpresasCODIGO_POSTAL = 7;
  idx_EmpresasTELEFONO_1 = 8;
  idx_EmpresasTELEFONO_2 = 9;
  idx_EmpresasMOVIL_1 = 10;
  idx_EmpresasMOVIL_2 = 11;
  idx_EmpresasFAX = 12;
  idx_EmpresasEMAIL_1 = 13;
  idx_EmpresasEMAIL_2 = 14;
  idx_EmpresasPAGINA_WEB = 15;
  idx_EmpresasNOTAS = 16;
  idx_EmpresasFECHA_ALTA = 17;
  idx_EmpresasFECHA_MODIFICACION = 18;
  idx_EmpresasUSUARIO = 19;
  idx_EmpresasLOGOTIPO = 20;
  idx_EmpresasREGISTRO_MERCANTIL = 21;
  idx_EmpresasID_TIPO_IVA = 22;
  idx_EmpresasID_FORMA_PAGO = 23;
  idx_EmpresasVALIDEZ_PRESUPUESTOS = 24;
  idx_EmpresasNUM_ORDEN = 25;
  idx_EmpresasID_PERFIL = 26;

  { EmpresasDatosBanco fields }
  fld_EmpresasDatosBancoID = 'ID';
  fld_EmpresasDatosBancoID_EMPRESA = 'ID_EMPRESA';
  fld_EmpresasDatosBancoNOMBRE = 'NOMBRE';
  fld_EmpresasDatosBancoENTIDAD = 'ENTIDAD';
  fld_EmpresasDatosBancoSUCURSAL = 'SUCURSAL';
  fld_EmpresasDatosBancoDC = 'DC';
  fld_EmpresasDatosBancoCUENTA = 'CUENTA';
  fld_EmpresasDatosBancoSUFIJO_N19 = 'SUFIJO_N19';
  fld_EmpresasDatosBancoSUFIJO_N58 = 'SUFIJO_N58';

  { EmpresasDatosBanco field indexes }
  idx_EmpresasDatosBancoID = 0;
  idx_EmpresasDatosBancoID_EMPRESA = 1;
  idx_EmpresasDatosBancoNOMBRE = 2;
  idx_EmpresasDatosBancoENTIDAD = 3;
  idx_EmpresasDatosBancoSUCURSAL = 4;
  idx_EmpresasDatosBancoDC = 5;
  idx_EmpresasDatosBancoCUENTA = 6;
  idx_EmpresasDatosBancoSUFIJO_N19 = 7;
  idx_EmpresasDatosBancoSUFIJO_N58 = 8;

type
  { IEmpresasTiendas }
  IEmpresasTiendas = interface(IDAStronglyTypedDataTable)
  ['{DE6BE283-469C-4253-9A99-60E55A11E17C}']
    { 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 GetCALLEValue: String;
    procedure SetCALLEValue(const aValue: String);
    function GetCALLEIsNull: Boolean;
    procedure SetCALLEIsNull(const aValue: Boolean);
    function GetPOBLACIONValue: String;
    procedure SetPOBLACIONValue(const aValue: String);
    function GetPOBLACIONIsNull: Boolean;
    procedure SetPOBLACIONIsNull(const aValue: Boolean);
    function GetPROVINCIAValue: String;
    procedure SetPROVINCIAValue(const aValue: String);
    function GetPROVINCIAIsNull: Boolean;
    procedure SetPROVINCIAIsNull(const aValue: Boolean);
    function GetCODIGO_POSTALValue: String;
    procedure SetCODIGO_POSTALValue(const aValue: String);
    function GetCODIGO_POSTALIsNull: Boolean;
    procedure SetCODIGO_POSTALIsNull(const aValue: Boolean);
    function GetPERSONA_CONTACTOValue: String;
    procedure SetPERSONA_CONTACTOValue(const aValue: String);
    function GetPERSONA_CONTACTOIsNull: Boolean;
    procedure SetPERSONA_CONTACTOIsNull(const aValue: Boolean);
    function GetNOMBREValue: String;
    procedure SetNOMBREValue(const aValue: String);
    function GetNOMBREIsNull: Boolean;
    procedure SetNOMBREIsNull(const aValue: Boolean);
    function GetTELEFONOValue: String;
    procedure SetTELEFONOValue(const aValue: String);
    function GetTELEFONOIsNull: Boolean;
    procedure SetTELEFONOIsNull(const aValue: Boolean);
    function GetMOVILValue: String;
    procedure SetMOVILValue(const aValue: String);
    function GetMOVILIsNull: Boolean;
    procedure SetMOVILIsNull(const aValue: Boolean);
    function GetFAXValue: String;
    procedure SetFAXValue(const aValue: String);
    function GetFAXIsNull: Boolean;
    procedure SetFAXIsNull(const aValue: Boolean);
    function GetEMAILValue: String;
    procedure SetEMAILValue(const aValue: String);
    function GetEMAILIsNull: Boolean;
    procedure SetEMAILIsNull(const aValue: Boolean);
    function GetNOTASValue: IROStrings;
    function GetNOTASIsNull: Boolean;
    procedure SetNOTASIsNull(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 GetCODIGO_CONTABLEValue: String;
    procedure SetCODIGO_CONTABLEValue(const aValue: String);
    function GetCODIGO_CONTABLEIsNull: Boolean;
    procedure SetCODIGO_CONTABLEIsNull(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 CALLE: String read GetCALLEValue write SetCALLEValue;
    property CALLEIsNull: Boolean read GetCALLEIsNull write SetCALLEIsNull;
    property POBLACION: String read GetPOBLACIONValue write SetPOBLACIONValue;
    property POBLACIONIsNull: Boolean read GetPOBLACIONIsNull write SetPOBLACIONIsNull;
    property PROVINCIA: String read GetPROVINCIAValue write SetPROVINCIAValue;
    property PROVINCIAIsNull: Boolean read GetPROVINCIAIsNull write SetPROVINCIAIsNull;
    property CODIGO_POSTAL: String read GetCODIGO_POSTALValue write SetCODIGO_POSTALValue;
    property CODIGO_POSTALIsNull: Boolean read GetCODIGO_POSTALIsNull write SetCODIGO_POSTALIsNull;
    property PERSONA_CONTACTO: String read GetPERSONA_CONTACTOValue write SetPERSONA_CONTACTOValue;
    property PERSONA_CONTACTOIsNull: Boolean read GetPERSONA_CONTACTOIsNull write SetPERSONA_CONTACTOIsNull;
    property NOMBRE: String read GetNOMBREValue write SetNOMBREValue;
    property NOMBREIsNull: Boolean read GetNOMBREIsNull write SetNOMBREIsNull;
    property TELEFONO: String read GetTELEFONOValue write SetTELEFONOValue;
    property TELEFONOIsNull: Boolean read GetTELEFONOIsNull write SetTELEFONOIsNull;
    property MOVIL: String read GetMOVILValue write SetMOVILValue;
    property MOVILIsNull: Boolean read GetMOVILIsNull write SetMOVILIsNull;
    property FAX: String read GetFAXValue write SetFAXValue;
    property FAXIsNull: Boolean read GetFAXIsNull write SetFAXIsNull;
    property EMAIL: String read GetEMAILValue write SetEMAILValue;
    property EMAILIsNull: Boolean read GetEMAILIsNull write SetEMAILIsNull;
    property NOTAS: IROStrings read GetNOTASValue;
    property NOTASIsNull: Boolean read GetNOTASIsNull write SetNOTASIsNull;
    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 CODIGO_CONTABLE: String read GetCODIGO_CONTABLEValue write SetCODIGO_CONTABLEValue;
    property CODIGO_CONTABLEIsNull: Boolean read GetCODIGO_CONTABLEIsNull write SetCODIGO_CONTABLEIsNull;
  end;

  { TEmpresasTiendasDataTableRules }
  TEmpresasTiendasDataTableRules = class(TIntfObjectDADataTableRules, IEmpresasTiendas)
  private
    f_NOTAS: IROStrings;
    procedure NOTAS_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 GetCALLEValue: String; virtual;
    procedure SetCALLEValue(const aValue: String); virtual;
    function GetCALLEIsNull: Boolean; virtual;
    procedure SetCALLEIsNull(const aValue: Boolean); virtual;
    function GetPOBLACIONValue: String; virtual;
    procedure SetPOBLACIONValue(const aValue: String); virtual;
    function GetPOBLACIONIsNull: Boolean; virtual;
    procedure SetPOBLACIONIsNull(const aValue: Boolean); virtual;
    function GetPROVINCIAValue: String; virtual;
    procedure SetPROVINCIAValue(const aValue: String); virtual;
    function GetPROVINCIAIsNull: Boolean; virtual;
    procedure SetPROVINCIAIsNull(const aValue: Boolean); virtual;
    function GetCODIGO_POSTALValue: String; virtual;
    procedure SetCODIGO_POSTALValue(const aValue: String); virtual;
    function GetCODIGO_POSTALIsNull: Boolean; virtual;
    procedure SetCODIGO_POSTALIsNull(const aValue: Boolean); virtual;
    function GetPERSONA_CONTACTOValue: String; virtual;
    procedure SetPERSONA_CONTACTOValue(const aValue: String); virtual;
    function GetPERSONA_CONTACTOIsNull: Boolean; virtual;
    procedure SetPERSONA_CONTACTOIsNull(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 GetTELEFONOValue: String; virtual;
    procedure SetTELEFONOValue(const aValue: String); virtual;
    function GetTELEFONOIsNull: Boolean; virtual;
    procedure SetTELEFONOIsNull(const aValue: Boolean); virtual;
    function GetMOVILValue: String; virtual;
    procedure SetMOVILValue(const aValue: String); virtual;
    function GetMOVILIsNull: Boolean; virtual;
    procedure SetMOVILIsNull(const aValue: Boolean); virtual;
    function GetFAXValue: String; virtual;
    procedure SetFAXValue(const aValue: String); virtual;
    function GetFAXIsNull: Boolean; virtual;
    procedure SetFAXIsNull(const aValue: Boolean); virtual;
    function GetEMAILValue: String; virtual;
    procedure SetEMAILValue(const aValue: String); virtual;
    function GetEMAILIsNull: Boolean; virtual;
    procedure SetEMAILIsNull(const aValue: Boolean); virtual;
    function GetNOTASValue: IROStrings; virtual;
    function GetNOTASIsNull: Boolean; virtual;
    procedure SetNOTASIsNull(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 GetCODIGO_CONTABLEValue: String; virtual;
    procedure SetCODIGO_CONTABLEValue(const aValue: String); virtual;
    function GetCODIGO_CONTABLEIsNull: Boolean; virtual;
    procedure SetCODIGO_CONTABLEIsNull(const aValue: Boolean); virtual;

    { Properties }
    property 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 CALLE: String read GetCALLEValue write SetCALLEValue;
    property CALLEIsNull: Boolean read GetCALLEIsNull write SetCALLEIsNull;
    property POBLACION: String read GetPOBLACIONValue write SetPOBLACIONValue;
    property POBLACIONIsNull: Boolean read GetPOBLACIONIsNull write SetPOBLACIONIsNull;
    property PROVINCIA: String read GetPROVINCIAValue write SetPROVINCIAValue;
    property PROVINCIAIsNull: Boolean read GetPROVINCIAIsNull write SetPROVINCIAIsNull;
    property CODIGO_POSTAL: String read GetCODIGO_POSTALValue write SetCODIGO_POSTALValue;
    property CODIGO_POSTALIsNull: Boolean read GetCODIGO_POSTALIsNull write SetCODIGO_POSTALIsNull;
    property PERSONA_CONTACTO: String read GetPERSONA_CONTACTOValue write SetPERSONA_CONTACTOValue;
    property PERSONA_CONTACTOIsNull: Boolean read GetPERSONA_CONTACTOIsNull write SetPERSONA_CONTACTOIsNull;
    property NOMBRE: String read GetNOMBREValue write SetNOMBREValue;
    property NOMBREIsNull: Boolean read GetNOMBREIsNull write SetNOMBREIsNull;
    property TELEFONO: String read GetTELEFONOValue write SetTELEFONOValue;
    property TELEFONOIsNull: Boolean read GetTELEFONOIsNull write SetTELEFONOIsNull;
    property MOVIL: String read GetMOVILValue write SetMOVILValue;
    property MOVILIsNull: Boolean read GetMOVILIsNull write SetMOVILIsNull;
    property FAX: String read GetFAXValue write SetFAXValue;
    property FAXIsNull: Boolean read GetFAXIsNull write SetFAXIsNull;
    property EMAIL: String read GetEMAILValue write SetEMAILValue;
    property EMAILIsNull: Boolean read GetEMAILIsNull write SetEMAILIsNull;
    property NOTAS: IROStrings read GetNOTASValue;
    property NOTASIsNull: Boolean read GetNOTASIsNull write SetNOTASIsNull;
    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 CODIGO_CONTABLE: String read GetCODIGO_CONTABLEValue write SetCODIGO_CONTABLEValue;
    property CODIGO_CONTABLEIsNull: Boolean read GetCODIGO_CONTABLEIsNull write SetCODIGO_CONTABLEIsNull;

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

  end;

  { IEmpresas }
  IEmpresas = interface(IDAStronglyTypedDataTable)
  ['{D210073A-3C0F-46FD-97FD-3928459451E7}']
    { Property getters and setters }
    function GetIDValue: Integer;
    procedure SetIDValue(const aValue: Integer);
    function GetIDIsNull: Boolean;
    procedure SetIDIsNull(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 GetRAZON_SOCIALValue: String;
    procedure SetRAZON_SOCIALValue(const aValue: String);
    function GetRAZON_SOCIALIsNull: Boolean;
    procedure SetRAZON_SOCIALIsNull(const aValue: Boolean);
    function GetCALLEValue: String;
    procedure SetCALLEValue(const aValue: String);
    function GetCALLEIsNull: Boolean;
    procedure SetCALLEIsNull(const aValue: Boolean);
    function GetPOBLACIONValue: String;
    procedure SetPOBLACIONValue(const aValue: String);
    function GetPOBLACIONIsNull: Boolean;
    procedure SetPOBLACIONIsNull(const aValue: Boolean);
    function GetPROVINCIAValue: String;
    procedure SetPROVINCIAValue(const aValue: String);
    function GetPROVINCIAIsNull: Boolean;
    procedure SetPROVINCIAIsNull(const aValue: Boolean);
    function GetCODIGO_POSTALValue: String;
    procedure SetCODIGO_POSTALValue(const aValue: String);
    function GetCODIGO_POSTALIsNull: Boolean;
    procedure SetCODIGO_POSTALIsNull(const aValue: Boolean);
    function GetTELEFONO_1Value: String;
    procedure SetTELEFONO_1Value(const aValue: String);
    function GetTELEFONO_1IsNull: Boolean;
    procedure SetTELEFONO_1IsNull(const aValue: Boolean);
    function GetTELEFONO_2Value: String;
    procedure SetTELEFONO_2Value(const aValue: String);
    function GetTELEFONO_2IsNull: Boolean;
    procedure SetTELEFONO_2IsNull(const aValue: Boolean);
    function GetMOVIL_1Value: String;
    procedure SetMOVIL_1Value(const aValue: String);
    function GetMOVIL_1IsNull: Boolean;
    procedure SetMOVIL_1IsNull(const aValue: Boolean);
    function GetMOVIL_2Value: String;
    procedure SetMOVIL_2Value(const aValue: String);
    function GetMOVIL_2IsNull: Boolean;
    procedure SetMOVIL_2IsNull(const aValue: Boolean);
    function GetFAXValue: String;
    procedure SetFAXValue(const aValue: String);
    function GetFAXIsNull: Boolean;
    procedure SetFAXIsNull(const aValue: Boolean);
    function GetEMAIL_1Value: String;
    procedure SetEMAIL_1Value(const aValue: String);
    function GetEMAIL_1IsNull: Boolean;
    procedure SetEMAIL_1IsNull(const aValue: Boolean);
    function GetEMAIL_2Value: String;
    procedure SetEMAIL_2Value(const aValue: String);
    function GetEMAIL_2IsNull: Boolean;
    procedure SetEMAIL_2IsNull(const aValue: Boolean);
    function GetPAGINA_WEBValue: String;
    procedure SetPAGINA_WEBValue(const aValue: String);
    function GetPAGINA_WEBIsNull: Boolean;
    procedure SetPAGINA_WEBIsNull(const aValue: Boolean);
    function GetNOTASValue: IROStrings;
    function GetNOTASIsNull: Boolean;
    procedure SetNOTASIsNull(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 GetLOGOTIPOValue: IROStream;
    function GetLOGOTIPOIsNull: Boolean;
    procedure SetLOGOTIPOIsNull(const aValue: Boolean);
    function GetREGISTRO_MERCANTILValue: String;
    procedure SetREGISTRO_MERCANTILValue(const aValue: String);
    function GetREGISTRO_MERCANTILIsNull: Boolean;
    procedure SetREGISTRO_MERCANTILIsNull(const aValue: Boolean);
    function GetID_TIPO_IVAValue: SmallInt;
    procedure SetID_TIPO_IVAValue(const aValue: SmallInt);
    function GetID_TIPO_IVAIsNull: Boolean;
    procedure SetID_TIPO_IVAIsNull(const aValue: Boolean);
    function GetID_FORMA_PAGOValue: SmallInt;
    procedure SetID_FORMA_PAGOValue(const aValue: SmallInt);
    function GetID_FORMA_PAGOIsNull: Boolean;
    procedure SetID_FORMA_PAGOIsNull(const aValue: Boolean);
    function GetVALIDEZ_PRESUPUESTOSValue: SmallInt;
    procedure SetVALIDEZ_PRESUPUESTOSValue(const aValue: SmallInt);
    function GetVALIDEZ_PRESUPUESTOSIsNull: Boolean;
    procedure SetVALIDEZ_PRESUPUESTOSIsNull(const aValue: Boolean);
    function GetNUM_ORDENValue: SmallInt;
    procedure SetNUM_ORDENValue(const aValue: SmallInt);
    function GetNUM_ORDENIsNull: Boolean;
    procedure SetNUM_ORDENIsNull(const aValue: Boolean);
    function GetID_PERFILValue: Integer;
    procedure SetID_PERFILValue(const aValue: Integer);
    function GetID_PERFILIsNull: Boolean;
    procedure SetID_PERFILIsNull(const aValue: Boolean);


    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    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 RAZON_SOCIAL: String read GetRAZON_SOCIALValue write SetRAZON_SOCIALValue;
    property RAZON_SOCIALIsNull: Boolean read GetRAZON_SOCIALIsNull write SetRAZON_SOCIALIsNull;
    property CALLE: String read GetCALLEValue write SetCALLEValue;
    property CALLEIsNull: Boolean read GetCALLEIsNull write SetCALLEIsNull;
    property POBLACION: String read GetPOBLACIONValue write SetPOBLACIONValue;
    property POBLACIONIsNull: Boolean read GetPOBLACIONIsNull write SetPOBLACIONIsNull;
    property PROVINCIA: String read GetPROVINCIAValue write SetPROVINCIAValue;
    property PROVINCIAIsNull: Boolean read GetPROVINCIAIsNull write SetPROVINCIAIsNull;
    property CODIGO_POSTAL: String read GetCODIGO_POSTALValue write SetCODIGO_POSTALValue;
    property CODIGO_POSTALIsNull: Boolean read GetCODIGO_POSTALIsNull write SetCODIGO_POSTALIsNull;
    property TELEFONO_1: String read GetTELEFONO_1Value write SetTELEFONO_1Value;
    property TELEFONO_1IsNull: Boolean read GetTELEFONO_1IsNull write SetTELEFONO_1IsNull;
    property TELEFONO_2: String read GetTELEFONO_2Value write SetTELEFONO_2Value;
    property TELEFONO_2IsNull: Boolean read GetTELEFONO_2IsNull write SetTELEFONO_2IsNull;
    property MOVIL_1: String read GetMOVIL_1Value write SetMOVIL_1Value;
    property MOVIL_1IsNull: Boolean read GetMOVIL_1IsNull write SetMOVIL_1IsNull;
    property MOVIL_2: String read GetMOVIL_2Value write SetMOVIL_2Value;
    property MOVIL_2IsNull: Boolean read GetMOVIL_2IsNull write SetMOVIL_2IsNull;
    property FAX: String read GetFAXValue write SetFAXValue;
    property FAXIsNull: Boolean read GetFAXIsNull write SetFAXIsNull;
    property EMAIL_1: String read GetEMAIL_1Value write SetEMAIL_1Value;
    property EMAIL_1IsNull: Boolean read GetEMAIL_1IsNull write SetEMAIL_1IsNull;
    property EMAIL_2: String read GetEMAIL_2Value write SetEMAIL_2Value;
    property EMAIL_2IsNull: Boolean read GetEMAIL_2IsNull write SetEMAIL_2IsNull;
    property PAGINA_WEB: String read GetPAGINA_WEBValue write SetPAGINA_WEBValue;
    property PAGINA_WEBIsNull: Boolean read GetPAGINA_WEBIsNull write SetPAGINA_WEBIsNull;
    property NOTAS: IROStrings read GetNOTASValue;
    property NOTASIsNull: Boolean read GetNOTASIsNull write SetNOTASIsNull;
    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 LOGOTIPO: IROStream read GetLOGOTIPOValue;
    property LOGOTIPOIsNull: Boolean read GetLOGOTIPOIsNull write SetLOGOTIPOIsNull;
    property REGISTRO_MERCANTIL: String read GetREGISTRO_MERCANTILValue write SetREGISTRO_MERCANTILValue;
    property REGISTRO_MERCANTILIsNull: Boolean read GetREGISTRO_MERCANTILIsNull write SetREGISTRO_MERCANTILIsNull;
    property ID_TIPO_IVA: SmallInt read GetID_TIPO_IVAValue write SetID_TIPO_IVAValue;
    property ID_TIPO_IVAIsNull: Boolean read GetID_TIPO_IVAIsNull write SetID_TIPO_IVAIsNull;
    property ID_FORMA_PAGO: SmallInt read GetID_FORMA_PAGOValue write SetID_FORMA_PAGOValue;
    property ID_FORMA_PAGOIsNull: Boolean read GetID_FORMA_PAGOIsNull write SetID_FORMA_PAGOIsNull;
    property VALIDEZ_PRESUPUESTOS: SmallInt read GetVALIDEZ_PRESUPUESTOSValue write SetVALIDEZ_PRESUPUESTOSValue;
    property VALIDEZ_PRESUPUESTOSIsNull: Boolean read GetVALIDEZ_PRESUPUESTOSIsNull write SetVALIDEZ_PRESUPUESTOSIsNull;
    property NUM_ORDEN: SmallInt read GetNUM_ORDENValue write SetNUM_ORDENValue;
    property NUM_ORDENIsNull: Boolean read GetNUM_ORDENIsNull write SetNUM_ORDENIsNull;
    property ID_PERFIL: Integer read GetID_PERFILValue write SetID_PERFILValue;
    property ID_PERFILIsNull: Boolean read GetID_PERFILIsNull write SetID_PERFILIsNull;
  end;

  { TEmpresasDataTableRules }
  TEmpresasDataTableRules = class(TIntfObjectDADataTableRules, IEmpresas)
  private
    f_NOTAS: IROStrings;
    f_LOGOTIPO: IROStream;
    procedure NOTAS_OnChange(Sender: TObject);
    procedure LOGOTIPO_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 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 GetRAZON_SOCIALValue: String; virtual;
    procedure SetRAZON_SOCIALValue(const aValue: String); virtual;
    function GetRAZON_SOCIALIsNull: Boolean; virtual;
    procedure SetRAZON_SOCIALIsNull(const aValue: Boolean); virtual;
    function GetCALLEValue: String; virtual;
    procedure SetCALLEValue(const aValue: String); virtual;
    function GetCALLEIsNull: Boolean; virtual;
    procedure SetCALLEIsNull(const aValue: Boolean); virtual;
    function GetPOBLACIONValue: String; virtual;
    procedure SetPOBLACIONValue(const aValue: String); virtual;
    function GetPOBLACIONIsNull: Boolean; virtual;
    procedure SetPOBLACIONIsNull(const aValue: Boolean); virtual;
    function GetPROVINCIAValue: String; virtual;
    procedure SetPROVINCIAValue(const aValue: String); virtual;
    function GetPROVINCIAIsNull: Boolean; virtual;
    procedure SetPROVINCIAIsNull(const aValue: Boolean); virtual;
    function GetCODIGO_POSTALValue: String; virtual;
    procedure SetCODIGO_POSTALValue(const aValue: String); virtual;
    function GetCODIGO_POSTALIsNull: Boolean; virtual;
    procedure SetCODIGO_POSTALIsNull(const aValue: Boolean); virtual;
    function GetTELEFONO_1Value: String; virtual;
    procedure SetTELEFONO_1Value(const aValue: String); virtual;
    function GetTELEFONO_1IsNull: Boolean; virtual;
    procedure SetTELEFONO_1IsNull(const aValue: Boolean); virtual;
    function GetTELEFONO_2Value: String; virtual;
    procedure SetTELEFONO_2Value(const aValue: String); virtual;
    function GetTELEFONO_2IsNull: Boolean; virtual;
    procedure SetTELEFONO_2IsNull(const aValue: Boolean); virtual;
    function GetMOVIL_1Value: String; virtual;
    procedure SetMOVIL_1Value(const aValue: String); virtual;
    function GetMOVIL_1IsNull: Boolean; virtual;
    procedure SetMOVIL_1IsNull(const aValue: Boolean); virtual;
    function GetMOVIL_2Value: String; virtual;
    procedure SetMOVIL_2Value(const aValue: String); virtual;
    function GetMOVIL_2IsNull: Boolean; virtual;
    procedure SetMOVIL_2IsNull(const aValue: Boolean); virtual;
    function GetFAXValue: String; virtual;
    procedure SetFAXValue(const aValue: String); virtual;
    function GetFAXIsNull: Boolean; virtual;
    procedure SetFAXIsNull(const aValue: Boolean); virtual;
    function GetEMAIL_1Value: String; virtual;
    procedure SetEMAIL_1Value(const aValue: String); virtual;
    function GetEMAIL_1IsNull: Boolean; virtual;
    procedure SetEMAIL_1IsNull(const aValue: Boolean); virtual;
    function GetEMAIL_2Value: String; virtual;
    procedure SetEMAIL_2Value(const aValue: String); virtual;
    function GetEMAIL_2IsNull: Boolean; virtual;
    procedure SetEMAIL_2IsNull(const aValue: Boolean); virtual;
    function GetPAGINA_WEBValue: String; virtual;
    procedure SetPAGINA_WEBValue(const aValue: String); virtual;
    function GetPAGINA_WEBIsNull: Boolean; virtual;
    procedure SetPAGINA_WEBIsNull(const aValue: Boolean); virtual;
    function GetNOTASValue: IROStrings; virtual;
    function GetNOTASIsNull: Boolean; virtual;
    procedure SetNOTASIsNull(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 GetLOGOTIPOValue: IROStream; virtual;
    function GetLOGOTIPOIsNull: Boolean; virtual;
    procedure SetLOGOTIPOIsNull(const aValue: Boolean); virtual;
    function GetREGISTRO_MERCANTILValue: String; virtual;
    procedure SetREGISTRO_MERCANTILValue(const aValue: String); virtual;
    function GetREGISTRO_MERCANTILIsNull: Boolean; virtual;
    procedure SetREGISTRO_MERCANTILIsNull(const aValue: Boolean); virtual;
    function GetID_TIPO_IVAValue: SmallInt; virtual;
    procedure SetID_TIPO_IVAValue(const aValue: SmallInt); virtual;
    function GetID_TIPO_IVAIsNull: Boolean; virtual;
    procedure SetID_TIPO_IVAIsNull(const aValue: Boolean); virtual;
    function GetID_FORMA_PAGOValue: SmallInt; virtual;
    procedure SetID_FORMA_PAGOValue(const aValue: SmallInt); virtual;
    function GetID_FORMA_PAGOIsNull: Boolean; virtual;
    procedure SetID_FORMA_PAGOIsNull(const aValue: Boolean); virtual;
    function GetVALIDEZ_PRESUPUESTOSValue: SmallInt; virtual;
    procedure SetVALIDEZ_PRESUPUESTOSValue(const aValue: SmallInt); virtual;
    function GetVALIDEZ_PRESUPUESTOSIsNull: Boolean; virtual;
    procedure SetVALIDEZ_PRESUPUESTOSIsNull(const aValue: Boolean); virtual;
    function GetNUM_ORDENValue: SmallInt; virtual;
    procedure SetNUM_ORDENValue(const aValue: SmallInt); virtual;
    function GetNUM_ORDENIsNull: Boolean; virtual;
    procedure SetNUM_ORDENIsNull(const aValue: Boolean); virtual;
    function GetID_PERFILValue: Integer; virtual;
    procedure SetID_PERFILValue(const aValue: Integer); virtual;
    function GetID_PERFILIsNull: Boolean; virtual;
    procedure SetID_PERFILIsNull(const aValue: Boolean); virtual;

    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    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 RAZON_SOCIAL: String read GetRAZON_SOCIALValue write SetRAZON_SOCIALValue;
    property RAZON_SOCIALIsNull: Boolean read GetRAZON_SOCIALIsNull write SetRAZON_SOCIALIsNull;
    property CALLE: String read GetCALLEValue write SetCALLEValue;
    property CALLEIsNull: Boolean read GetCALLEIsNull write SetCALLEIsNull;
    property POBLACION: String read GetPOBLACIONValue write SetPOBLACIONValue;
    property POBLACIONIsNull: Boolean read GetPOBLACIONIsNull write SetPOBLACIONIsNull;
    property PROVINCIA: String read GetPROVINCIAValue write SetPROVINCIAValue;
    property PROVINCIAIsNull: Boolean read GetPROVINCIAIsNull write SetPROVINCIAIsNull;
    property CODIGO_POSTAL: String read GetCODIGO_POSTALValue write SetCODIGO_POSTALValue;
    property CODIGO_POSTALIsNull: Boolean read GetCODIGO_POSTALIsNull write SetCODIGO_POSTALIsNull;
    property TELEFONO_1: String read GetTELEFONO_1Value write SetTELEFONO_1Value;
    property TELEFONO_1IsNull: Boolean read GetTELEFONO_1IsNull write SetTELEFONO_1IsNull;
    property TELEFONO_2: String read GetTELEFONO_2Value write SetTELEFONO_2Value;
    property TELEFONO_2IsNull: Boolean read GetTELEFONO_2IsNull write SetTELEFONO_2IsNull;
    property MOVIL_1: String read GetMOVIL_1Value write SetMOVIL_1Value;
    property MOVIL_1IsNull: Boolean read GetMOVIL_1IsNull write SetMOVIL_1IsNull;
    property MOVIL_2: String read GetMOVIL_2Value write SetMOVIL_2Value;
    property MOVIL_2IsNull: Boolean read GetMOVIL_2IsNull write SetMOVIL_2IsNull;
    property FAX: String read GetFAXValue write SetFAXValue;
    property FAXIsNull: Boolean read GetFAXIsNull write SetFAXIsNull;
    property EMAIL_1: String read GetEMAIL_1Value write SetEMAIL_1Value;
    property EMAIL_1IsNull: Boolean read GetEMAIL_1IsNull write SetEMAIL_1IsNull;
    property EMAIL_2: String read GetEMAIL_2Value write SetEMAIL_2Value;
    property EMAIL_2IsNull: Boolean read GetEMAIL_2IsNull write SetEMAIL_2IsNull;
    property PAGINA_WEB: String read GetPAGINA_WEBValue write SetPAGINA_WEBValue;
    property PAGINA_WEBIsNull: Boolean read GetPAGINA_WEBIsNull write SetPAGINA_WEBIsNull;
    property NOTAS: IROStrings read GetNOTASValue;
    property NOTASIsNull: Boolean read GetNOTASIsNull write SetNOTASIsNull;
    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 LOGOTIPO: IROStream read GetLOGOTIPOValue;
    property LOGOTIPOIsNull: Boolean read GetLOGOTIPOIsNull write SetLOGOTIPOIsNull;
    property REGISTRO_MERCANTIL: String read GetREGISTRO_MERCANTILValue write SetREGISTRO_MERCANTILValue;
    property REGISTRO_MERCANTILIsNull: Boolean read GetREGISTRO_MERCANTILIsNull write SetREGISTRO_MERCANTILIsNull;
    property ID_TIPO_IVA: SmallInt read GetID_TIPO_IVAValue write SetID_TIPO_IVAValue;
    property ID_TIPO_IVAIsNull: Boolean read GetID_TIPO_IVAIsNull write SetID_TIPO_IVAIsNull;
    property ID_FORMA_PAGO: SmallInt read GetID_FORMA_PAGOValue write SetID_FORMA_PAGOValue;
    property ID_FORMA_PAGOIsNull: Boolean read GetID_FORMA_PAGOIsNull write SetID_FORMA_PAGOIsNull;
    property VALIDEZ_PRESUPUESTOS: SmallInt read GetVALIDEZ_PRESUPUESTOSValue write SetVALIDEZ_PRESUPUESTOSValue;
    property VALIDEZ_PRESUPUESTOSIsNull: Boolean read GetVALIDEZ_PRESUPUESTOSIsNull write SetVALIDEZ_PRESUPUESTOSIsNull;
    property NUM_ORDEN: SmallInt read GetNUM_ORDENValue write SetNUM_ORDENValue;
    property NUM_ORDENIsNull: Boolean read GetNUM_ORDENIsNull write SetNUM_ORDENIsNull;
    property ID_PERFIL: Integer read GetID_PERFILValue write SetID_PERFILValue;
    property ID_PERFILIsNull: Boolean read GetID_PERFILIsNull write SetID_PERFILIsNull;

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

  end;

  { IEmpresasDatosBanco }
  IEmpresasDatosBanco = interface(IDAStronglyTypedDataTable)
  ['{DF6BEEB5-1CC8-4419-A432-D1FC275D5852}']
    { 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 GetNOMBREValue: String;
    procedure SetNOMBREValue(const aValue: String);
    function GetNOMBREIsNull: Boolean;
    procedure SetNOMBREIsNull(const aValue: Boolean);
    function GetENTIDADValue: String;
    procedure SetENTIDADValue(const aValue: String);
    function GetENTIDADIsNull: Boolean;
    procedure SetENTIDADIsNull(const aValue: Boolean);
    function GetSUCURSALValue: String;
    procedure SetSUCURSALValue(const aValue: String);
    function GetSUCURSALIsNull: Boolean;
    procedure SetSUCURSALIsNull(const aValue: Boolean);
    function GetDCValue: String;
    procedure SetDCValue(const aValue: String);
    function GetDCIsNull: Boolean;
    procedure SetDCIsNull(const aValue: Boolean);
    function GetCUENTAValue: String;
    procedure SetCUENTAValue(const aValue: String);
    function GetCUENTAIsNull: Boolean;
    procedure SetCUENTAIsNull(const aValue: Boolean);
    function GetSUFIJO_N19Value: String;
    procedure SetSUFIJO_N19Value(const aValue: String);
    function GetSUFIJO_N19IsNull: Boolean;
    procedure SetSUFIJO_N19IsNull(const aValue: Boolean);
    function GetSUFIJO_N58Value: String;
    procedure SetSUFIJO_N58Value(const aValue: String);
    function GetSUFIJO_N58IsNull: Boolean;
    procedure SetSUFIJO_N58IsNull(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 NOMBRE: String read GetNOMBREValue write SetNOMBREValue;
    property NOMBREIsNull: Boolean read GetNOMBREIsNull write SetNOMBREIsNull;
    property ENTIDAD: String read GetENTIDADValue write SetENTIDADValue;
    property ENTIDADIsNull: Boolean read GetENTIDADIsNull write SetENTIDADIsNull;
    property SUCURSAL: String read GetSUCURSALValue write SetSUCURSALValue;
    property SUCURSALIsNull: Boolean read GetSUCURSALIsNull write SetSUCURSALIsNull;
    property DC: String read GetDCValue write SetDCValue;
    property DCIsNull: Boolean read GetDCIsNull write SetDCIsNull;
    property CUENTA: String read GetCUENTAValue write SetCUENTAValue;
    property CUENTAIsNull: Boolean read GetCUENTAIsNull write SetCUENTAIsNull;
    property SUFIJO_N19: String read GetSUFIJO_N19Value write SetSUFIJO_N19Value;
    property SUFIJO_N19IsNull: Boolean read GetSUFIJO_N19IsNull write SetSUFIJO_N19IsNull;
    property SUFIJO_N58: String read GetSUFIJO_N58Value write SetSUFIJO_N58Value;
    property SUFIJO_N58IsNull: Boolean read GetSUFIJO_N58IsNull write SetSUFIJO_N58IsNull;
  end;

  { TEmpresasDatosBancoDataTableRules }
  TEmpresasDatosBancoDataTableRules = class(TIntfObjectDADataTableRules, IEmpresasDatosBanco)
  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 GetNOMBREValue: String; virtual;
    procedure SetNOMBREValue(const aValue: String); virtual;
    function GetNOMBREIsNull: Boolean; virtual;
    procedure SetNOMBREIsNull(const aValue: Boolean); virtual;
    function GetENTIDADValue: String; virtual;
    procedure SetENTIDADValue(const aValue: String); virtual;
    function GetENTIDADIsNull: Boolean; virtual;
    procedure SetENTIDADIsNull(const aValue: Boolean); virtual;
    function GetSUCURSALValue: String; virtual;
    procedure SetSUCURSALValue(const aValue: String); virtual;
    function GetSUCURSALIsNull: Boolean; virtual;
    procedure SetSUCURSALIsNull(const aValue: Boolean); virtual;
    function GetDCValue: String; virtual;
    procedure SetDCValue(const aValue: String); virtual;
    function GetDCIsNull: Boolean; virtual;
    procedure SetDCIsNull(const aValue: Boolean); virtual;
    function GetCUENTAValue: String; virtual;
    procedure SetCUENTAValue(const aValue: String); virtual;
    function GetCUENTAIsNull: Boolean; virtual;
    procedure SetCUENTAIsNull(const aValue: Boolean); virtual;
    function GetSUFIJO_N19Value: String; virtual;
    procedure SetSUFIJO_N19Value(const aValue: String); virtual;
    function GetSUFIJO_N19IsNull: Boolean; virtual;
    procedure SetSUFIJO_N19IsNull(const aValue: Boolean); virtual;
    function GetSUFIJO_N58Value: String; virtual;
    procedure SetSUFIJO_N58Value(const aValue: String); virtual;
    function GetSUFIJO_N58IsNull: Boolean; virtual;
    procedure SetSUFIJO_N58IsNull(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 NOMBRE: String read GetNOMBREValue write SetNOMBREValue;
    property NOMBREIsNull: Boolean read GetNOMBREIsNull write SetNOMBREIsNull;
    property ENTIDAD: String read GetENTIDADValue write SetENTIDADValue;
    property ENTIDADIsNull: Boolean read GetENTIDADIsNull write SetENTIDADIsNull;
    property SUCURSAL: String read GetSUCURSALValue write SetSUCURSALValue;
    property SUCURSALIsNull: Boolean read GetSUCURSALIsNull write SetSUCURSALIsNull;
    property DC: String read GetDCValue write SetDCValue;
    property DCIsNull: Boolean read GetDCIsNull write SetDCIsNull;
    property CUENTA: String read GetCUENTAValue write SetCUENTAValue;
    property CUENTAIsNull: Boolean read GetCUENTAIsNull write SetCUENTAIsNull;
    property SUFIJO_N19: String read GetSUFIJO_N19Value write SetSUFIJO_N19Value;
    property SUFIJO_N19IsNull: Boolean read GetSUFIJO_N19IsNull write SetSUFIJO_N19IsNull;
    property SUFIJO_N58: String read GetSUFIJO_N58Value write SetSUFIJO_N58Value;
    property SUFIJO_N58IsNull: Boolean read GetSUFIJO_N58IsNull write SetSUFIJO_N58IsNull;

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

  end;

implementation

uses Variants, uROBinaryHelpers;

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

  StrList := TStringList.Create;
  StrList.OnChange := NOTAS_OnChange;
  f_NOTAS := NewROStrings(StrList,True);
end;

destructor TEmpresasTiendasDataTableRules.Destroy;
begin
  inherited;
end;

procedure TEmpresasTiendasDataTableRules.NOTAS_OnChange(Sender: TObject);
begin
  if DataTable.Editing then DataTable.Fields[idx_EmpresasTiendasNOTAS].AsVariant := TStringList(Sender).Text;
end;

function TEmpresasTiendasDataTableRules.GetIDValue: Integer;
begin
  result := DataTable.Fields[idx_EmpresasTiendasID].AsInteger;
end;

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

function TEmpresasTiendasDataTableRules.GetIDIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpresasTiendasID].IsNull;
end;

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

function TEmpresasTiendasDataTableRules.GetID_EMPRESAValue: Integer;
begin
  result := DataTable.Fields[idx_EmpresasTiendasID_EMPRESA].AsInteger;
end;

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

function TEmpresasTiendasDataTableRules.GetID_EMPRESAIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpresasTiendasID_EMPRESA].IsNull;
end;

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

function TEmpresasTiendasDataTableRules.GetCALLEValue: String;
begin
  result := DataTable.Fields[idx_EmpresasTiendasCALLE].AsString;
end;

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

function TEmpresasTiendasDataTableRules.GetCALLEIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpresasTiendasCALLE].IsNull;
end;

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

function TEmpresasTiendasDataTableRules.GetPOBLACIONValue: String;
begin
  result := DataTable.Fields[idx_EmpresasTiendasPOBLACION].AsString;
end;

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

function TEmpresasTiendasDataTableRules.GetPOBLACIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpresasTiendasPOBLACION].IsNull;
end;

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

function TEmpresasTiendasDataTableRules.GetPROVINCIAValue: String;
begin
  result := DataTable.Fields[idx_EmpresasTiendasPROVINCIA].AsString;
end;

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

function TEmpresasTiendasDataTableRules.GetPROVINCIAIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpresasTiendasPROVINCIA].IsNull;
end;

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

function TEmpresasTiendasDataTableRules.GetCODIGO_POSTALValue: String;
begin
  result := DataTable.Fields[idx_EmpresasTiendasCODIGO_POSTAL].AsString;
end;

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

function TEmpresasTiendasDataTableRules.GetCODIGO_POSTALIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpresasTiendasCODIGO_POSTAL].IsNull;
end;

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

function TEmpresasTiendasDataTableRules.GetPERSONA_CONTACTOValue: String;
begin
  result := DataTable.Fields[idx_EmpresasTiendasPERSONA_CONTACTO].AsString;
end;

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

function TEmpresasTiendasDataTableRules.GetPERSONA_CONTACTOIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpresasTiendasPERSONA_CONTACTO].IsNull;
end;

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

function TEmpresasTiendasDataTableRules.GetNOMBREValue: String;
begin
  result := DataTable.Fields[idx_EmpresasTiendasNOMBRE].AsString;
end;

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

function TEmpresasTiendasDataTableRules.GetNOMBREIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpresasTiendasNOMBRE].IsNull;
end;

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

function TEmpresasTiendasDataTableRules.GetTELEFONOValue: String;
begin
  result := DataTable.Fields[idx_EmpresasTiendasTELEFONO].AsString;
end;

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

function TEmpresasTiendasDataTableRules.GetTELEFONOIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpresasTiendasTELEFONO].IsNull;
end;

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

function TEmpresasTiendasDataTableRules.GetMOVILValue: String;
begin
  result := DataTable.Fields[idx_EmpresasTiendasMOVIL].AsString;
end;

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

function TEmpresasTiendasDataTableRules.GetMOVILIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpresasTiendasMOVIL].IsNull;
end;

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

function TEmpresasTiendasDataTableRules.GetFAXValue: String;
begin
  result := DataTable.Fields[idx_EmpresasTiendasFAX].AsString;
end;

procedure TEmpresasTiendasDataTableRules.SetFAXValue(const aValue: String);
begin
  DataTable.Fields[idx_EmpresasTiendasFAX].AsString := aValue;
end;

function TEmpresasTiendasDataTableRules.GetFAXIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpresasTiendasFAX].IsNull;
end;

procedure TEmpresasTiendasDataTableRules.SetFAXIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_EmpresasTiendasFAX].AsVariant := Null;
end;

function TEmpresasTiendasDataTableRules.GetEMAILValue: String;
begin
  result := DataTable.Fields[idx_EmpresasTiendasEMAIL].AsString;
end;

procedure TEmpresasTiendasDataTableRules.SetEMAILValue(const aValue: String);
begin
  DataTable.Fields[idx_EmpresasTiendasEMAIL].AsString := aValue;
end;

function TEmpresasTiendasDataTableRules.GetEMAILIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpresasTiendasEMAIL].IsNull;
end;

procedure TEmpresasTiendasDataTableRules.SetEMAILIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_EmpresasTiendasEMAIL].AsVariant := Null;
end;

function TEmpresasTiendasDataTableRules.GetNOTASValue: IROStrings;
begin
  result := f_NOTAS;
  result.Text := DataTable.Fields[idx_EmpresasTiendasNOTAS].AsString;
end;

function TEmpresasTiendasDataTableRules.GetNOTASIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpresasTiendasNOTAS].IsNull;
end;

procedure TEmpresasTiendasDataTableRules.SetNOTASIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_EmpresasTiendasNOTAS].AsVariant := Null;
end;

function TEmpresasTiendasDataTableRules.GetFECHA_ALTAValue: DateTime;
begin
  result := DataTable.Fields[idx_EmpresasTiendasFECHA_ALTA].AsDateTime;
end;

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

function TEmpresasTiendasDataTableRules.GetFECHA_ALTAIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpresasTiendasFECHA_ALTA].IsNull;
end;

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

function TEmpresasTiendasDataTableRules.GetFECHA_MODIFICACIONValue: DateTime;
begin
  result := DataTable.Fields[idx_EmpresasTiendasFECHA_MODIFICACION].AsDateTime;
end;

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

function TEmpresasTiendasDataTableRules.GetFECHA_MODIFICACIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpresasTiendasFECHA_MODIFICACION].IsNull;
end;

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

function TEmpresasTiendasDataTableRules.GetCODIGO_CONTABLEValue: String;
begin
  result := DataTable.Fields[idx_EmpresasTiendasCODIGO_CONTABLE].AsString;
end;

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

function TEmpresasTiendasDataTableRules.GetCODIGO_CONTABLEIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpresasTiendasCODIGO_CONTABLE].IsNull;
end;

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


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

  StrList := TStringList.Create;
  StrList.OnChange := NOTAS_OnChange;
  f_NOTAS := NewROStrings(StrList,True);

  ROStream := TROStream.Create;
  ROStream.OnChange := LOGOTIPO_OnChange;
  f_LOGOTIPO := ROStream;
end;

destructor TEmpresasDataTableRules.Destroy;
begin
  inherited;
end;

procedure TEmpresasDataTableRules.NOTAS_OnChange(Sender: TObject);
begin
  if DataTable.Editing then DataTable.Fields[idx_EmpresasNOTAS].AsVariant := TStringList(Sender).Text;
end;

procedure TEmpresasDataTableRules.LOGOTIPO_OnChange(Sender: TObject);
begin
  if DataTable.Editing then DataTable.Fields[idx_EmpresasLOGOTIPO].LoadFromStream(TROStream(Sender));
end;

function TEmpresasDataTableRules.GetIDValue: Integer;
begin
  result := DataTable.Fields[idx_EmpresasID].AsInteger;
end;

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

function TEmpresasDataTableRules.GetIDIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpresasID].IsNull;
end;

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

function TEmpresasDataTableRules.GetNIF_CIFValue: String;
begin
  result := DataTable.Fields[idx_EmpresasNIF_CIF].AsString;
end;

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

function TEmpresasDataTableRules.GetNIF_CIFIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpresasNIF_CIF].IsNull;
end;

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

function TEmpresasDataTableRules.GetNOMBREValue: String;
begin
  result := DataTable.Fields[idx_EmpresasNOMBRE].AsString;
end;

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

function TEmpresasDataTableRules.GetNOMBREIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpresasNOMBRE].IsNull;
end;

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

function TEmpresasDataTableRules.GetRAZON_SOCIALValue: String;
begin
  result := DataTable.Fields[idx_EmpresasRAZON_SOCIAL].AsString;
end;

procedure TEmpresasDataTableRules.SetRAZON_SOCIALValue(const aValue: String);
begin
  DataTable.Fields[idx_EmpresasRAZON_SOCIAL].AsString := aValue;
end;

function TEmpresasDataTableRules.GetRAZON_SOCIALIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpresasRAZON_SOCIAL].IsNull;
end;

procedure TEmpresasDataTableRules.SetRAZON_SOCIALIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_EmpresasRAZON_SOCIAL].AsVariant := Null;
end;

function TEmpresasDataTableRules.GetCALLEValue: String;
begin
  result := DataTable.Fields[idx_EmpresasCALLE].AsString;
end;

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

function TEmpresasDataTableRules.GetCALLEIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpresasCALLE].IsNull;
end;

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

function TEmpresasDataTableRules.GetPOBLACIONValue: String;
begin
  result := DataTable.Fields[idx_EmpresasPOBLACION].AsString;
end;

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

function TEmpresasDataTableRules.GetPOBLACIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpresasPOBLACION].IsNull;
end;

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

function TEmpresasDataTableRules.GetPROVINCIAValue: String;
begin
  result := DataTable.Fields[idx_EmpresasPROVINCIA].AsString;
end;

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

function TEmpresasDataTableRules.GetPROVINCIAIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpresasPROVINCIA].IsNull;
end;

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

function TEmpresasDataTableRules.GetCODIGO_POSTALValue: String;
begin
  result := DataTable.Fields[idx_EmpresasCODIGO_POSTAL].AsString;
end;

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

function TEmpresasDataTableRules.GetCODIGO_POSTALIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpresasCODIGO_POSTAL].IsNull;
end;

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

function TEmpresasDataTableRules.GetTELEFONO_1Value: String;
begin
  result := DataTable.Fields[idx_EmpresasTELEFONO_1].AsString;
end;

procedure TEmpresasDataTableRules.SetTELEFONO_1Value(const aValue: String);
begin
  DataTable.Fields[idx_EmpresasTELEFONO_1].AsString := aValue;
end;

function TEmpresasDataTableRules.GetTELEFONO_1IsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpresasTELEFONO_1].IsNull;
end;

procedure TEmpresasDataTableRules.SetTELEFONO_1IsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_EmpresasTELEFONO_1].AsVariant := Null;
end;

function TEmpresasDataTableRules.GetTELEFONO_2Value: String;
begin
  result := DataTable.Fields[idx_EmpresasTELEFONO_2].AsString;
end;

procedure TEmpresasDataTableRules.SetTELEFONO_2Value(const aValue: String);
begin
  DataTable.Fields[idx_EmpresasTELEFONO_2].AsString := aValue;
end;

function TEmpresasDataTableRules.GetTELEFONO_2IsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpresasTELEFONO_2].IsNull;
end;

procedure TEmpresasDataTableRules.SetTELEFONO_2IsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_EmpresasTELEFONO_2].AsVariant := Null;
end;

function TEmpresasDataTableRules.GetMOVIL_1Value: String;
begin
  result := DataTable.Fields[idx_EmpresasMOVIL_1].AsString;
end;

procedure TEmpresasDataTableRules.SetMOVIL_1Value(const aValue: String);
begin
  DataTable.Fields[idx_EmpresasMOVIL_1].AsString := aValue;
end;

function TEmpresasDataTableRules.GetMOVIL_1IsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpresasMOVIL_1].IsNull;
end;

procedure TEmpresasDataTableRules.SetMOVIL_1IsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_EmpresasMOVIL_1].AsVariant := Null;
end;

function TEmpresasDataTableRules.GetMOVIL_2Value: String;
begin
  result := DataTable.Fields[idx_EmpresasMOVIL_2].AsString;
end;

procedure TEmpresasDataTableRules.SetMOVIL_2Value(const aValue: String);
begin
  DataTable.Fields[idx_EmpresasMOVIL_2].AsString := aValue;
end;

function TEmpresasDataTableRules.GetMOVIL_2IsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpresasMOVIL_2].IsNull;
end;

procedure TEmpresasDataTableRules.SetMOVIL_2IsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_EmpresasMOVIL_2].AsVariant := Null;
end;

function TEmpresasDataTableRules.GetFAXValue: String;
begin
  result := DataTable.Fields[idx_EmpresasFAX].AsString;
end;

procedure TEmpresasDataTableRules.SetFAXValue(const aValue: String);
begin
  DataTable.Fields[idx_EmpresasFAX].AsString := aValue;
end;

function TEmpresasDataTableRules.GetFAXIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpresasFAX].IsNull;
end;

procedure TEmpresasDataTableRules.SetFAXIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_EmpresasFAX].AsVariant := Null;
end;

function TEmpresasDataTableRules.GetEMAIL_1Value: String;
begin
  result := DataTable.Fields[idx_EmpresasEMAIL_1].AsString;
end;

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

function TEmpresasDataTableRules.GetEMAIL_1IsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpresasEMAIL_1].IsNull;
end;

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

function TEmpresasDataTableRules.GetEMAIL_2Value: String;
begin
  result := DataTable.Fields[idx_EmpresasEMAIL_2].AsString;
end;

procedure TEmpresasDataTableRules.SetEMAIL_2Value(const aValue: String);
begin
  DataTable.Fields[idx_EmpresasEMAIL_2].AsString := aValue;
end;

function TEmpresasDataTableRules.GetEMAIL_2IsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpresasEMAIL_2].IsNull;
end;

procedure TEmpresasDataTableRules.SetEMAIL_2IsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_EmpresasEMAIL_2].AsVariant := Null;
end;

function TEmpresasDataTableRules.GetPAGINA_WEBValue: String;
begin
  result := DataTable.Fields[idx_EmpresasPAGINA_WEB].AsString;
end;

procedure TEmpresasDataTableRules.SetPAGINA_WEBValue(const aValue: String);
begin
  DataTable.Fields[idx_EmpresasPAGINA_WEB].AsString := aValue;
end;

function TEmpresasDataTableRules.GetPAGINA_WEBIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpresasPAGINA_WEB].IsNull;
end;

procedure TEmpresasDataTableRules.SetPAGINA_WEBIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_EmpresasPAGINA_WEB].AsVariant := Null;
end;

function TEmpresasDataTableRules.GetNOTASValue: IROStrings;
begin
  result := f_NOTAS;
  result.Text := DataTable.Fields[idx_EmpresasNOTAS].AsString;
end;

function TEmpresasDataTableRules.GetNOTASIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpresasNOTAS].IsNull;
end;

procedure TEmpresasDataTableRules.SetNOTASIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_EmpresasNOTAS].AsVariant := Null;
end;

function TEmpresasDataTableRules.GetFECHA_ALTAValue: DateTime;
begin
  result := DataTable.Fields[idx_EmpresasFECHA_ALTA].AsDateTime;
end;

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

function TEmpresasDataTableRules.GetFECHA_ALTAIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpresasFECHA_ALTA].IsNull;
end;

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

function TEmpresasDataTableRules.GetFECHA_MODIFICACIONValue: DateTime;
begin
  result := DataTable.Fields[idx_EmpresasFECHA_MODIFICACION].AsDateTime;
end;

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

function TEmpresasDataTableRules.GetFECHA_MODIFICACIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpresasFECHA_MODIFICACION].IsNull;
end;

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

function TEmpresasDataTableRules.GetUSUARIOValue: String;
begin
  result := DataTable.Fields[idx_EmpresasUSUARIO].AsString;
end;

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

function TEmpresasDataTableRules.GetUSUARIOIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpresasUSUARIO].IsNull;
end;

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

function TEmpresasDataTableRules.GetLOGOTIPOValue: IROStream;
begin
  result := f_LOGOTIPO;
  result.Position := 0;
  if not Result.InUpdateMode then begin
    DataTable.Fields[idx_EmpresasLOGOTIPO].SaveToStream(result);
    result.Position := 0;
  end;
end;

function TEmpresasDataTableRules.GetLOGOTIPOIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpresasLOGOTIPO].IsNull;
end;

procedure TEmpresasDataTableRules.SetLOGOTIPOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_EmpresasLOGOTIPO].AsVariant := Null;
end;

function TEmpresasDataTableRules.GetREGISTRO_MERCANTILValue: String;
begin
  result := DataTable.Fields[idx_EmpresasREGISTRO_MERCANTIL].AsString;
end;

procedure TEmpresasDataTableRules.SetREGISTRO_MERCANTILValue(const aValue: String);
begin
  DataTable.Fields[idx_EmpresasREGISTRO_MERCANTIL].AsString := aValue;
end;

function TEmpresasDataTableRules.GetREGISTRO_MERCANTILIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpresasREGISTRO_MERCANTIL].IsNull;
end;

procedure TEmpresasDataTableRules.SetREGISTRO_MERCANTILIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_EmpresasREGISTRO_MERCANTIL].AsVariant := Null;
end;

function TEmpresasDataTableRules.GetID_TIPO_IVAValue: SmallInt;
begin
  result := DataTable.Fields[idx_EmpresasID_TIPO_IVA].AsSmallInt;
end;

procedure TEmpresasDataTableRules.SetID_TIPO_IVAValue(const aValue: SmallInt);
begin
  DataTable.Fields[idx_EmpresasID_TIPO_IVA].AsSmallInt := aValue;
end;

function TEmpresasDataTableRules.GetID_TIPO_IVAIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpresasID_TIPO_IVA].IsNull;
end;

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

function TEmpresasDataTableRules.GetID_FORMA_PAGOValue: SmallInt;
begin
  result := DataTable.Fields[idx_EmpresasID_FORMA_PAGO].AsSmallInt;
end;

procedure TEmpresasDataTableRules.SetID_FORMA_PAGOValue(const aValue: SmallInt);
begin
  DataTable.Fields[idx_EmpresasID_FORMA_PAGO].AsSmallInt := aValue;
end;

function TEmpresasDataTableRules.GetID_FORMA_PAGOIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpresasID_FORMA_PAGO].IsNull;
end;

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

function TEmpresasDataTableRules.GetVALIDEZ_PRESUPUESTOSValue: SmallInt;
begin
  result := DataTable.Fields[idx_EmpresasVALIDEZ_PRESUPUESTOS].AsSmallInt;
end;

procedure TEmpresasDataTableRules.SetVALIDEZ_PRESUPUESTOSValue(const aValue: SmallInt);
begin
  DataTable.Fields[idx_EmpresasVALIDEZ_PRESUPUESTOS].AsSmallInt := aValue;
end;

function TEmpresasDataTableRules.GetVALIDEZ_PRESUPUESTOSIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpresasVALIDEZ_PRESUPUESTOS].IsNull;
end;

procedure TEmpresasDataTableRules.SetVALIDEZ_PRESUPUESTOSIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_EmpresasVALIDEZ_PRESUPUESTOS].AsVariant := Null;
end;

function TEmpresasDataTableRules.GetNUM_ORDENValue: SmallInt;
begin
  result := DataTable.Fields[idx_EmpresasNUM_ORDEN].AsSmallInt;
end;

procedure TEmpresasDataTableRules.SetNUM_ORDENValue(const aValue: SmallInt);
begin
  DataTable.Fields[idx_EmpresasNUM_ORDEN].AsSmallInt := aValue;
end;

function TEmpresasDataTableRules.GetNUM_ORDENIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpresasNUM_ORDEN].IsNull;
end;

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

function TEmpresasDataTableRules.GetID_PERFILValue: Integer;
begin
  result := DataTable.Fields[idx_EmpresasID_PERFIL].AsInteger;
end;

procedure TEmpresasDataTableRules.SetID_PERFILValue(const aValue: Integer);
begin
  DataTable.Fields[idx_EmpresasID_PERFIL].AsInteger := aValue;
end;

function TEmpresasDataTableRules.GetID_PERFILIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpresasID_PERFIL].IsNull;
end;

procedure TEmpresasDataTableRules.SetID_PERFILIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_EmpresasID_PERFIL].AsVariant := Null;
end;


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

destructor TEmpresasDatosBancoDataTableRules.Destroy;
begin
  inherited;
end;

function TEmpresasDatosBancoDataTableRules.GetIDValue: Integer;
begin
  result := DataTable.Fields[idx_EmpresasDatosBancoID].AsInteger;
end;

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

function TEmpresasDatosBancoDataTableRules.GetIDIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpresasDatosBancoID].IsNull;
end;

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

function TEmpresasDatosBancoDataTableRules.GetID_EMPRESAValue: Integer;
begin
  result := DataTable.Fields[idx_EmpresasDatosBancoID_EMPRESA].AsInteger;
end;

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

function TEmpresasDatosBancoDataTableRules.GetID_EMPRESAIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpresasDatosBancoID_EMPRESA].IsNull;
end;

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

function TEmpresasDatosBancoDataTableRules.GetNOMBREValue: String;
begin
  result := DataTable.Fields[idx_EmpresasDatosBancoNOMBRE].AsString;
end;

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

function TEmpresasDatosBancoDataTableRules.GetNOMBREIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpresasDatosBancoNOMBRE].IsNull;
end;

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

function TEmpresasDatosBancoDataTableRules.GetENTIDADValue: String;
begin
  result := DataTable.Fields[idx_EmpresasDatosBancoENTIDAD].AsString;
end;

procedure TEmpresasDatosBancoDataTableRules.SetENTIDADValue(const aValue: String);
begin
  DataTable.Fields[idx_EmpresasDatosBancoENTIDAD].AsString := aValue;
end;

function TEmpresasDatosBancoDataTableRules.GetENTIDADIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpresasDatosBancoENTIDAD].IsNull;
end;

procedure TEmpresasDatosBancoDataTableRules.SetENTIDADIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_EmpresasDatosBancoENTIDAD].AsVariant := Null;
end;

function TEmpresasDatosBancoDataTableRules.GetSUCURSALValue: String;
begin
  result := DataTable.Fields[idx_EmpresasDatosBancoSUCURSAL].AsString;
end;

procedure TEmpresasDatosBancoDataTableRules.SetSUCURSALValue(const aValue: String);
begin
  DataTable.Fields[idx_EmpresasDatosBancoSUCURSAL].AsString := aValue;
end;

function TEmpresasDatosBancoDataTableRules.GetSUCURSALIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpresasDatosBancoSUCURSAL].IsNull;
end;

procedure TEmpresasDatosBancoDataTableRules.SetSUCURSALIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_EmpresasDatosBancoSUCURSAL].AsVariant := Null;
end;

function TEmpresasDatosBancoDataTableRules.GetDCValue: String;
begin
  result := DataTable.Fields[idx_EmpresasDatosBancoDC].AsString;
end;

procedure TEmpresasDatosBancoDataTableRules.SetDCValue(const aValue: String);
begin
  DataTable.Fields[idx_EmpresasDatosBancoDC].AsString := aValue;
end;

function TEmpresasDatosBancoDataTableRules.GetDCIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpresasDatosBancoDC].IsNull;
end;

procedure TEmpresasDatosBancoDataTableRules.SetDCIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_EmpresasDatosBancoDC].AsVariant := Null;
end;

function TEmpresasDatosBancoDataTableRules.GetCUENTAValue: String;
begin
  result := DataTable.Fields[idx_EmpresasDatosBancoCUENTA].AsString;
end;

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

function TEmpresasDatosBancoDataTableRules.GetCUENTAIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpresasDatosBancoCUENTA].IsNull;
end;

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

function TEmpresasDatosBancoDataTableRules.GetSUFIJO_N19Value: String;
begin
  result := DataTable.Fields[idx_EmpresasDatosBancoSUFIJO_N19].AsString;
end;

procedure TEmpresasDatosBancoDataTableRules.SetSUFIJO_N19Value(const aValue: String);
begin
  DataTable.Fields[idx_EmpresasDatosBancoSUFIJO_N19].AsString := aValue;
end;

function TEmpresasDatosBancoDataTableRules.GetSUFIJO_N19IsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpresasDatosBancoSUFIJO_N19].IsNull;
end;

procedure TEmpresasDatosBancoDataTableRules.SetSUFIJO_N19IsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_EmpresasDatosBancoSUFIJO_N19].AsVariant := Null;
end;

function TEmpresasDatosBancoDataTableRules.GetSUFIJO_N58Value: String;
begin
  result := DataTable.Fields[idx_EmpresasDatosBancoSUFIJO_N58].AsString;
end;

procedure TEmpresasDatosBancoDataTableRules.SetSUFIJO_N58Value(const aValue: String);
begin
  DataTable.Fields[idx_EmpresasDatosBancoSUFIJO_N58].AsString := aValue;
end;

function TEmpresasDatosBancoDataTableRules.GetSUFIJO_N58IsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpresasDatosBancoSUFIJO_N58].IsNull;
end;

procedure TEmpresasDatosBancoDataTableRules.SetSUFIJO_N58IsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_EmpresasDatosBancoSUFIJO_N58].AsVariant := Null;
end;


initialization
  RegisterDataTableRules(RID_EmpresasTiendas, TEmpresasTiendasDataTableRules);
  RegisterDataTableRules(RID_Empresas, TEmpresasDataTableRules);
  RegisterDataTableRules(RID_EmpresasDatosBanco, TEmpresasDatosBancoDataTableRules);

end.
