unit schContactosClient_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_DarEmpresasContacto = '{3DF020EA-5271-4506-A1E1-F56352A27564}';
  RID_PersonalContacto = '{B221E6A5-B945-4498-8360-54479172953F}';
  RID_DarTiendaDeUsuario = '{A507F3BA-5BD6-4615-BCD9-0E8FA9B7B28D}';
  RID_SubCuentasContacto = '{2F2E5BA1-C6F2-4DE4-B3B8-FC421C4EC640}';
  RID_Contactos = '{B536C491-082B-47EF-8C8D-A82F6D9D2D7C}';
  RID_GruposCliente = '{F12B9E93-476B-443E-BA2A-E268B2AAB12A}';
  RID_DatosBancarios = '{8E22C403-5181-4D0E-AC75-62491E2695A5}';
  RID_ContactosDirecciones = '{4953A4FB-07F9-4CE0-AD1C-B8CA384B81C5}';
  RID_Clientes = '{3D2718CC-26C4-4683-8E64-50146634CF04}';
  RID_Proveedores = '{05805FA0-E5E3-4EC6-B8E3-DC041BEAC9ED}';
  RID_Vendedores = '{18390BFA-6F9F-406E-958A-368A48B81814}';
  RID_DireccionesContacto = '{D2B45D83-5CEB-4853-9DA1-B5DB4D63F6E6}';
  RID_ClientesDescuentos = '{1A4C6382-E235-4EFC-A1D8-3C5EF966789E}';
  RID_ProcedenciasCliente = '{6722E249-E263-41B7-8CC6-9E0A7DD69150}';
  RID_GruposProveedor = '{D49F5735-A212-4160-95AC-404229DB30B3}';
  RID_Contactos_Refresh = '{39F8AB3C-6980-4652-8789-416699B21C34}';

  { Data table names }
  nme_DarEmpresasContacto = 'DarEmpresasContacto';
  nme_PersonalContacto = 'PersonalContacto';
  nme_DarTiendaDeUsuario = 'DarTiendaDeUsuario';
  nme_SubCuentasContacto = 'SubCuentasContacto';
  nme_Contactos = 'Contactos';
  nme_GruposCliente = 'GruposCliente';
  nme_DatosBancarios = 'DatosBancarios';
  nme_ContactosDirecciones = 'ContactosDirecciones';
  nme_Clientes = 'Clientes';
  nme_Proveedores = 'Proveedores';
  nme_Vendedores = 'Vendedores';
  nme_DireccionesContacto = 'DireccionesContacto';
  nme_ClientesDescuentos = 'ClientesDescuentos';
  nme_ProcedenciasCliente = 'ProcedenciasCliente';
  nme_GruposProveedor = 'GruposProveedor';
  nme_Contactos_Refresh = 'Contactos_Refresh';

  { DarEmpresasContacto fields }
  fld_DarEmpresasContactoID_EMPRESA = 'ID_EMPRESA';

  { DarEmpresasContacto field indexes }
  idx_DarEmpresasContactoID_EMPRESA = 0;

  { PersonalContacto fields }
  fld_PersonalContactoID = 'ID';
  fld_PersonalContactoID_CONTACTO = 'ID_CONTACTO';
  fld_PersonalContactoNOMBRE = 'NOMBRE';
  fld_PersonalContactoPUESTO = 'PUESTO';
  fld_PersonalContactoTELEFONO = 'TELEFONO';
  fld_PersonalContactoMOVIL = 'MOVIL';
  fld_PersonalContactoFAX = 'FAX';
  fld_PersonalContactoEMAIL = 'EMAIL';
  fld_PersonalContactoFECHA_ALTA = 'FECHA_ALTA';
  fld_PersonalContactoFECHA_MODIFICACION = 'FECHA_MODIFICACION';

  { PersonalContacto field indexes }
  idx_PersonalContactoID = 0;
  idx_PersonalContactoID_CONTACTO = 1;
  idx_PersonalContactoNOMBRE = 2;
  idx_PersonalContactoPUESTO = 3;
  idx_PersonalContactoTELEFONO = 4;
  idx_PersonalContactoMOVIL = 5;
  idx_PersonalContactoFAX = 6;
  idx_PersonalContactoEMAIL = 7;
  idx_PersonalContactoFECHA_ALTA = 8;
  idx_PersonalContactoFECHA_MODIFICACION = 9;

  { DarTiendaDeUsuario fields }
  fld_DarTiendaDeUsuarioID_TIENDA = 'ID_TIENDA';

  { DarTiendaDeUsuario field indexes }
  idx_DarTiendaDeUsuarioID_TIENDA = 0;

  { SubCuentasContacto fields }
  fld_SubCuentasContactoID = 'ID';
  fld_SubCuentasContactoREF_SUBCUENTA = 'REF_SUBCUENTA';
  fld_SubCuentasContactoDESCRIPCION = 'DESCRIPCION';
  fld_SubCuentasContactoID_CUENTA = 'ID_CUENTA';
  fld_SubCuentasContactoID_EJERCICIO = 'ID_EJERCICIO';
  fld_SubCuentasContactoID_CONTACTO = 'ID_CONTACTO';

  { SubCuentasContacto field indexes }
  idx_SubCuentasContactoID = 0;
  idx_SubCuentasContactoREF_SUBCUENTA = 1;
  idx_SubCuentasContactoDESCRIPCION = 2;
  idx_SubCuentasContactoID_CUENTA = 3;
  idx_SubCuentasContactoID_EJERCICIO = 4;
  idx_SubCuentasContactoID_CONTACTO = 5;

  { Contactos fields }
  fld_ContactosID = 'ID';
  fld_ContactosID_CATEGORIA = 'ID_CATEGORIA';
  fld_ContactosNIF_CIF = 'NIF_CIF';
  fld_ContactosNOMBRE = 'NOMBRE';
  fld_ContactosPERSONA_CONTACTO = 'PERSONA_CONTACTO';
  fld_ContactosCALLE = 'CALLE';
  fld_ContactosPOBLACION = 'POBLACION';
  fld_ContactosPROVINCIA = 'PROVINCIA';
  fld_ContactosCODIGO_POSTAL = 'CODIGO_POSTAL';
  fld_ContactosTELEFONO_1 = 'TELEFONO_1';
  fld_ContactosTELEFONO_2 = 'TELEFONO_2';
  fld_ContactosMOVIL_1 = 'MOVIL_1';
  fld_ContactosMOVIL_2 = 'MOVIL_2';
  fld_ContactosFAX = 'FAX';
  fld_ContactosEMAIL_1 = 'EMAIL_1';
  fld_ContactosEMAIL_2 = 'EMAIL_2';
  fld_ContactosPAGINA_WEB = 'PAGINA_WEB';
  fld_ContactosNOTAS = 'NOTAS';
  fld_ContactosFECHA_ALTA = 'FECHA_ALTA';
  fld_ContactosFECHA_MODIFICACION = 'FECHA_MODIFICACION';
  fld_ContactosUSUARIO = 'USUARIO';
  fld_ContactosID_EMPRESA = 'ID_EMPRESA';
  fld_ContactosREFERENCIA = 'REFERENCIA';
  fld_ContactosID_TIENDA = 'ID_TIENDA';
  fld_ContactosTIENDA = 'TIENDA';

  { Contactos field indexes }
  idx_ContactosID = 0;
  idx_ContactosID_CATEGORIA = 1;
  idx_ContactosNIF_CIF = 2;
  idx_ContactosNOMBRE = 3;
  idx_ContactosPERSONA_CONTACTO = 4;
  idx_ContactosCALLE = 5;
  idx_ContactosPOBLACION = 6;
  idx_ContactosPROVINCIA = 7;
  idx_ContactosCODIGO_POSTAL = 8;
  idx_ContactosTELEFONO_1 = 9;
  idx_ContactosTELEFONO_2 = 10;
  idx_ContactosMOVIL_1 = 11;
  idx_ContactosMOVIL_2 = 12;
  idx_ContactosFAX = 13;
  idx_ContactosEMAIL_1 = 14;
  idx_ContactosEMAIL_2 = 15;
  idx_ContactosPAGINA_WEB = 16;
  idx_ContactosNOTAS = 17;
  idx_ContactosFECHA_ALTA = 18;
  idx_ContactosFECHA_MODIFICACION = 19;
  idx_ContactosUSUARIO = 20;
  idx_ContactosID_EMPRESA = 21;
  idx_ContactosREFERENCIA = 22;
  idx_ContactosID_TIENDA = 23;
  idx_ContactosTIENDA = 24;

  { GruposCliente fields }
  fld_GruposClienteID = 'ID';
  fld_GruposClienteDESCRIPCION = 'DESCRIPCION';

  { GruposCliente field indexes }
  idx_GruposClienteID = 0;
  idx_GruposClienteDESCRIPCION = 1;

  { DatosBancarios fields }
  fld_DatosBancariosID = 'ID';
  fld_DatosBancariosID_CONTACTO = 'ID_CONTACTO';
  fld_DatosBancariosTITULAR = 'TITULAR';
  fld_DatosBancariosENTIDAD = 'ENTIDAD';
  fld_DatosBancariosSUCURSAL = 'SUCURSAL';
  fld_DatosBancariosDC = 'DC';
  fld_DatosBancariosCUENTA = 'CUENTA';
  fld_DatosBancariosFECHA_ALTA = 'FECHA_ALTA';
  fld_DatosBancariosFECHA_MODIFICACION = 'FECHA_MODIFICACION';

  { DatosBancarios field indexes }
  idx_DatosBancariosID = 0;
  idx_DatosBancariosID_CONTACTO = 1;
  idx_DatosBancariosTITULAR = 2;
  idx_DatosBancariosENTIDAD = 3;
  idx_DatosBancariosSUCURSAL = 4;
  idx_DatosBancariosDC = 5;
  idx_DatosBancariosCUENTA = 6;
  idx_DatosBancariosFECHA_ALTA = 7;
  idx_DatosBancariosFECHA_MODIFICACION = 8;

  { ContactosDirecciones fields }
  fld_ContactosDireccionesID_CONTACTO = 'ID_CONTACTO';
  fld_ContactosDireccionesID_DIRECCION = 'ID_DIRECCION';
  fld_ContactosDireccionesNOMBRE = 'NOMBRE';
  fld_ContactosDireccionesNIF_CIF = 'NIF_CIF';
  fld_ContactosDireccionesCALLE = 'CALLE';
  fld_ContactosDireccionesPOBLACION = 'POBLACION';
  fld_ContactosDireccionesPROVINCIA = 'PROVINCIA';
  fld_ContactosDireccionesCODIGO_POSTAL = 'CODIGO_POSTAL';
  fld_ContactosDireccionesTELEFONO = 'TELEFONO';
  fld_ContactosDireccionesMOVIL = 'MOVIL';
  fld_ContactosDireccionesFAX = 'FAX';
  fld_ContactosDireccionesEMAIL = 'EMAIL';
  fld_ContactosDireccionesPERSONA_CONTACTO = 'PERSONA_CONTACTO';

  { ContactosDirecciones field indexes }
  idx_ContactosDireccionesID_CONTACTO = 0;
  idx_ContactosDireccionesID_DIRECCION = 1;
  idx_ContactosDireccionesNOMBRE = 2;
  idx_ContactosDireccionesNIF_CIF = 3;
  idx_ContactosDireccionesCALLE = 4;
  idx_ContactosDireccionesPOBLACION = 5;
  idx_ContactosDireccionesPROVINCIA = 6;
  idx_ContactosDireccionesCODIGO_POSTAL = 7;
  idx_ContactosDireccionesTELEFONO = 8;
  idx_ContactosDireccionesMOVIL = 9;
  idx_ContactosDireccionesFAX = 10;
  idx_ContactosDireccionesEMAIL = 11;
  idx_ContactosDireccionesPERSONA_CONTACTO = 12;

  { Clientes fields }
  fld_ClientesID = 'ID';
  fld_ClientesID_CATEGORIA = 'ID_CATEGORIA';
  fld_ClientesNIF_CIF = 'NIF_CIF';
  fld_ClientesNOMBRE = 'NOMBRE';
  fld_ClientesPERSONA_CONTACTO = 'PERSONA_CONTACTO';
  fld_ClientesCALLE = 'CALLE';
  fld_ClientesPOBLACION = 'POBLACION';
  fld_ClientesPROVINCIA = 'PROVINCIA';
  fld_ClientesCODIGO_POSTAL = 'CODIGO_POSTAL';
  fld_ClientesTELEFONO_1 = 'TELEFONO_1';
  fld_ClientesTELEFONO_2 = 'TELEFONO_2';
  fld_ClientesMOVIL_1 = 'MOVIL_1';
  fld_ClientesMOVIL_2 = 'MOVIL_2';
  fld_ClientesFAX = 'FAX';
  fld_ClientesEMAIL_1 = 'EMAIL_1';
  fld_ClientesEMAIL_2 = 'EMAIL_2';
  fld_ClientesPAGINA_WEB = 'PAGINA_WEB';
  fld_ClientesNOTAS = 'NOTAS';
  fld_ClientesFECHA_ALTA = 'FECHA_ALTA';
  fld_ClientesFECHA_MODIFICACION = 'FECHA_MODIFICACION';
  fld_ClientesUSUARIO = 'USUARIO';
  fld_ClientesID_EMPRESA = 'ID_EMPRESA';
  fld_ClientesREFERENCIA = 'REFERENCIA';
  fld_ClientesID_TIENDA = 'ID_TIENDA';
  fld_ClientesTIENDA = 'TIENDA';
  fld_ClientesGRUPO_CLIENTE = 'GRUPO_CLIENTE';
  fld_ClientesNOMBRE_COMERCIAL = 'NOMBRE_COMERCIAL';
  fld_ClientesBLOQUEADO = 'BLOQUEADO';
  fld_ClientesREGIMEN_IVA = 'REGIMEN_IVA';
  fld_ClientesMOTIVO_BLOQUEO = 'MOTIVO_BLOQUEO';
  fld_ClientesRECARGO_EQUIVALENCIA = 'RECARGO_EQUIVALENCIA';
  fld_ClientesID_TIPO_IVA = 'ID_TIPO_IVA';
  fld_ClientesID_FORMA_PAGO = 'ID_FORMA_PAGO';
  fld_ClientesTIENDA_WEB = 'TIENDA_WEB';
  fld_ClientesCODIGO_ASIGNADO = 'CODIGO_ASIGNADO';
  fld_ClientesIGNORAR_CONTABILIDAD = 'IGNORAR_CONTABILIDAD';
  fld_ClientesTIENE_SUBCUENTA = 'TIENE_SUBCUENTA';
  fld_ClientesPROCEDENCIA_CLIENTE = 'PROCEDENCIA_CLIENTE';
  fld_ClientesVENCIMIENTO_FACTURAS_1 = 'VENCIMIENTO_FACTURAS_1';
  fld_ClientesVENCIMIENTO_FACTURAS_2 = 'VENCIMIENTO_FACTURAS_2';
  fld_ClientesVENCIMIENTO_FACTURAS_3 = 'VENCIMIENTO_FACTURAS_3';
  fld_ClientesLISTA_NOMBRES = 'LISTA_NOMBRES';
  fld_ClientesLOPD = 'LOPD';

  { Clientes field indexes }
  idx_ClientesID = 0;
  idx_ClientesID_CATEGORIA = 1;
  idx_ClientesNIF_CIF = 2;
  idx_ClientesNOMBRE = 3;
  idx_ClientesPERSONA_CONTACTO = 4;
  idx_ClientesCALLE = 5;
  idx_ClientesPOBLACION = 6;
  idx_ClientesPROVINCIA = 7;
  idx_ClientesCODIGO_POSTAL = 8;
  idx_ClientesTELEFONO_1 = 9;
  idx_ClientesTELEFONO_2 = 10;
  idx_ClientesMOVIL_1 = 11;
  idx_ClientesMOVIL_2 = 12;
  idx_ClientesFAX = 13;
  idx_ClientesEMAIL_1 = 14;
  idx_ClientesEMAIL_2 = 15;
  idx_ClientesPAGINA_WEB = 16;
  idx_ClientesNOTAS = 17;
  idx_ClientesFECHA_ALTA = 18;
  idx_ClientesFECHA_MODIFICACION = 19;
  idx_ClientesUSUARIO = 20;
  idx_ClientesID_EMPRESA = 21;
  idx_ClientesREFERENCIA = 22;
  idx_ClientesID_TIENDA = 23;
  idx_ClientesTIENDA = 24;
  idx_ClientesGRUPO_CLIENTE = 25;
  idx_ClientesNOMBRE_COMERCIAL = 26;
  idx_ClientesBLOQUEADO = 27;
  idx_ClientesREGIMEN_IVA = 28;
  idx_ClientesMOTIVO_BLOQUEO = 29;
  idx_ClientesRECARGO_EQUIVALENCIA = 30;
  idx_ClientesID_TIPO_IVA = 31;
  idx_ClientesID_FORMA_PAGO = 32;
  idx_ClientesTIENDA_WEB = 33;
  idx_ClientesCODIGO_ASIGNADO = 34;
  idx_ClientesIGNORAR_CONTABILIDAD = 35;
  idx_ClientesTIENE_SUBCUENTA = 36;
  idx_ClientesPROCEDENCIA_CLIENTE = 37;
  idx_ClientesVENCIMIENTO_FACTURAS_1 = 38;
  idx_ClientesVENCIMIENTO_FACTURAS_2 = 39;
  idx_ClientesVENCIMIENTO_FACTURAS_3 = 40;
  idx_ClientesLISTA_NOMBRES = 41;
  idx_ClientesLOPD = 42;

  { Proveedores fields }
  fld_ProveedoresID = 'ID';
  fld_ProveedoresID_CATEGORIA = 'ID_CATEGORIA';
  fld_ProveedoresNIF_CIF = 'NIF_CIF';
  fld_ProveedoresNOMBRE = 'NOMBRE';
  fld_ProveedoresPERSONA_CONTACTO = 'PERSONA_CONTACTO';
  fld_ProveedoresCALLE = 'CALLE';
  fld_ProveedoresPOBLACION = 'POBLACION';
  fld_ProveedoresPROVINCIA = 'PROVINCIA';
  fld_ProveedoresCODIGO_POSTAL = 'CODIGO_POSTAL';
  fld_ProveedoresTELEFONO_1 = 'TELEFONO_1';
  fld_ProveedoresTELEFONO_2 = 'TELEFONO_2';
  fld_ProveedoresMOVIL_1 = 'MOVIL_1';
  fld_ProveedoresMOVIL_2 = 'MOVIL_2';
  fld_ProveedoresFAX = 'FAX';
  fld_ProveedoresEMAIL_1 = 'EMAIL_1';
  fld_ProveedoresEMAIL_2 = 'EMAIL_2';
  fld_ProveedoresPAGINA_WEB = 'PAGINA_WEB';
  fld_ProveedoresNOTAS = 'NOTAS';
  fld_ProveedoresFECHA_ALTA = 'FECHA_ALTA';
  fld_ProveedoresFECHA_MODIFICACION = 'FECHA_MODIFICACION';
  fld_ProveedoresUSUARIO = 'USUARIO';
  fld_ProveedoresID_EMPRESA = 'ID_EMPRESA';
  fld_ProveedoresREFERENCIA = 'REFERENCIA';
  fld_ProveedoresID_TIENDA = 'ID_TIENDA';
  fld_ProveedoresTIENDA = 'TIENDA';
  fld_ProveedoresDESCUENTO = 'DESCUENTO';
  fld_ProveedoresDESCRIPCION_PROVEEDOR = 'DESCRIPCION_PROVEEDOR';
  fld_ProveedoresCODIGO_ASIGNADO = 'CODIGO_ASIGNADO';
  fld_ProveedoresGRUPO_PROVEEDOR = 'GRUPO_PROVEEDOR';
  fld_ProveedoresREGIMEN_IVA = 'REGIMEN_IVA';
  fld_ProveedoresID_TIPO_IVA = 'ID_TIPO_IVA';
  fld_ProveedoresID_FORMA_PAGO = 'ID_FORMA_PAGO';
  fld_ProveedoresTIENDA_WEB = 'TIENDA_WEB';
  fld_ProveedoresHOMOLOGADO = 'HOMOLOGADO';
  fld_ProveedoresCERTIFICACION = 'CERTIFICACION';
  fld_ProveedoresIGNORAR_CONTABILIDAD = 'IGNORAR_CONTABILIDAD';
  fld_ProveedoresTIENE_SUBCUENTA = 'TIENE_SUBCUENTA';
  fld_ProveedoresNOMBRE_COMERCIAL = 'NOMBRE_COMERCIAL';
  fld_ProveedoresES_ACREEDOR = 'ES_ACREEDOR';
  fld_ProveedoresVENCIMIENTO_FACTURAS_1 = 'VENCIMIENTO_FACTURAS_1';
  fld_ProveedoresVENCIMIENTO_FACTURAS_2 = 'VENCIMIENTO_FACTURAS_2';
  fld_ProveedoresVENCIMIENTO_FACTURAS_3 = 'VENCIMIENTO_FACTURAS_3';

  { Proveedores field indexes }
  idx_ProveedoresID = 0;
  idx_ProveedoresID_CATEGORIA = 1;
  idx_ProveedoresNIF_CIF = 2;
  idx_ProveedoresNOMBRE = 3;
  idx_ProveedoresPERSONA_CONTACTO = 4;
  idx_ProveedoresCALLE = 5;
  idx_ProveedoresPOBLACION = 6;
  idx_ProveedoresPROVINCIA = 7;
  idx_ProveedoresCODIGO_POSTAL = 8;
  idx_ProveedoresTELEFONO_1 = 9;
  idx_ProveedoresTELEFONO_2 = 10;
  idx_ProveedoresMOVIL_1 = 11;
  idx_ProveedoresMOVIL_2 = 12;
  idx_ProveedoresFAX = 13;
  idx_ProveedoresEMAIL_1 = 14;
  idx_ProveedoresEMAIL_2 = 15;
  idx_ProveedoresPAGINA_WEB = 16;
  idx_ProveedoresNOTAS = 17;
  idx_ProveedoresFECHA_ALTA = 18;
  idx_ProveedoresFECHA_MODIFICACION = 19;
  idx_ProveedoresUSUARIO = 20;
  idx_ProveedoresID_EMPRESA = 21;
  idx_ProveedoresREFERENCIA = 22;
  idx_ProveedoresID_TIENDA = 23;
  idx_ProveedoresTIENDA = 24;
  idx_ProveedoresDESCUENTO = 25;
  idx_ProveedoresDESCRIPCION_PROVEEDOR = 26;
  idx_ProveedoresCODIGO_ASIGNADO = 27;
  idx_ProveedoresGRUPO_PROVEEDOR = 28;
  idx_ProveedoresREGIMEN_IVA = 29;
  idx_ProveedoresID_TIPO_IVA = 30;
  idx_ProveedoresID_FORMA_PAGO = 31;
  idx_ProveedoresTIENDA_WEB = 32;
  idx_ProveedoresHOMOLOGADO = 33;
  idx_ProveedoresCERTIFICACION = 34;
  idx_ProveedoresIGNORAR_CONTABILIDAD = 35;
  idx_ProveedoresTIENE_SUBCUENTA = 36;
  idx_ProveedoresNOMBRE_COMERCIAL = 37;
  idx_ProveedoresES_ACREEDOR = 38;
  idx_ProveedoresVENCIMIENTO_FACTURAS_1 = 39;
  idx_ProveedoresVENCIMIENTO_FACTURAS_2 = 40;
  idx_ProveedoresVENCIMIENTO_FACTURAS_3 = 41;

  { Vendedores fields }
  fld_VendedoresID = 'ID';
  fld_VendedoresID_CATEGORIA = 'ID_CATEGORIA';
  fld_VendedoresNIF_CIF = 'NIF_CIF';
  fld_VendedoresNOMBRE = 'NOMBRE';
  fld_VendedoresPERSONA_CONTACTO = 'PERSONA_CONTACTO';
  fld_VendedoresCALLE = 'CALLE';
  fld_VendedoresPOBLACION = 'POBLACION';
  fld_VendedoresPROVINCIA = 'PROVINCIA';
  fld_VendedoresCODIGO_POSTAL = 'CODIGO_POSTAL';
  fld_VendedoresTELEFONO_1 = 'TELEFONO_1';
  fld_VendedoresTELEFONO_2 = 'TELEFONO_2';
  fld_VendedoresMOVIL_1 = 'MOVIL_1';
  fld_VendedoresMOVIL_2 = 'MOVIL_2';
  fld_VendedoresFAX = 'FAX';
  fld_VendedoresEMAIL_1 = 'EMAIL_1';
  fld_VendedoresEMAIL_2 = 'EMAIL_2';
  fld_VendedoresPAGINA_WEB = 'PAGINA_WEB';
  fld_VendedoresNOTAS = 'NOTAS';
  fld_VendedoresFECHA_ALTA = 'FECHA_ALTA';
  fld_VendedoresFECHA_MODIFICACION = 'FECHA_MODIFICACION';
  fld_VendedoresUSUARIO = 'USUARIO';
  fld_VendedoresID_EMPRESA = 'ID_EMPRESA';
  fld_VendedoresREFERENCIA = 'REFERENCIA';
  fld_VendedoresID_TIENDA = 'ID_TIENDA';
  fld_VendedoresTIENDA = 'TIENDA';
  fld_VendedoresCOMISION = 'COMISION';
  fld_VendedoresID_USUARIO = 'ID_USUARIO';

  { Vendedores field indexes }
  idx_VendedoresID = 0;
  idx_VendedoresID_CATEGORIA = 1;
  idx_VendedoresNIF_CIF = 2;
  idx_VendedoresNOMBRE = 3;
  idx_VendedoresPERSONA_CONTACTO = 4;
  idx_VendedoresCALLE = 5;
  idx_VendedoresPOBLACION = 6;
  idx_VendedoresPROVINCIA = 7;
  idx_VendedoresCODIGO_POSTAL = 8;
  idx_VendedoresTELEFONO_1 = 9;
  idx_VendedoresTELEFONO_2 = 10;
  idx_VendedoresMOVIL_1 = 11;
  idx_VendedoresMOVIL_2 = 12;
  idx_VendedoresFAX = 13;
  idx_VendedoresEMAIL_1 = 14;
  idx_VendedoresEMAIL_2 = 15;
  idx_VendedoresPAGINA_WEB = 16;
  idx_VendedoresNOTAS = 17;
  idx_VendedoresFECHA_ALTA = 18;
  idx_VendedoresFECHA_MODIFICACION = 19;
  idx_VendedoresUSUARIO = 20;
  idx_VendedoresID_EMPRESA = 21;
  idx_VendedoresREFERENCIA = 22;
  idx_VendedoresID_TIENDA = 23;
  idx_VendedoresTIENDA = 24;
  idx_VendedoresCOMISION = 25;
  idx_VendedoresID_USUARIO = 26;

  { DireccionesContacto fields }
  fld_DireccionesContactoID = 'ID';
  fld_DireccionesContactoID_CONTACTO = 'ID_CONTACTO';
  fld_DireccionesContactoNIF_CIF = 'NIF_CIF';
  fld_DireccionesContactoCALLE = 'CALLE';
  fld_DireccionesContactoPOBLACION = 'POBLACION';
  fld_DireccionesContactoPROVINCIA = 'PROVINCIA';
  fld_DireccionesContactoCODIGO_POSTAL = 'CODIGO_POSTAL';
  fld_DireccionesContactoPERSONA_CONTACTO = 'PERSONA_CONTACTO';
  fld_DireccionesContactoNOMBRE = 'NOMBRE';
  fld_DireccionesContactoTELEFONO = 'TELEFONO';
  fld_DireccionesContactoMOVIL = 'MOVIL';
  fld_DireccionesContactoFAX = 'FAX';
  fld_DireccionesContactoEMAIL = 'EMAIL';
  fld_DireccionesContactoNOTAS = 'NOTAS';
  fld_DireccionesContactoPORTE = 'PORTE';
  fld_DireccionesContactoFECHA_ALTA = 'FECHA_ALTA';
  fld_DireccionesContactoFECHA_MODIFICACION = 'FECHA_MODIFICACION';

  { DireccionesContacto field indexes }
  idx_DireccionesContactoID = 0;
  idx_DireccionesContactoID_CONTACTO = 1;
  idx_DireccionesContactoNIF_CIF = 2;
  idx_DireccionesContactoCALLE = 3;
  idx_DireccionesContactoPOBLACION = 4;
  idx_DireccionesContactoPROVINCIA = 5;
  idx_DireccionesContactoCODIGO_POSTAL = 6;
  idx_DireccionesContactoPERSONA_CONTACTO = 7;
  idx_DireccionesContactoNOMBRE = 8;
  idx_DireccionesContactoTELEFONO = 9;
  idx_DireccionesContactoMOVIL = 10;
  idx_DireccionesContactoFAX = 11;
  idx_DireccionesContactoEMAIL = 12;
  idx_DireccionesContactoNOTAS = 13;
  idx_DireccionesContactoPORTE = 14;
  idx_DireccionesContactoFECHA_ALTA = 15;
  idx_DireccionesContactoFECHA_MODIFICACION = 16;

  { ClientesDescuentos fields }
  fld_ClientesDescuentosID = 'ID';
  fld_ClientesDescuentosID_CLIENTE = 'ID_CLIENTE';
  fld_ClientesDescuentosID_PROVEEDOR = 'ID_PROVEEDOR';
  fld_ClientesDescuentosNOMBRE = 'NOMBRE';
  fld_ClientesDescuentosDESCUENTO = 'DESCUENTO';

  { ClientesDescuentos field indexes }
  idx_ClientesDescuentosID = 0;
  idx_ClientesDescuentosID_CLIENTE = 1;
  idx_ClientesDescuentosID_PROVEEDOR = 2;
  idx_ClientesDescuentosNOMBRE = 3;
  idx_ClientesDescuentosDESCUENTO = 4;

  { ProcedenciasCliente fields }
  fld_ProcedenciasClienteID = 'ID';
  fld_ProcedenciasClienteDESCRIPCION = 'DESCRIPCION';

  { ProcedenciasCliente field indexes }
  idx_ProcedenciasClienteID = 0;
  idx_ProcedenciasClienteDESCRIPCION = 1;

  { GruposProveedor fields }
  fld_GruposProveedorID = 'ID';
  fld_GruposProveedorDESCRIPCION = 'DESCRIPCION';

  { GruposProveedor field indexes }
  idx_GruposProveedorID = 0;
  idx_GruposProveedorDESCRIPCION = 1;

  { Contactos_Refresh fields }
  fld_Contactos_RefreshID = 'ID';
  fld_Contactos_RefreshNIF_CIF = 'NIF_CIF';
  fld_Contactos_RefreshNOMBRE = 'NOMBRE';
  fld_Contactos_RefreshCALLE = 'CALLE';
  fld_Contactos_RefreshPOBLACION = 'POBLACION';
  fld_Contactos_RefreshPROVINCIA = 'PROVINCIA';
  fld_Contactos_RefreshCODIGO_POSTAL = 'CODIGO_POSTAL';
  fld_Contactos_RefreshTELEFONO_1 = 'TELEFONO_1';
  fld_Contactos_RefreshTELEFONO_2 = 'TELEFONO_2';
  fld_Contactos_RefreshMOVIL_1 = 'MOVIL_1';
  fld_Contactos_RefreshMOVIL_2 = 'MOVIL_2';
  fld_Contactos_RefreshFAX = 'FAX';
  fld_Contactos_RefreshEMAIL_1 = 'EMAIL_1';
  fld_Contactos_RefreshEMAIL_2 = 'EMAIL_2';
  fld_Contactos_RefreshPAGINA_WEB = 'PAGINA_WEB';
  fld_Contactos_RefreshNOTAS = 'NOTAS';
  fld_Contactos_RefreshFECHA_ALTA = 'FECHA_ALTA';
  fld_Contactos_RefreshFECHA_MODIFICACION = 'FECHA_MODIFICACION';
  fld_Contactos_RefreshUSUARIO = 'USUARIO';
  fld_Contactos_RefreshREFERENCIA = 'REFERENCIA';
  fld_Contactos_RefreshPERSONA_CONTACTO = 'PERSONA_CONTACTO';

  { Contactos_Refresh field indexes }
  idx_Contactos_RefreshID = 0;
  idx_Contactos_RefreshNIF_CIF = 1;
  idx_Contactos_RefreshNOMBRE = 2;
  idx_Contactos_RefreshCALLE = 3;
  idx_Contactos_RefreshPOBLACION = 4;
  idx_Contactos_RefreshPROVINCIA = 5;
  idx_Contactos_RefreshCODIGO_POSTAL = 6;
  idx_Contactos_RefreshTELEFONO_1 = 7;
  idx_Contactos_RefreshTELEFONO_2 = 8;
  idx_Contactos_RefreshMOVIL_1 = 9;
  idx_Contactos_RefreshMOVIL_2 = 10;
  idx_Contactos_RefreshFAX = 11;
  idx_Contactos_RefreshEMAIL_1 = 12;
  idx_Contactos_RefreshEMAIL_2 = 13;
  idx_Contactos_RefreshPAGINA_WEB = 14;
  idx_Contactos_RefreshNOTAS = 15;
  idx_Contactos_RefreshFECHA_ALTA = 16;
  idx_Contactos_RefreshFECHA_MODIFICACION = 17;
  idx_Contactos_RefreshUSUARIO = 18;
  idx_Contactos_RefreshREFERENCIA = 19;
  idx_Contactos_RefreshPERSONA_CONTACTO = 20;

type
  { IDarEmpresasContacto }
  IDarEmpresasContacto = interface(IDAStronglyTypedDataTable)
  ['{2E2E4717-0BCC-461F-839E-80397D21C23A}']
    { Property getters and setters }
    function GetID_EMPRESAValue: Integer;
    procedure SetID_EMPRESAValue(const aValue: Integer);
    function GetID_EMPRESAIsNull: Boolean;
    procedure SetID_EMPRESAIsNull(const aValue: Boolean);


    { Properties }
    property ID_EMPRESA: Integer read GetID_EMPRESAValue write SetID_EMPRESAValue;
    property ID_EMPRESAIsNull: Boolean read GetID_EMPRESAIsNull write SetID_EMPRESAIsNull;
  end;

  { TDarEmpresasContactoDataTableRules }
  TDarEmpresasContactoDataTableRules = class(TIntfObjectDADataTableRules, IDarEmpresasContacto)
  private
  protected
    { Property getters and setters }
    function GetID_EMPRESAValue: Integer; virtual;
    procedure SetID_EMPRESAValue(const aValue: Integer); virtual;
    function GetID_EMPRESAIsNull: Boolean; virtual;
    procedure SetID_EMPRESAIsNull(const aValue: Boolean); virtual;

    { Properties }
    property ID_EMPRESA: Integer read GetID_EMPRESAValue write SetID_EMPRESAValue;
    property ID_EMPRESAIsNull: Boolean read GetID_EMPRESAIsNull write SetID_EMPRESAIsNull;

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

  end;

  { IPersonalContacto }
  IPersonalContacto = interface(IDAStronglyTypedDataTable)
  ['{00FE2269-4B38-48BD-9F45-BE565B31B409}']
    { Property getters and setters }
    function GetIDValue: Integer;
    procedure SetIDValue(const aValue: Integer);
    function GetIDIsNull: Boolean;
    procedure SetIDIsNull(const aValue: Boolean);
    function GetID_CONTACTOValue: Integer;
    procedure SetID_CONTACTOValue(const aValue: Integer);
    function GetID_CONTACTOIsNull: Boolean;
    procedure SetID_CONTACTOIsNull(const aValue: Boolean);
    function GetNOMBREValue: String;
    procedure SetNOMBREValue(const aValue: String);
    function GetNOMBREIsNull: Boolean;
    procedure SetNOMBREIsNull(const aValue: Boolean);
    function GetPUESTOValue: String;
    procedure SetPUESTOValue(const aValue: String);
    function GetPUESTOIsNull: Boolean;
    procedure SetPUESTOIsNull(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 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);


    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property ID_CONTACTO: Integer read GetID_CONTACTOValue write SetID_CONTACTOValue;
    property ID_CONTACTOIsNull: Boolean read GetID_CONTACTOIsNull write SetID_CONTACTOIsNull;
    property NOMBRE: String read GetNOMBREValue write SetNOMBREValue;
    property NOMBREIsNull: Boolean read GetNOMBREIsNull write SetNOMBREIsNull;
    property PUESTO: String read GetPUESTOValue write SetPUESTOValue;
    property PUESTOIsNull: Boolean read GetPUESTOIsNull write SetPUESTOIsNull;
    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 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;
  end;

  { TPersonalContactoDataTableRules }
  TPersonalContactoDataTableRules = class(TIntfObjectDADataTableRules, IPersonalContacto)
  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_CONTACTOValue: Integer; virtual;
    procedure SetID_CONTACTOValue(const aValue: Integer); virtual;
    function GetID_CONTACTOIsNull: Boolean; virtual;
    procedure SetID_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 GetPUESTOValue: String; virtual;
    procedure SetPUESTOValue(const aValue: String); virtual;
    function GetPUESTOIsNull: Boolean; virtual;
    procedure SetPUESTOIsNull(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 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;

    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property ID_CONTACTO: Integer read GetID_CONTACTOValue write SetID_CONTACTOValue;
    property ID_CONTACTOIsNull: Boolean read GetID_CONTACTOIsNull write SetID_CONTACTOIsNull;
    property NOMBRE: String read GetNOMBREValue write SetNOMBREValue;
    property NOMBREIsNull: Boolean read GetNOMBREIsNull write SetNOMBREIsNull;
    property PUESTO: String read GetPUESTOValue write SetPUESTOValue;
    property PUESTOIsNull: Boolean read GetPUESTOIsNull write SetPUESTOIsNull;
    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 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;

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

  end;

  { IDarTiendaDeUsuario }
  IDarTiendaDeUsuario = interface(IDAStronglyTypedDataTable)
  ['{D726985D-63CF-489E-8A97-B57952508077}']
    { Property getters and setters }
    function GetID_TIENDAValue: Integer;
    procedure SetID_TIENDAValue(const aValue: Integer);
    function GetID_TIENDAIsNull: Boolean;
    procedure SetID_TIENDAIsNull(const aValue: Boolean);


    { Properties }
    property ID_TIENDA: Integer read GetID_TIENDAValue write SetID_TIENDAValue;
    property ID_TIENDAIsNull: Boolean read GetID_TIENDAIsNull write SetID_TIENDAIsNull;
  end;

  { TDarTiendaDeUsuarioDataTableRules }
  TDarTiendaDeUsuarioDataTableRules = class(TIntfObjectDADataTableRules, IDarTiendaDeUsuario)
  private
  protected
    { Property getters and setters }
    function GetID_TIENDAValue: Integer; virtual;
    procedure SetID_TIENDAValue(const aValue: Integer); virtual;
    function GetID_TIENDAIsNull: Boolean; virtual;
    procedure SetID_TIENDAIsNull(const aValue: Boolean); virtual;

    { Properties }
    property ID_TIENDA: Integer read GetID_TIENDAValue write SetID_TIENDAValue;
    property ID_TIENDAIsNull: Boolean read GetID_TIENDAIsNull write SetID_TIENDAIsNull;

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

  end;

  { ISubCuentasContacto }
  ISubCuentasContacto = interface(IDAStronglyTypedDataTable)
  ['{C57E3BB1-04B7-4935-A1AB-8A2CE30E9ADD}']
    { Property getters and setters }
    function GetIDValue: Integer;
    procedure SetIDValue(const aValue: Integer);
    function GetIDIsNull: Boolean;
    procedure SetIDIsNull(const aValue: Boolean);
    function GetREF_SUBCUENTAValue: String;
    procedure SetREF_SUBCUENTAValue(const aValue: String);
    function GetREF_SUBCUENTAIsNull: Boolean;
    procedure SetREF_SUBCUENTAIsNull(const aValue: Boolean);
    function GetDESCRIPCIONValue: String;
    procedure SetDESCRIPCIONValue(const aValue: String);
    function GetDESCRIPCIONIsNull: Boolean;
    procedure SetDESCRIPCIONIsNull(const aValue: Boolean);
    function GetID_CUENTAValue: Integer;
    procedure SetID_CUENTAValue(const aValue: Integer);
    function GetID_CUENTAIsNull: Boolean;
    procedure SetID_CUENTAIsNull(const aValue: Boolean);
    function GetID_EJERCICIOValue: Integer;
    procedure SetID_EJERCICIOValue(const aValue: Integer);
    function GetID_EJERCICIOIsNull: Boolean;
    procedure SetID_EJERCICIOIsNull(const aValue: Boolean);
    function GetID_CONTACTOValue: Integer;
    procedure SetID_CONTACTOValue(const aValue: Integer);
    function GetID_CONTACTOIsNull: Boolean;
    procedure SetID_CONTACTOIsNull(const aValue: Boolean);


    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property REF_SUBCUENTA: String read GetREF_SUBCUENTAValue write SetREF_SUBCUENTAValue;
    property REF_SUBCUENTAIsNull: Boolean read GetREF_SUBCUENTAIsNull write SetREF_SUBCUENTAIsNull;
    property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue;
    property DESCRIPCIONIsNull: Boolean read GetDESCRIPCIONIsNull write SetDESCRIPCIONIsNull;
    property ID_CUENTA: Integer read GetID_CUENTAValue write SetID_CUENTAValue;
    property ID_CUENTAIsNull: Boolean read GetID_CUENTAIsNull write SetID_CUENTAIsNull;
    property ID_EJERCICIO: Integer read GetID_EJERCICIOValue write SetID_EJERCICIOValue;
    property ID_EJERCICIOIsNull: Boolean read GetID_EJERCICIOIsNull write SetID_EJERCICIOIsNull;
    property ID_CONTACTO: Integer read GetID_CONTACTOValue write SetID_CONTACTOValue;
    property ID_CONTACTOIsNull: Boolean read GetID_CONTACTOIsNull write SetID_CONTACTOIsNull;
  end;

  { TSubCuentasContactoDataTableRules }
  TSubCuentasContactoDataTableRules = class(TIntfObjectDADataTableRules, ISubCuentasContacto)
  private
  protected
    { Property getters and setters }
    function GetIDValue: Integer; virtual;
    procedure SetIDValue(const aValue: Integer); virtual;
    function GetIDIsNull: Boolean; virtual;
    procedure SetIDIsNull(const aValue: Boolean); virtual;
    function GetREF_SUBCUENTAValue: String; virtual;
    procedure SetREF_SUBCUENTAValue(const aValue: String); virtual;
    function GetREF_SUBCUENTAIsNull: Boolean; virtual;
    procedure SetREF_SUBCUENTAIsNull(const aValue: Boolean); virtual;
    function GetDESCRIPCIONValue: String; virtual;
    procedure SetDESCRIPCIONValue(const aValue: String); virtual;
    function GetDESCRIPCIONIsNull: Boolean; virtual;
    procedure SetDESCRIPCIONIsNull(const aValue: Boolean); virtual;
    function GetID_CUENTAValue: Integer; virtual;
    procedure SetID_CUENTAValue(const aValue: Integer); virtual;
    function GetID_CUENTAIsNull: Boolean; virtual;
    procedure SetID_CUENTAIsNull(const aValue: Boolean); virtual;
    function GetID_EJERCICIOValue: Integer; virtual;
    procedure SetID_EJERCICIOValue(const aValue: Integer); virtual;
    function GetID_EJERCICIOIsNull: Boolean; virtual;
    procedure SetID_EJERCICIOIsNull(const aValue: Boolean); virtual;
    function GetID_CONTACTOValue: Integer; virtual;
    procedure SetID_CONTACTOValue(const aValue: Integer); virtual;
    function GetID_CONTACTOIsNull: Boolean; virtual;
    procedure SetID_CONTACTOIsNull(const aValue: Boolean); virtual;

    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property REF_SUBCUENTA: String read GetREF_SUBCUENTAValue write SetREF_SUBCUENTAValue;
    property REF_SUBCUENTAIsNull: Boolean read GetREF_SUBCUENTAIsNull write SetREF_SUBCUENTAIsNull;
    property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue;
    property DESCRIPCIONIsNull: Boolean read GetDESCRIPCIONIsNull write SetDESCRIPCIONIsNull;
    property ID_CUENTA: Integer read GetID_CUENTAValue write SetID_CUENTAValue;
    property ID_CUENTAIsNull: Boolean read GetID_CUENTAIsNull write SetID_CUENTAIsNull;
    property ID_EJERCICIO: Integer read GetID_EJERCICIOValue write SetID_EJERCICIOValue;
    property ID_EJERCICIOIsNull: Boolean read GetID_EJERCICIOIsNull write SetID_EJERCICIOIsNull;
    property ID_CONTACTO: Integer read GetID_CONTACTOValue write SetID_CONTACTOValue;
    property ID_CONTACTOIsNull: Boolean read GetID_CONTACTOIsNull write SetID_CONTACTOIsNull;

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

  end;

  { IContactos }
  IContactos = interface(IDAStronglyTypedDataTable)
  ['{1F3CED53-7D09-4F9B-9670-297FEC5EF955}']
    { Property getters and setters }
    function GetIDValue: Integer;
    procedure SetIDValue(const aValue: Integer);
    function GetIDIsNull: Boolean;
    procedure SetIDIsNull(const aValue: Boolean);
    function GetID_CATEGORIAValue: Integer;
    procedure SetID_CATEGORIAValue(const aValue: Integer);
    function GetID_CATEGORIAIsNull: Boolean;
    procedure SetID_CATEGORIAIsNull(const aValue: Boolean);
    function GetNIF_CIFValue: String;
    procedure SetNIF_CIFValue(const aValue: String);
    function GetNIF_CIFIsNull: Boolean;
    procedure SetNIF_CIFIsNull(const aValue: Boolean);
    function GetNOMBREValue: String;
    procedure SetNOMBREValue(const aValue: String);
    function GetNOMBREIsNull: Boolean;
    procedure SetNOMBREIsNull(const aValue: Boolean);
    function GetPERSONA_CONTACTOValue: String;
    procedure SetPERSONA_CONTACTOValue(const aValue: String);
    function GetPERSONA_CONTACTOIsNull: Boolean;
    procedure SetPERSONA_CONTACTOIsNull(const aValue: Boolean);
    function 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 GetID_EMPRESAValue: Integer;
    procedure SetID_EMPRESAValue(const aValue: Integer);
    function GetID_EMPRESAIsNull: Boolean;
    procedure SetID_EMPRESAIsNull(const aValue: Boolean);
    function GetREFERENCIAValue: String;
    procedure SetREFERENCIAValue(const aValue: String);
    function GetREFERENCIAIsNull: Boolean;
    procedure SetREFERENCIAIsNull(const aValue: Boolean);
    function GetID_TIENDAValue: Integer;
    procedure SetID_TIENDAValue(const aValue: Integer);
    function GetID_TIENDAIsNull: Boolean;
    procedure SetID_TIENDAIsNull(const aValue: Boolean);
    function GetTIENDAValue: String;
    procedure SetTIENDAValue(const aValue: String);
    function GetTIENDAIsNull: Boolean;
    procedure SetTIENDAIsNull(const aValue: Boolean);


    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property ID_CATEGORIA: Integer read GetID_CATEGORIAValue write SetID_CATEGORIAValue;
    property ID_CATEGORIAIsNull: Boolean read GetID_CATEGORIAIsNull write SetID_CATEGORIAIsNull;
    property NIF_CIF: String read GetNIF_CIFValue write SetNIF_CIFValue;
    property NIF_CIFIsNull: Boolean read GetNIF_CIFIsNull write SetNIF_CIFIsNull;
    property NOMBRE: String read GetNOMBREValue write SetNOMBREValue;
    property NOMBREIsNull: Boolean read GetNOMBREIsNull write SetNOMBREIsNull;
    property PERSONA_CONTACTO: String read GetPERSONA_CONTACTOValue write SetPERSONA_CONTACTOValue;
    property PERSONA_CONTACTOIsNull: Boolean read GetPERSONA_CONTACTOIsNull write SetPERSONA_CONTACTOIsNull;
    property 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 ID_EMPRESA: Integer read GetID_EMPRESAValue write SetID_EMPRESAValue;
    property ID_EMPRESAIsNull: Boolean read GetID_EMPRESAIsNull write SetID_EMPRESAIsNull;
    property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue;
    property REFERENCIAIsNull: Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull;
    property ID_TIENDA: Integer read GetID_TIENDAValue write SetID_TIENDAValue;
    property ID_TIENDAIsNull: Boolean read GetID_TIENDAIsNull write SetID_TIENDAIsNull;
    property TIENDA: String read GetTIENDAValue write SetTIENDAValue;
    property TIENDAIsNull: Boolean read GetTIENDAIsNull write SetTIENDAIsNull;
  end;

  { TContactosDataTableRules }
  TContactosDataTableRules = class(TIntfObjectDADataTableRules, IContactos)
  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_CATEGORIAValue: Integer; virtual;
    procedure SetID_CATEGORIAValue(const aValue: Integer); virtual;
    function GetID_CATEGORIAIsNull: Boolean; virtual;
    procedure SetID_CATEGORIAIsNull(const aValue: Boolean); virtual;
    function GetNIF_CIFValue: String; virtual;
    procedure SetNIF_CIFValue(const aValue: String); virtual;
    function GetNIF_CIFIsNull: Boolean; virtual;
    procedure SetNIF_CIFIsNull(const aValue: Boolean); virtual;
    function GetNOMBREValue: String; virtual;
    procedure SetNOMBREValue(const aValue: String); virtual;
    function GetNOMBREIsNull: Boolean; virtual;
    procedure SetNOMBREIsNull(const aValue: Boolean); virtual;
    function GetPERSONA_CONTACTOValue: String; virtual;
    procedure SetPERSONA_CONTACTOValue(const aValue: String); virtual;
    function GetPERSONA_CONTACTOIsNull: Boolean; virtual;
    procedure SetPERSONA_CONTACTOIsNull(const aValue: Boolean); virtual;
    function 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 GetID_EMPRESAValue: Integer; virtual;
    procedure SetID_EMPRESAValue(const aValue: Integer); virtual;
    function GetID_EMPRESAIsNull: Boolean; virtual;
    procedure SetID_EMPRESAIsNull(const aValue: Boolean); virtual;
    function GetREFERENCIAValue: String; virtual;
    procedure SetREFERENCIAValue(const aValue: String); virtual;
    function GetREFERENCIAIsNull: Boolean; virtual;
    procedure SetREFERENCIAIsNull(const aValue: Boolean); virtual;
    function GetID_TIENDAValue: Integer; virtual;
    procedure SetID_TIENDAValue(const aValue: Integer); virtual;
    function GetID_TIENDAIsNull: Boolean; virtual;
    procedure SetID_TIENDAIsNull(const aValue: Boolean); virtual;
    function GetTIENDAValue: String; virtual;
    procedure SetTIENDAValue(const aValue: String); virtual;
    function GetTIENDAIsNull: Boolean; virtual;
    procedure SetTIENDAIsNull(const aValue: Boolean); virtual;

    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property ID_CATEGORIA: Integer read GetID_CATEGORIAValue write SetID_CATEGORIAValue;
    property ID_CATEGORIAIsNull: Boolean read GetID_CATEGORIAIsNull write SetID_CATEGORIAIsNull;
    property NIF_CIF: String read GetNIF_CIFValue write SetNIF_CIFValue;
    property NIF_CIFIsNull: Boolean read GetNIF_CIFIsNull write SetNIF_CIFIsNull;
    property NOMBRE: String read GetNOMBREValue write SetNOMBREValue;
    property NOMBREIsNull: Boolean read GetNOMBREIsNull write SetNOMBREIsNull;
    property PERSONA_CONTACTO: String read GetPERSONA_CONTACTOValue write SetPERSONA_CONTACTOValue;
    property PERSONA_CONTACTOIsNull: Boolean read GetPERSONA_CONTACTOIsNull write SetPERSONA_CONTACTOIsNull;
    property 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 ID_EMPRESA: Integer read GetID_EMPRESAValue write SetID_EMPRESAValue;
    property ID_EMPRESAIsNull: Boolean read GetID_EMPRESAIsNull write SetID_EMPRESAIsNull;
    property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue;
    property REFERENCIAIsNull: Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull;
    property ID_TIENDA: Integer read GetID_TIENDAValue write SetID_TIENDAValue;
    property ID_TIENDAIsNull: Boolean read GetID_TIENDAIsNull write SetID_TIENDAIsNull;
    property TIENDA: String read GetTIENDAValue write SetTIENDAValue;
    property TIENDAIsNull: Boolean read GetTIENDAIsNull write SetTIENDAIsNull;

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

  end;

  { IGruposCliente }
  IGruposCliente = interface(IDAStronglyTypedDataTable)
  ['{2CF68BC2-220D-41B1-AF60-0626AF7B96A7}']
    { Property getters and setters }
    function GetIDValue: Integer;
    procedure SetIDValue(const aValue: Integer);
    function GetIDIsNull: Boolean;
    procedure SetIDIsNull(const aValue: Boolean);
    function GetDESCRIPCIONValue: String;
    procedure SetDESCRIPCIONValue(const aValue: String);
    function GetDESCRIPCIONIsNull: Boolean;
    procedure SetDESCRIPCIONIsNull(const aValue: Boolean);


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

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

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

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

  end;

  { IDatosBancarios }
  IDatosBancarios = interface(IDAStronglyTypedDataTable)
  ['{C38C692C-1EF7-4F83-8BA5-0C525A1C11A2}']
    { Property getters and setters }
    function GetIDValue: Integer;
    procedure SetIDValue(const aValue: Integer);
    function GetIDIsNull: Boolean;
    procedure SetIDIsNull(const aValue: Boolean);
    function GetID_CONTACTOValue: Integer;
    procedure SetID_CONTACTOValue(const aValue: Integer);
    function GetID_CONTACTOIsNull: Boolean;
    procedure SetID_CONTACTOIsNull(const aValue: Boolean);
    function GetTITULARValue: String;
    procedure SetTITULARValue(const aValue: String);
    function GetTITULARIsNull: Boolean;
    procedure SetTITULARIsNull(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 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);


    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property ID_CONTACTO: Integer read GetID_CONTACTOValue write SetID_CONTACTOValue;
    property ID_CONTACTOIsNull: Boolean read GetID_CONTACTOIsNull write SetID_CONTACTOIsNull;
    property TITULAR: String read GetTITULARValue write SetTITULARValue;
    property TITULARIsNull: Boolean read GetTITULARIsNull write SetTITULARIsNull;
    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 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;
  end;

  { TDatosBancariosDataTableRules }
  TDatosBancariosDataTableRules = class(TIntfObjectDADataTableRules, IDatosBancarios)
  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_CONTACTOValue: Integer; virtual;
    procedure SetID_CONTACTOValue(const aValue: Integer); virtual;
    function GetID_CONTACTOIsNull: Boolean; virtual;
    procedure SetID_CONTACTOIsNull(const aValue: Boolean); virtual;
    function GetTITULARValue: String; virtual;
    procedure SetTITULARValue(const aValue: String); virtual;
    function GetTITULARIsNull: Boolean; virtual;
    procedure SetTITULARIsNull(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 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;

    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property ID_CONTACTO: Integer read GetID_CONTACTOValue write SetID_CONTACTOValue;
    property ID_CONTACTOIsNull: Boolean read GetID_CONTACTOIsNull write SetID_CONTACTOIsNull;
    property TITULAR: String read GetTITULARValue write SetTITULARValue;
    property TITULARIsNull: Boolean read GetTITULARIsNull write SetTITULARIsNull;
    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 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;

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

  end;

  { IContactosDirecciones }
  IContactosDirecciones = interface(IDAStronglyTypedDataTable)
  ['{AAB1CE82-6232-4383-B55F-2E8589777974}']
    { Property getters and setters }
    function GetID_CONTACTOValue: Integer;
    procedure SetID_CONTACTOValue(const aValue: Integer);
    function GetID_CONTACTOIsNull: Boolean;
    procedure SetID_CONTACTOIsNull(const aValue: Boolean);
    function GetID_DIRECCIONValue: Integer;
    procedure SetID_DIRECCIONValue(const aValue: Integer);
    function GetID_DIRECCIONIsNull: Boolean;
    procedure SetID_DIRECCIONIsNull(const aValue: Boolean);
    function GetNOMBREValue: String;
    procedure SetNOMBREValue(const aValue: String);
    function GetNOMBREIsNull: Boolean;
    procedure SetNOMBREIsNull(const aValue: Boolean);
    function GetNIF_CIFValue: String;
    procedure SetNIF_CIFValue(const aValue: String);
    function GetNIF_CIFIsNull: Boolean;
    procedure SetNIF_CIFIsNull(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 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 GetPERSONA_CONTACTOValue: String;
    procedure SetPERSONA_CONTACTOValue(const aValue: String);
    function GetPERSONA_CONTACTOIsNull: Boolean;
    procedure SetPERSONA_CONTACTOIsNull(const aValue: Boolean);


    { Properties }
    property ID_CONTACTO: Integer read GetID_CONTACTOValue write SetID_CONTACTOValue;
    property ID_CONTACTOIsNull: Boolean read GetID_CONTACTOIsNull write SetID_CONTACTOIsNull;
    property ID_DIRECCION: Integer read GetID_DIRECCIONValue write SetID_DIRECCIONValue;
    property ID_DIRECCIONIsNull: Boolean read GetID_DIRECCIONIsNull write SetID_DIRECCIONIsNull;
    property NOMBRE: String read GetNOMBREValue write SetNOMBREValue;
    property NOMBREIsNull: Boolean read GetNOMBREIsNull write SetNOMBREIsNull;
    property NIF_CIF: String read GetNIF_CIFValue write SetNIF_CIFValue;
    property NIF_CIFIsNull: Boolean read GetNIF_CIFIsNull write SetNIF_CIFIsNull;
    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: 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 PERSONA_CONTACTO: String read GetPERSONA_CONTACTOValue write SetPERSONA_CONTACTOValue;
    property PERSONA_CONTACTOIsNull: Boolean read GetPERSONA_CONTACTOIsNull write SetPERSONA_CONTACTOIsNull;
  end;

  { TContactosDireccionesDataTableRules }
  TContactosDireccionesDataTableRules = class(TIntfObjectDADataTableRules, IContactosDirecciones)
  private
  protected
    { Property getters and setters }
    function GetID_CONTACTOValue: Integer; virtual;
    procedure SetID_CONTACTOValue(const aValue: Integer); virtual;
    function GetID_CONTACTOIsNull: Boolean; virtual;
    procedure SetID_CONTACTOIsNull(const aValue: Boolean); virtual;
    function GetID_DIRECCIONValue: Integer; virtual;
    procedure SetID_DIRECCIONValue(const aValue: Integer); virtual;
    function GetID_DIRECCIONIsNull: Boolean; virtual;
    procedure SetID_DIRECCIONIsNull(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 GetNIF_CIFValue: String; virtual;
    procedure SetNIF_CIFValue(const aValue: String); virtual;
    function GetNIF_CIFIsNull: Boolean; virtual;
    procedure SetNIF_CIFIsNull(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 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 GetPERSONA_CONTACTOValue: String; virtual;
    procedure SetPERSONA_CONTACTOValue(const aValue: String); virtual;
    function GetPERSONA_CONTACTOIsNull: Boolean; virtual;
    procedure SetPERSONA_CONTACTOIsNull(const aValue: Boolean); virtual;

    { Properties }
    property ID_CONTACTO: Integer read GetID_CONTACTOValue write SetID_CONTACTOValue;
    property ID_CONTACTOIsNull: Boolean read GetID_CONTACTOIsNull write SetID_CONTACTOIsNull;
    property ID_DIRECCION: Integer read GetID_DIRECCIONValue write SetID_DIRECCIONValue;
    property ID_DIRECCIONIsNull: Boolean read GetID_DIRECCIONIsNull write SetID_DIRECCIONIsNull;
    property NOMBRE: String read GetNOMBREValue write SetNOMBREValue;
    property NOMBREIsNull: Boolean read GetNOMBREIsNull write SetNOMBREIsNull;
    property NIF_CIF: String read GetNIF_CIFValue write SetNIF_CIFValue;
    property NIF_CIFIsNull: Boolean read GetNIF_CIFIsNull write SetNIF_CIFIsNull;
    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: 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 PERSONA_CONTACTO: String read GetPERSONA_CONTACTOValue write SetPERSONA_CONTACTOValue;
    property PERSONA_CONTACTOIsNull: Boolean read GetPERSONA_CONTACTOIsNull write SetPERSONA_CONTACTOIsNull;

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

  end;

  { IClientes }
  IClientes = interface(IDAStronglyTypedDataTable)
  ['{A854EE5D-EBD2-4F66-AAA6-2E9C17111EAB}']
    { Property getters and setters }
    function GetIDValue: Integer;
    procedure SetIDValue(const aValue: Integer);
    function GetIDIsNull: Boolean;
    procedure SetIDIsNull(const aValue: Boolean);
    function GetID_CATEGORIAValue: Integer;
    procedure SetID_CATEGORIAValue(const aValue: Integer);
    function GetID_CATEGORIAIsNull: Boolean;
    procedure SetID_CATEGORIAIsNull(const aValue: Boolean);
    function GetNIF_CIFValue: String;
    procedure SetNIF_CIFValue(const aValue: String);
    function GetNIF_CIFIsNull: Boolean;
    procedure SetNIF_CIFIsNull(const aValue: Boolean);
    function GetNOMBREValue: String;
    procedure SetNOMBREValue(const aValue: String);
    function GetNOMBREIsNull: Boolean;
    procedure SetNOMBREIsNull(const aValue: Boolean);
    function GetPERSONA_CONTACTOValue: String;
    procedure SetPERSONA_CONTACTOValue(const aValue: String);
    function GetPERSONA_CONTACTOIsNull: Boolean;
    procedure SetPERSONA_CONTACTOIsNull(const aValue: Boolean);
    function 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 GetID_EMPRESAValue: Integer;
    procedure SetID_EMPRESAValue(const aValue: Integer);
    function GetID_EMPRESAIsNull: Boolean;
    procedure SetID_EMPRESAIsNull(const aValue: Boolean);
    function GetREFERENCIAValue: String;
    procedure SetREFERENCIAValue(const aValue: String);
    function GetREFERENCIAIsNull: Boolean;
    procedure SetREFERENCIAIsNull(const aValue: Boolean);
    function GetID_TIENDAValue: Integer;
    procedure SetID_TIENDAValue(const aValue: Integer);
    function GetID_TIENDAIsNull: Boolean;
    procedure SetID_TIENDAIsNull(const aValue: Boolean);
    function GetTIENDAValue: String;
    procedure SetTIENDAValue(const aValue: String);
    function GetTIENDAIsNull: Boolean;
    procedure SetTIENDAIsNull(const aValue: Boolean);
    function GetGRUPO_CLIENTEValue: String;
    procedure SetGRUPO_CLIENTEValue(const aValue: String);
    function GetGRUPO_CLIENTEIsNull: Boolean;
    procedure SetGRUPO_CLIENTEIsNull(const aValue: Boolean);
    function GetNOMBRE_COMERCIALValue: String;
    procedure SetNOMBRE_COMERCIALValue(const aValue: String);
    function GetNOMBRE_COMERCIALIsNull: Boolean;
    procedure SetNOMBRE_COMERCIALIsNull(const aValue: Boolean);
    function GetBLOQUEADOValue: SmallInt;
    procedure SetBLOQUEADOValue(const aValue: SmallInt);
    function GetBLOQUEADOIsNull: Boolean;
    procedure SetBLOQUEADOIsNull(const aValue: Boolean);
    function GetREGIMEN_IVAValue: String;
    procedure SetREGIMEN_IVAValue(const aValue: String);
    function GetREGIMEN_IVAIsNull: Boolean;
    procedure SetREGIMEN_IVAIsNull(const aValue: Boolean);
    function GetMOTIVO_BLOQUEOValue: String;
    procedure SetMOTIVO_BLOQUEOValue(const aValue: String);
    function GetMOTIVO_BLOQUEOIsNull: Boolean;
    procedure SetMOTIVO_BLOQUEOIsNull(const aValue: Boolean);
    function GetRECARGO_EQUIVALENCIAValue: SmallInt;
    procedure SetRECARGO_EQUIVALENCIAValue(const aValue: SmallInt);
    function GetRECARGO_EQUIVALENCIAIsNull: Boolean;
    procedure SetRECARGO_EQUIVALENCIAIsNull(const aValue: Boolean);
    function GetID_TIPO_IVAValue: Integer;
    procedure SetID_TIPO_IVAValue(const aValue: Integer);
    function GetID_TIPO_IVAIsNull: Boolean;
    procedure SetID_TIPO_IVAIsNull(const aValue: Boolean);
    function GetID_FORMA_PAGOValue: Integer;
    procedure SetID_FORMA_PAGOValue(const aValue: Integer);
    function GetID_FORMA_PAGOIsNull: Boolean;
    procedure SetID_FORMA_PAGOIsNull(const aValue: Boolean);
    function GetTIENDA_WEBValue: SmallInt;
    procedure SetTIENDA_WEBValue(const aValue: SmallInt);
    function GetTIENDA_WEBIsNull: Boolean;
    procedure SetTIENDA_WEBIsNull(const aValue: Boolean);
    function GetCODIGO_ASIGNADOValue: String;
    procedure SetCODIGO_ASIGNADOValue(const aValue: String);
    function GetCODIGO_ASIGNADOIsNull: Boolean;
    procedure SetCODIGO_ASIGNADOIsNull(const aValue: Boolean);
    function GetIGNORAR_CONTABILIDADValue: Integer;
    procedure SetIGNORAR_CONTABILIDADValue(const aValue: Integer);
    function GetIGNORAR_CONTABILIDADIsNull: Boolean;
    procedure SetIGNORAR_CONTABILIDADIsNull(const aValue: Boolean);
    function GetTIENE_SUBCUENTAValue: Integer;
    procedure SetTIENE_SUBCUENTAValue(const aValue: Integer);
    function GetTIENE_SUBCUENTAIsNull: Boolean;
    procedure SetTIENE_SUBCUENTAIsNull(const aValue: Boolean);
    function GetPROCEDENCIA_CLIENTEValue: String;
    procedure SetPROCEDENCIA_CLIENTEValue(const aValue: String);
    function GetPROCEDENCIA_CLIENTEIsNull: Boolean;
    procedure SetPROCEDENCIA_CLIENTEIsNull(const aValue: Boolean);
    function GetVENCIMIENTO_FACTURAS_1Value: Integer;
    procedure SetVENCIMIENTO_FACTURAS_1Value(const aValue: Integer);
    function GetVENCIMIENTO_FACTURAS_1IsNull: Boolean;
    procedure SetVENCIMIENTO_FACTURAS_1IsNull(const aValue: Boolean);
    function GetVENCIMIENTO_FACTURAS_2Value: Integer;
    procedure SetVENCIMIENTO_FACTURAS_2Value(const aValue: Integer);
    function GetVENCIMIENTO_FACTURAS_2IsNull: Boolean;
    procedure SetVENCIMIENTO_FACTURAS_2IsNull(const aValue: Boolean);
    function GetVENCIMIENTO_FACTURAS_3Value: Integer;
    procedure SetVENCIMIENTO_FACTURAS_3Value(const aValue: Integer);
    function GetVENCIMIENTO_FACTURAS_3IsNull: Boolean;
    procedure SetVENCIMIENTO_FACTURAS_3IsNull(const aValue: Boolean);
    function GetLISTA_NOMBRESValue: String;
    procedure SetLISTA_NOMBRESValue(const aValue: String);
    function GetLISTA_NOMBRESIsNull: Boolean;
    procedure SetLISTA_NOMBRESIsNull(const aValue: Boolean);
    function GetLOPDValue: SmallInt;
    procedure SetLOPDValue(const aValue: SmallInt);
    function GetLOPDIsNull: Boolean;
    procedure SetLOPDIsNull(const aValue: Boolean);


    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property ID_CATEGORIA: Integer read GetID_CATEGORIAValue write SetID_CATEGORIAValue;
    property ID_CATEGORIAIsNull: Boolean read GetID_CATEGORIAIsNull write SetID_CATEGORIAIsNull;
    property NIF_CIF: String read GetNIF_CIFValue write SetNIF_CIFValue;
    property NIF_CIFIsNull: Boolean read GetNIF_CIFIsNull write SetNIF_CIFIsNull;
    property NOMBRE: String read GetNOMBREValue write SetNOMBREValue;
    property NOMBREIsNull: Boolean read GetNOMBREIsNull write SetNOMBREIsNull;
    property PERSONA_CONTACTO: String read GetPERSONA_CONTACTOValue write SetPERSONA_CONTACTOValue;
    property PERSONA_CONTACTOIsNull: Boolean read GetPERSONA_CONTACTOIsNull write SetPERSONA_CONTACTOIsNull;
    property 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 ID_EMPRESA: Integer read GetID_EMPRESAValue write SetID_EMPRESAValue;
    property ID_EMPRESAIsNull: Boolean read GetID_EMPRESAIsNull write SetID_EMPRESAIsNull;
    property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue;
    property REFERENCIAIsNull: Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull;
    property ID_TIENDA: Integer read GetID_TIENDAValue write SetID_TIENDAValue;
    property ID_TIENDAIsNull: Boolean read GetID_TIENDAIsNull write SetID_TIENDAIsNull;
    property TIENDA: String read GetTIENDAValue write SetTIENDAValue;
    property TIENDAIsNull: Boolean read GetTIENDAIsNull write SetTIENDAIsNull;
    property GRUPO_CLIENTE: String read GetGRUPO_CLIENTEValue write SetGRUPO_CLIENTEValue;
    property GRUPO_CLIENTEIsNull: Boolean read GetGRUPO_CLIENTEIsNull write SetGRUPO_CLIENTEIsNull;
    property NOMBRE_COMERCIAL: String read GetNOMBRE_COMERCIALValue write SetNOMBRE_COMERCIALValue;
    property NOMBRE_COMERCIALIsNull: Boolean read GetNOMBRE_COMERCIALIsNull write SetNOMBRE_COMERCIALIsNull;
    property BLOQUEADO: SmallInt read GetBLOQUEADOValue write SetBLOQUEADOValue;
    property BLOQUEADOIsNull: Boolean read GetBLOQUEADOIsNull write SetBLOQUEADOIsNull;
    property REGIMEN_IVA: String read GetREGIMEN_IVAValue write SetREGIMEN_IVAValue;
    property REGIMEN_IVAIsNull: Boolean read GetREGIMEN_IVAIsNull write SetREGIMEN_IVAIsNull;
    property MOTIVO_BLOQUEO: String read GetMOTIVO_BLOQUEOValue write SetMOTIVO_BLOQUEOValue;
    property MOTIVO_BLOQUEOIsNull: Boolean read GetMOTIVO_BLOQUEOIsNull write SetMOTIVO_BLOQUEOIsNull;
    property RECARGO_EQUIVALENCIA: SmallInt read GetRECARGO_EQUIVALENCIAValue write SetRECARGO_EQUIVALENCIAValue;
    property RECARGO_EQUIVALENCIAIsNull: Boolean read GetRECARGO_EQUIVALENCIAIsNull write SetRECARGO_EQUIVALENCIAIsNull;
    property ID_TIPO_IVA: Integer read GetID_TIPO_IVAValue write SetID_TIPO_IVAValue;
    property ID_TIPO_IVAIsNull: Boolean read GetID_TIPO_IVAIsNull write SetID_TIPO_IVAIsNull;
    property ID_FORMA_PAGO: Integer read GetID_FORMA_PAGOValue write SetID_FORMA_PAGOValue;
    property ID_FORMA_PAGOIsNull: Boolean read GetID_FORMA_PAGOIsNull write SetID_FORMA_PAGOIsNull;
    property TIENDA_WEB: SmallInt read GetTIENDA_WEBValue write SetTIENDA_WEBValue;
    property TIENDA_WEBIsNull: Boolean read GetTIENDA_WEBIsNull write SetTIENDA_WEBIsNull;
    property CODIGO_ASIGNADO: String read GetCODIGO_ASIGNADOValue write SetCODIGO_ASIGNADOValue;
    property CODIGO_ASIGNADOIsNull: Boolean read GetCODIGO_ASIGNADOIsNull write SetCODIGO_ASIGNADOIsNull;
    property IGNORAR_CONTABILIDAD: Integer read GetIGNORAR_CONTABILIDADValue write SetIGNORAR_CONTABILIDADValue;
    property IGNORAR_CONTABILIDADIsNull: Boolean read GetIGNORAR_CONTABILIDADIsNull write SetIGNORAR_CONTABILIDADIsNull;
    property TIENE_SUBCUENTA: Integer read GetTIENE_SUBCUENTAValue write SetTIENE_SUBCUENTAValue;
    property TIENE_SUBCUENTAIsNull: Boolean read GetTIENE_SUBCUENTAIsNull write SetTIENE_SUBCUENTAIsNull;
    property PROCEDENCIA_CLIENTE: String read GetPROCEDENCIA_CLIENTEValue write SetPROCEDENCIA_CLIENTEValue;
    property PROCEDENCIA_CLIENTEIsNull: Boolean read GetPROCEDENCIA_CLIENTEIsNull write SetPROCEDENCIA_CLIENTEIsNull;
    property VENCIMIENTO_FACTURAS_1: Integer read GetVENCIMIENTO_FACTURAS_1Value write SetVENCIMIENTO_FACTURAS_1Value;
    property VENCIMIENTO_FACTURAS_1IsNull: Boolean read GetVENCIMIENTO_FACTURAS_1IsNull write SetVENCIMIENTO_FACTURAS_1IsNull;
    property VENCIMIENTO_FACTURAS_2: Integer read GetVENCIMIENTO_FACTURAS_2Value write SetVENCIMIENTO_FACTURAS_2Value;
    property VENCIMIENTO_FACTURAS_2IsNull: Boolean read GetVENCIMIENTO_FACTURAS_2IsNull write SetVENCIMIENTO_FACTURAS_2IsNull;
    property VENCIMIENTO_FACTURAS_3: Integer read GetVENCIMIENTO_FACTURAS_3Value write SetVENCIMIENTO_FACTURAS_3Value;
    property VENCIMIENTO_FACTURAS_3IsNull: Boolean read GetVENCIMIENTO_FACTURAS_3IsNull write SetVENCIMIENTO_FACTURAS_3IsNull;
    property LISTA_NOMBRES: String read GetLISTA_NOMBRESValue write SetLISTA_NOMBRESValue;
    property LISTA_NOMBRESIsNull: Boolean read GetLISTA_NOMBRESIsNull write SetLISTA_NOMBRESIsNull;
    property LOPD: SmallInt read GetLOPDValue write SetLOPDValue;
    property LOPDIsNull: Boolean read GetLOPDIsNull write SetLOPDIsNull;
  end;

  { TClientesDataTableRules }
  TClientesDataTableRules = class(TIntfObjectDADataTableRules, IClientes)
  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_CATEGORIAValue: Integer; virtual;
    procedure SetID_CATEGORIAValue(const aValue: Integer); virtual;
    function GetID_CATEGORIAIsNull: Boolean; virtual;
    procedure SetID_CATEGORIAIsNull(const aValue: Boolean); virtual;
    function GetNIF_CIFValue: String; virtual;
    procedure SetNIF_CIFValue(const aValue: String); virtual;
    function GetNIF_CIFIsNull: Boolean; virtual;
    procedure SetNIF_CIFIsNull(const aValue: Boolean); virtual;
    function GetNOMBREValue: String; virtual;
    procedure SetNOMBREValue(const aValue: String); virtual;
    function GetNOMBREIsNull: Boolean; virtual;
    procedure SetNOMBREIsNull(const aValue: Boolean); virtual;
    function GetPERSONA_CONTACTOValue: String; virtual;
    procedure SetPERSONA_CONTACTOValue(const aValue: String); virtual;
    function GetPERSONA_CONTACTOIsNull: Boolean; virtual;
    procedure SetPERSONA_CONTACTOIsNull(const aValue: Boolean); virtual;
    function 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 GetID_EMPRESAValue: Integer; virtual;
    procedure SetID_EMPRESAValue(const aValue: Integer); virtual;
    function GetID_EMPRESAIsNull: Boolean; virtual;
    procedure SetID_EMPRESAIsNull(const aValue: Boolean); virtual;
    function GetREFERENCIAValue: String; virtual;
    procedure SetREFERENCIAValue(const aValue: String); virtual;
    function GetREFERENCIAIsNull: Boolean; virtual;
    procedure SetREFERENCIAIsNull(const aValue: Boolean); virtual;
    function GetID_TIENDAValue: Integer; virtual;
    procedure SetID_TIENDAValue(const aValue: Integer); virtual;
    function GetID_TIENDAIsNull: Boolean; virtual;
    procedure SetID_TIENDAIsNull(const aValue: Boolean); virtual;
    function GetTIENDAValue: String; virtual;
    procedure SetTIENDAValue(const aValue: String); virtual;
    function GetTIENDAIsNull: Boolean; virtual;
    procedure SetTIENDAIsNull(const aValue: Boolean); virtual;
    function GetGRUPO_CLIENTEValue: String; virtual;
    procedure SetGRUPO_CLIENTEValue(const aValue: String); virtual;
    function GetGRUPO_CLIENTEIsNull: Boolean; virtual;
    procedure SetGRUPO_CLIENTEIsNull(const aValue: Boolean); virtual;
    function GetNOMBRE_COMERCIALValue: String; virtual;
    procedure SetNOMBRE_COMERCIALValue(const aValue: String); virtual;
    function GetNOMBRE_COMERCIALIsNull: Boolean; virtual;
    procedure SetNOMBRE_COMERCIALIsNull(const aValue: Boolean); virtual;
    function GetBLOQUEADOValue: SmallInt; virtual;
    procedure SetBLOQUEADOValue(const aValue: SmallInt); virtual;
    function GetBLOQUEADOIsNull: Boolean; virtual;
    procedure SetBLOQUEADOIsNull(const aValue: Boolean); virtual;
    function GetREGIMEN_IVAValue: String; virtual;
    procedure SetREGIMEN_IVAValue(const aValue: String); virtual;
    function GetREGIMEN_IVAIsNull: Boolean; virtual;
    procedure SetREGIMEN_IVAIsNull(const aValue: Boolean); virtual;
    function GetMOTIVO_BLOQUEOValue: String; virtual;
    procedure SetMOTIVO_BLOQUEOValue(const aValue: String); virtual;
    function GetMOTIVO_BLOQUEOIsNull: Boolean; virtual;
    procedure SetMOTIVO_BLOQUEOIsNull(const aValue: Boolean); virtual;
    function GetRECARGO_EQUIVALENCIAValue: SmallInt; virtual;
    procedure SetRECARGO_EQUIVALENCIAValue(const aValue: SmallInt); virtual;
    function GetRECARGO_EQUIVALENCIAIsNull: Boolean; virtual;
    procedure SetRECARGO_EQUIVALENCIAIsNull(const aValue: Boolean); virtual;
    function GetID_TIPO_IVAValue: Integer; virtual;
    procedure SetID_TIPO_IVAValue(const aValue: Integer); virtual;
    function GetID_TIPO_IVAIsNull: Boolean; virtual;
    procedure SetID_TIPO_IVAIsNull(const aValue: Boolean); virtual;
    function GetID_FORMA_PAGOValue: Integer; virtual;
    procedure SetID_FORMA_PAGOValue(const aValue: Integer); virtual;
    function GetID_FORMA_PAGOIsNull: Boolean; virtual;
    procedure SetID_FORMA_PAGOIsNull(const aValue: Boolean); virtual;
    function GetTIENDA_WEBValue: SmallInt; virtual;
    procedure SetTIENDA_WEBValue(const aValue: SmallInt); virtual;
    function GetTIENDA_WEBIsNull: Boolean; virtual;
    procedure SetTIENDA_WEBIsNull(const aValue: Boolean); virtual;
    function GetCODIGO_ASIGNADOValue: String; virtual;
    procedure SetCODIGO_ASIGNADOValue(const aValue: String); virtual;
    function GetCODIGO_ASIGNADOIsNull: Boolean; virtual;
    procedure SetCODIGO_ASIGNADOIsNull(const aValue: Boolean); virtual;
    function GetIGNORAR_CONTABILIDADValue: Integer; virtual;
    procedure SetIGNORAR_CONTABILIDADValue(const aValue: Integer); virtual;
    function GetIGNORAR_CONTABILIDADIsNull: Boolean; virtual;
    procedure SetIGNORAR_CONTABILIDADIsNull(const aValue: Boolean); virtual;
    function GetTIENE_SUBCUENTAValue: Integer; virtual;
    procedure SetTIENE_SUBCUENTAValue(const aValue: Integer); virtual;
    function GetTIENE_SUBCUENTAIsNull: Boolean; virtual;
    procedure SetTIENE_SUBCUENTAIsNull(const aValue: Boolean); virtual;
    function GetPROCEDENCIA_CLIENTEValue: String; virtual;
    procedure SetPROCEDENCIA_CLIENTEValue(const aValue: String); virtual;
    function GetPROCEDENCIA_CLIENTEIsNull: Boolean; virtual;
    procedure SetPROCEDENCIA_CLIENTEIsNull(const aValue: Boolean); virtual;
    function GetVENCIMIENTO_FACTURAS_1Value: Integer; virtual;
    procedure SetVENCIMIENTO_FACTURAS_1Value(const aValue: Integer); virtual;
    function GetVENCIMIENTO_FACTURAS_1IsNull: Boolean; virtual;
    procedure SetVENCIMIENTO_FACTURAS_1IsNull(const aValue: Boolean); virtual;
    function GetVENCIMIENTO_FACTURAS_2Value: Integer; virtual;
    procedure SetVENCIMIENTO_FACTURAS_2Value(const aValue: Integer); virtual;
    function GetVENCIMIENTO_FACTURAS_2IsNull: Boolean; virtual;
    procedure SetVENCIMIENTO_FACTURAS_2IsNull(const aValue: Boolean); virtual;
    function GetVENCIMIENTO_FACTURAS_3Value: Integer; virtual;
    procedure SetVENCIMIENTO_FACTURAS_3Value(const aValue: Integer); virtual;
    function GetVENCIMIENTO_FACTURAS_3IsNull: Boolean; virtual;
    procedure SetVENCIMIENTO_FACTURAS_3IsNull(const aValue: Boolean); virtual;
    function GetLISTA_NOMBRESValue: String; virtual;
    procedure SetLISTA_NOMBRESValue(const aValue: String); virtual;
    function GetLISTA_NOMBRESIsNull: Boolean; virtual;
    procedure SetLISTA_NOMBRESIsNull(const aValue: Boolean); virtual;
    function GetLOPDValue: SmallInt; virtual;
    procedure SetLOPDValue(const aValue: SmallInt); virtual;
    function GetLOPDIsNull: Boolean; virtual;
    procedure SetLOPDIsNull(const aValue: Boolean); virtual;

    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property ID_CATEGORIA: Integer read GetID_CATEGORIAValue write SetID_CATEGORIAValue;
    property ID_CATEGORIAIsNull: Boolean read GetID_CATEGORIAIsNull write SetID_CATEGORIAIsNull;
    property NIF_CIF: String read GetNIF_CIFValue write SetNIF_CIFValue;
    property NIF_CIFIsNull: Boolean read GetNIF_CIFIsNull write SetNIF_CIFIsNull;
    property NOMBRE: String read GetNOMBREValue write SetNOMBREValue;
    property NOMBREIsNull: Boolean read GetNOMBREIsNull write SetNOMBREIsNull;
    property PERSONA_CONTACTO: String read GetPERSONA_CONTACTOValue write SetPERSONA_CONTACTOValue;
    property PERSONA_CONTACTOIsNull: Boolean read GetPERSONA_CONTACTOIsNull write SetPERSONA_CONTACTOIsNull;
    property 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 ID_EMPRESA: Integer read GetID_EMPRESAValue write SetID_EMPRESAValue;
    property ID_EMPRESAIsNull: Boolean read GetID_EMPRESAIsNull write SetID_EMPRESAIsNull;
    property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue;
    property REFERENCIAIsNull: Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull;
    property ID_TIENDA: Integer read GetID_TIENDAValue write SetID_TIENDAValue;
    property ID_TIENDAIsNull: Boolean read GetID_TIENDAIsNull write SetID_TIENDAIsNull;
    property TIENDA: String read GetTIENDAValue write SetTIENDAValue;
    property TIENDAIsNull: Boolean read GetTIENDAIsNull write SetTIENDAIsNull;
    property GRUPO_CLIENTE: String read GetGRUPO_CLIENTEValue write SetGRUPO_CLIENTEValue;
    property GRUPO_CLIENTEIsNull: Boolean read GetGRUPO_CLIENTEIsNull write SetGRUPO_CLIENTEIsNull;
    property NOMBRE_COMERCIAL: String read GetNOMBRE_COMERCIALValue write SetNOMBRE_COMERCIALValue;
    property NOMBRE_COMERCIALIsNull: Boolean read GetNOMBRE_COMERCIALIsNull write SetNOMBRE_COMERCIALIsNull;
    property BLOQUEADO: SmallInt read GetBLOQUEADOValue write SetBLOQUEADOValue;
    property BLOQUEADOIsNull: Boolean read GetBLOQUEADOIsNull write SetBLOQUEADOIsNull;
    property REGIMEN_IVA: String read GetREGIMEN_IVAValue write SetREGIMEN_IVAValue;
    property REGIMEN_IVAIsNull: Boolean read GetREGIMEN_IVAIsNull write SetREGIMEN_IVAIsNull;
    property MOTIVO_BLOQUEO: String read GetMOTIVO_BLOQUEOValue write SetMOTIVO_BLOQUEOValue;
    property MOTIVO_BLOQUEOIsNull: Boolean read GetMOTIVO_BLOQUEOIsNull write SetMOTIVO_BLOQUEOIsNull;
    property RECARGO_EQUIVALENCIA: SmallInt read GetRECARGO_EQUIVALENCIAValue write SetRECARGO_EQUIVALENCIAValue;
    property RECARGO_EQUIVALENCIAIsNull: Boolean read GetRECARGO_EQUIVALENCIAIsNull write SetRECARGO_EQUIVALENCIAIsNull;
    property ID_TIPO_IVA: Integer read GetID_TIPO_IVAValue write SetID_TIPO_IVAValue;
    property ID_TIPO_IVAIsNull: Boolean read GetID_TIPO_IVAIsNull write SetID_TIPO_IVAIsNull;
    property ID_FORMA_PAGO: Integer read GetID_FORMA_PAGOValue write SetID_FORMA_PAGOValue;
    property ID_FORMA_PAGOIsNull: Boolean read GetID_FORMA_PAGOIsNull write SetID_FORMA_PAGOIsNull;
    property TIENDA_WEB: SmallInt read GetTIENDA_WEBValue write SetTIENDA_WEBValue;
    property TIENDA_WEBIsNull: Boolean read GetTIENDA_WEBIsNull write SetTIENDA_WEBIsNull;
    property CODIGO_ASIGNADO: String read GetCODIGO_ASIGNADOValue write SetCODIGO_ASIGNADOValue;
    property CODIGO_ASIGNADOIsNull: Boolean read GetCODIGO_ASIGNADOIsNull write SetCODIGO_ASIGNADOIsNull;
    property IGNORAR_CONTABILIDAD: Integer read GetIGNORAR_CONTABILIDADValue write SetIGNORAR_CONTABILIDADValue;
    property IGNORAR_CONTABILIDADIsNull: Boolean read GetIGNORAR_CONTABILIDADIsNull write SetIGNORAR_CONTABILIDADIsNull;
    property TIENE_SUBCUENTA: Integer read GetTIENE_SUBCUENTAValue write SetTIENE_SUBCUENTAValue;
    property TIENE_SUBCUENTAIsNull: Boolean read GetTIENE_SUBCUENTAIsNull write SetTIENE_SUBCUENTAIsNull;
    property PROCEDENCIA_CLIENTE: String read GetPROCEDENCIA_CLIENTEValue write SetPROCEDENCIA_CLIENTEValue;
    property PROCEDENCIA_CLIENTEIsNull: Boolean read GetPROCEDENCIA_CLIENTEIsNull write SetPROCEDENCIA_CLIENTEIsNull;
    property VENCIMIENTO_FACTURAS_1: Integer read GetVENCIMIENTO_FACTURAS_1Value write SetVENCIMIENTO_FACTURAS_1Value;
    property VENCIMIENTO_FACTURAS_1IsNull: Boolean read GetVENCIMIENTO_FACTURAS_1IsNull write SetVENCIMIENTO_FACTURAS_1IsNull;
    property VENCIMIENTO_FACTURAS_2: Integer read GetVENCIMIENTO_FACTURAS_2Value write SetVENCIMIENTO_FACTURAS_2Value;
    property VENCIMIENTO_FACTURAS_2IsNull: Boolean read GetVENCIMIENTO_FACTURAS_2IsNull write SetVENCIMIENTO_FACTURAS_2IsNull;
    property VENCIMIENTO_FACTURAS_3: Integer read GetVENCIMIENTO_FACTURAS_3Value write SetVENCIMIENTO_FACTURAS_3Value;
    property VENCIMIENTO_FACTURAS_3IsNull: Boolean read GetVENCIMIENTO_FACTURAS_3IsNull write SetVENCIMIENTO_FACTURAS_3IsNull;
    property LISTA_NOMBRES: String read GetLISTA_NOMBRESValue write SetLISTA_NOMBRESValue;
    property LISTA_NOMBRESIsNull: Boolean read GetLISTA_NOMBRESIsNull write SetLISTA_NOMBRESIsNull;
    property LOPD: SmallInt read GetLOPDValue write SetLOPDValue;
    property LOPDIsNull: Boolean read GetLOPDIsNull write SetLOPDIsNull;

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

  end;

  { IProveedores }
  IProveedores = interface(IDAStronglyTypedDataTable)
  ['{89BA2688-D5D1-4D42-B4B2-11A450981F9E}']
    { Property getters and setters }
    function GetIDValue: Integer;
    procedure SetIDValue(const aValue: Integer);
    function GetIDIsNull: Boolean;
    procedure SetIDIsNull(const aValue: Boolean);
    function GetID_CATEGORIAValue: Integer;
    procedure SetID_CATEGORIAValue(const aValue: Integer);
    function GetID_CATEGORIAIsNull: Boolean;
    procedure SetID_CATEGORIAIsNull(const aValue: Boolean);
    function GetNIF_CIFValue: String;
    procedure SetNIF_CIFValue(const aValue: String);
    function GetNIF_CIFIsNull: Boolean;
    procedure SetNIF_CIFIsNull(const aValue: Boolean);
    function GetNOMBREValue: String;
    procedure SetNOMBREValue(const aValue: String);
    function GetNOMBREIsNull: Boolean;
    procedure SetNOMBREIsNull(const aValue: Boolean);
    function GetPERSONA_CONTACTOValue: String;
    procedure SetPERSONA_CONTACTOValue(const aValue: String);
    function GetPERSONA_CONTACTOIsNull: Boolean;
    procedure SetPERSONA_CONTACTOIsNull(const aValue: Boolean);
    function 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 GetID_EMPRESAValue: Integer;
    procedure SetID_EMPRESAValue(const aValue: Integer);
    function GetID_EMPRESAIsNull: Boolean;
    procedure SetID_EMPRESAIsNull(const aValue: Boolean);
    function GetREFERENCIAValue: String;
    procedure SetREFERENCIAValue(const aValue: String);
    function GetREFERENCIAIsNull: Boolean;
    procedure SetREFERENCIAIsNull(const aValue: Boolean);
    function GetID_TIENDAValue: Integer;
    procedure SetID_TIENDAValue(const aValue: Integer);
    function GetID_TIENDAIsNull: Boolean;
    procedure SetID_TIENDAIsNull(const aValue: Boolean);
    function GetTIENDAValue: String;
    procedure SetTIENDAValue(const aValue: String);
    function GetTIENDAIsNull: Boolean;
    procedure SetTIENDAIsNull(const aValue: Boolean);
    function GetDESCUENTOValue: Float;
    procedure SetDESCUENTOValue(const aValue: Float);
    function GetDESCUENTOIsNull: Boolean;
    procedure SetDESCUENTOIsNull(const aValue: Boolean);
    function GetDESCRIPCION_PROVEEDORValue: String;
    procedure SetDESCRIPCION_PROVEEDORValue(const aValue: String);
    function GetDESCRIPCION_PROVEEDORIsNull: Boolean;
    procedure SetDESCRIPCION_PROVEEDORIsNull(const aValue: Boolean);
    function GetCODIGO_ASIGNADOValue: String;
    procedure SetCODIGO_ASIGNADOValue(const aValue: String);
    function GetCODIGO_ASIGNADOIsNull: Boolean;
    procedure SetCODIGO_ASIGNADOIsNull(const aValue: Boolean);
    function GetGRUPO_PROVEEDORValue: String;
    procedure SetGRUPO_PROVEEDORValue(const aValue: String);
    function GetGRUPO_PROVEEDORIsNull: Boolean;
    procedure SetGRUPO_PROVEEDORIsNull(const aValue: Boolean);
    function GetREGIMEN_IVAValue: String;
    procedure SetREGIMEN_IVAValue(const aValue: String);
    function GetREGIMEN_IVAIsNull: Boolean;
    procedure SetREGIMEN_IVAIsNull(const aValue: Boolean);
    function GetID_TIPO_IVAValue: Integer;
    procedure SetID_TIPO_IVAValue(const aValue: Integer);
    function GetID_TIPO_IVAIsNull: Boolean;
    procedure SetID_TIPO_IVAIsNull(const aValue: Boolean);
    function GetID_FORMA_PAGOValue: Integer;
    procedure SetID_FORMA_PAGOValue(const aValue: Integer);
    function GetID_FORMA_PAGOIsNull: Boolean;
    procedure SetID_FORMA_PAGOIsNull(const aValue: Boolean);
    function GetTIENDA_WEBValue: SmallInt;
    procedure SetTIENDA_WEBValue(const aValue: SmallInt);
    function GetTIENDA_WEBIsNull: Boolean;
    procedure SetTIENDA_WEBIsNull(const aValue: Boolean);
    function GetHOMOLOGADOValue: SmallInt;
    procedure SetHOMOLOGADOValue(const aValue: SmallInt);
    function GetHOMOLOGADOIsNull: Boolean;
    procedure SetHOMOLOGADOIsNull(const aValue: Boolean);
    function GetCERTIFICACIONValue: String;
    procedure SetCERTIFICACIONValue(const aValue: String);
    function GetCERTIFICACIONIsNull: Boolean;
    procedure SetCERTIFICACIONIsNull(const aValue: Boolean);
    function GetIGNORAR_CONTABILIDADValue: Integer;
    procedure SetIGNORAR_CONTABILIDADValue(const aValue: Integer);
    function GetIGNORAR_CONTABILIDADIsNull: Boolean;
    procedure SetIGNORAR_CONTABILIDADIsNull(const aValue: Boolean);
    function GetTIENE_SUBCUENTAValue: Integer;
    procedure SetTIENE_SUBCUENTAValue(const aValue: Integer);
    function GetTIENE_SUBCUENTAIsNull: Boolean;
    procedure SetTIENE_SUBCUENTAIsNull(const aValue: Boolean);
    function GetNOMBRE_COMERCIALValue: String;
    procedure SetNOMBRE_COMERCIALValue(const aValue: String);
    function GetNOMBRE_COMERCIALIsNull: Boolean;
    procedure SetNOMBRE_COMERCIALIsNull(const aValue: Boolean);
    function GetES_ACREEDORValue: SmallInt;
    procedure SetES_ACREEDORValue(const aValue: SmallInt);
    function GetES_ACREEDORIsNull: Boolean;
    procedure SetES_ACREEDORIsNull(const aValue: Boolean);
    function GetVENCIMIENTO_FACTURAS_1Value: Integer;
    procedure SetVENCIMIENTO_FACTURAS_1Value(const aValue: Integer);
    function GetVENCIMIENTO_FACTURAS_1IsNull: Boolean;
    procedure SetVENCIMIENTO_FACTURAS_1IsNull(const aValue: Boolean);
    function GetVENCIMIENTO_FACTURAS_2Value: Integer;
    procedure SetVENCIMIENTO_FACTURAS_2Value(const aValue: Integer);
    function GetVENCIMIENTO_FACTURAS_2IsNull: Boolean;
    procedure SetVENCIMIENTO_FACTURAS_2IsNull(const aValue: Boolean);
    function GetVENCIMIENTO_FACTURAS_3Value: Integer;
    procedure SetVENCIMIENTO_FACTURAS_3Value(const aValue: Integer);
    function GetVENCIMIENTO_FACTURAS_3IsNull: Boolean;
    procedure SetVENCIMIENTO_FACTURAS_3IsNull(const aValue: Boolean);


    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property ID_CATEGORIA: Integer read GetID_CATEGORIAValue write SetID_CATEGORIAValue;
    property ID_CATEGORIAIsNull: Boolean read GetID_CATEGORIAIsNull write SetID_CATEGORIAIsNull;
    property NIF_CIF: String read GetNIF_CIFValue write SetNIF_CIFValue;
    property NIF_CIFIsNull: Boolean read GetNIF_CIFIsNull write SetNIF_CIFIsNull;
    property NOMBRE: String read GetNOMBREValue write SetNOMBREValue;
    property NOMBREIsNull: Boolean read GetNOMBREIsNull write SetNOMBREIsNull;
    property PERSONA_CONTACTO: String read GetPERSONA_CONTACTOValue write SetPERSONA_CONTACTOValue;
    property PERSONA_CONTACTOIsNull: Boolean read GetPERSONA_CONTACTOIsNull write SetPERSONA_CONTACTOIsNull;
    property 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 ID_EMPRESA: Integer read GetID_EMPRESAValue write SetID_EMPRESAValue;
    property ID_EMPRESAIsNull: Boolean read GetID_EMPRESAIsNull write SetID_EMPRESAIsNull;
    property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue;
    property REFERENCIAIsNull: Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull;
    property ID_TIENDA: Integer read GetID_TIENDAValue write SetID_TIENDAValue;
    property ID_TIENDAIsNull: Boolean read GetID_TIENDAIsNull write SetID_TIENDAIsNull;
    property TIENDA: String read GetTIENDAValue write SetTIENDAValue;
    property TIENDAIsNull: Boolean read GetTIENDAIsNull write SetTIENDAIsNull;
    property DESCUENTO: Float read GetDESCUENTOValue write SetDESCUENTOValue;
    property DESCUENTOIsNull: Boolean read GetDESCUENTOIsNull write SetDESCUENTOIsNull;
    property DESCRIPCION_PROVEEDOR: String read GetDESCRIPCION_PROVEEDORValue write SetDESCRIPCION_PROVEEDORValue;
    property DESCRIPCION_PROVEEDORIsNull: Boolean read GetDESCRIPCION_PROVEEDORIsNull write SetDESCRIPCION_PROVEEDORIsNull;
    property CODIGO_ASIGNADO: String read GetCODIGO_ASIGNADOValue write SetCODIGO_ASIGNADOValue;
    property CODIGO_ASIGNADOIsNull: Boolean read GetCODIGO_ASIGNADOIsNull write SetCODIGO_ASIGNADOIsNull;
    property GRUPO_PROVEEDOR: String read GetGRUPO_PROVEEDORValue write SetGRUPO_PROVEEDORValue;
    property GRUPO_PROVEEDORIsNull: Boolean read GetGRUPO_PROVEEDORIsNull write SetGRUPO_PROVEEDORIsNull;
    property REGIMEN_IVA: String read GetREGIMEN_IVAValue write SetREGIMEN_IVAValue;
    property REGIMEN_IVAIsNull: Boolean read GetREGIMEN_IVAIsNull write SetREGIMEN_IVAIsNull;
    property ID_TIPO_IVA: Integer read GetID_TIPO_IVAValue write SetID_TIPO_IVAValue;
    property ID_TIPO_IVAIsNull: Boolean read GetID_TIPO_IVAIsNull write SetID_TIPO_IVAIsNull;
    property ID_FORMA_PAGO: Integer read GetID_FORMA_PAGOValue write SetID_FORMA_PAGOValue;
    property ID_FORMA_PAGOIsNull: Boolean read GetID_FORMA_PAGOIsNull write SetID_FORMA_PAGOIsNull;
    property TIENDA_WEB: SmallInt read GetTIENDA_WEBValue write SetTIENDA_WEBValue;
    property TIENDA_WEBIsNull: Boolean read GetTIENDA_WEBIsNull write SetTIENDA_WEBIsNull;
    property HOMOLOGADO: SmallInt read GetHOMOLOGADOValue write SetHOMOLOGADOValue;
    property HOMOLOGADOIsNull: Boolean read GetHOMOLOGADOIsNull write SetHOMOLOGADOIsNull;
    property CERTIFICACION: String read GetCERTIFICACIONValue write SetCERTIFICACIONValue;
    property CERTIFICACIONIsNull: Boolean read GetCERTIFICACIONIsNull write SetCERTIFICACIONIsNull;
    property IGNORAR_CONTABILIDAD: Integer read GetIGNORAR_CONTABILIDADValue write SetIGNORAR_CONTABILIDADValue;
    property IGNORAR_CONTABILIDADIsNull: Boolean read GetIGNORAR_CONTABILIDADIsNull write SetIGNORAR_CONTABILIDADIsNull;
    property TIENE_SUBCUENTA: Integer read GetTIENE_SUBCUENTAValue write SetTIENE_SUBCUENTAValue;
    property TIENE_SUBCUENTAIsNull: Boolean read GetTIENE_SUBCUENTAIsNull write SetTIENE_SUBCUENTAIsNull;
    property NOMBRE_COMERCIAL: String read GetNOMBRE_COMERCIALValue write SetNOMBRE_COMERCIALValue;
    property NOMBRE_COMERCIALIsNull: Boolean read GetNOMBRE_COMERCIALIsNull write SetNOMBRE_COMERCIALIsNull;
    property ES_ACREEDOR: SmallInt read GetES_ACREEDORValue write SetES_ACREEDORValue;
    property ES_ACREEDORIsNull: Boolean read GetES_ACREEDORIsNull write SetES_ACREEDORIsNull;
    property VENCIMIENTO_FACTURAS_1: Integer read GetVENCIMIENTO_FACTURAS_1Value write SetVENCIMIENTO_FACTURAS_1Value;
    property VENCIMIENTO_FACTURAS_1IsNull: Boolean read GetVENCIMIENTO_FACTURAS_1IsNull write SetVENCIMIENTO_FACTURAS_1IsNull;
    property VENCIMIENTO_FACTURAS_2: Integer read GetVENCIMIENTO_FACTURAS_2Value write SetVENCIMIENTO_FACTURAS_2Value;
    property VENCIMIENTO_FACTURAS_2IsNull: Boolean read GetVENCIMIENTO_FACTURAS_2IsNull write SetVENCIMIENTO_FACTURAS_2IsNull;
    property VENCIMIENTO_FACTURAS_3: Integer read GetVENCIMIENTO_FACTURAS_3Value write SetVENCIMIENTO_FACTURAS_3Value;
    property VENCIMIENTO_FACTURAS_3IsNull: Boolean read GetVENCIMIENTO_FACTURAS_3IsNull write SetVENCIMIENTO_FACTURAS_3IsNull;
  end;

  { TProveedoresDataTableRules }
  TProveedoresDataTableRules = class(TIntfObjectDADataTableRules, IProveedores)
  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_CATEGORIAValue: Integer; virtual;
    procedure SetID_CATEGORIAValue(const aValue: Integer); virtual;
    function GetID_CATEGORIAIsNull: Boolean; virtual;
    procedure SetID_CATEGORIAIsNull(const aValue: Boolean); virtual;
    function GetNIF_CIFValue: String; virtual;
    procedure SetNIF_CIFValue(const aValue: String); virtual;
    function GetNIF_CIFIsNull: Boolean; virtual;
    procedure SetNIF_CIFIsNull(const aValue: Boolean); virtual;
    function GetNOMBREValue: String; virtual;
    procedure SetNOMBREValue(const aValue: String); virtual;
    function GetNOMBREIsNull: Boolean; virtual;
    procedure SetNOMBREIsNull(const aValue: Boolean); virtual;
    function GetPERSONA_CONTACTOValue: String; virtual;
    procedure SetPERSONA_CONTACTOValue(const aValue: String); virtual;
    function GetPERSONA_CONTACTOIsNull: Boolean; virtual;
    procedure SetPERSONA_CONTACTOIsNull(const aValue: Boolean); virtual;
    function 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 GetID_EMPRESAValue: Integer; virtual;
    procedure SetID_EMPRESAValue(const aValue: Integer); virtual;
    function GetID_EMPRESAIsNull: Boolean; virtual;
    procedure SetID_EMPRESAIsNull(const aValue: Boolean); virtual;
    function GetREFERENCIAValue: String; virtual;
    procedure SetREFERENCIAValue(const aValue: String); virtual;
    function GetREFERENCIAIsNull: Boolean; virtual;
    procedure SetREFERENCIAIsNull(const aValue: Boolean); virtual;
    function GetID_TIENDAValue: Integer; virtual;
    procedure SetID_TIENDAValue(const aValue: Integer); virtual;
    function GetID_TIENDAIsNull: Boolean; virtual;
    procedure SetID_TIENDAIsNull(const aValue: Boolean); virtual;
    function GetTIENDAValue: String; virtual;
    procedure SetTIENDAValue(const aValue: String); virtual;
    function GetTIENDAIsNull: Boolean; virtual;
    procedure SetTIENDAIsNull(const aValue: Boolean); virtual;
    function GetDESCUENTOValue: Float; virtual;
    procedure SetDESCUENTOValue(const aValue: Float); virtual;
    function GetDESCUENTOIsNull: Boolean; virtual;
    procedure SetDESCUENTOIsNull(const aValue: Boolean); virtual;
    function GetDESCRIPCION_PROVEEDORValue: String; virtual;
    procedure SetDESCRIPCION_PROVEEDORValue(const aValue: String); virtual;
    function GetDESCRIPCION_PROVEEDORIsNull: Boolean; virtual;
    procedure SetDESCRIPCION_PROVEEDORIsNull(const aValue: Boolean); virtual;
    function GetCODIGO_ASIGNADOValue: String; virtual;
    procedure SetCODIGO_ASIGNADOValue(const aValue: String); virtual;
    function GetCODIGO_ASIGNADOIsNull: Boolean; virtual;
    procedure SetCODIGO_ASIGNADOIsNull(const aValue: Boolean); virtual;
    function GetGRUPO_PROVEEDORValue: String; virtual;
    procedure SetGRUPO_PROVEEDORValue(const aValue: String); virtual;
    function GetGRUPO_PROVEEDORIsNull: Boolean; virtual;
    procedure SetGRUPO_PROVEEDORIsNull(const aValue: Boolean); virtual;
    function GetREGIMEN_IVAValue: String; virtual;
    procedure SetREGIMEN_IVAValue(const aValue: String); virtual;
    function GetREGIMEN_IVAIsNull: Boolean; virtual;
    procedure SetREGIMEN_IVAIsNull(const aValue: Boolean); virtual;
    function GetID_TIPO_IVAValue: Integer; virtual;
    procedure SetID_TIPO_IVAValue(const aValue: Integer); virtual;
    function GetID_TIPO_IVAIsNull: Boolean; virtual;
    procedure SetID_TIPO_IVAIsNull(const aValue: Boolean); virtual;
    function GetID_FORMA_PAGOValue: Integer; virtual;
    procedure SetID_FORMA_PAGOValue(const aValue: Integer); virtual;
    function GetID_FORMA_PAGOIsNull: Boolean; virtual;
    procedure SetID_FORMA_PAGOIsNull(const aValue: Boolean); virtual;
    function GetTIENDA_WEBValue: SmallInt; virtual;
    procedure SetTIENDA_WEBValue(const aValue: SmallInt); virtual;
    function GetTIENDA_WEBIsNull: Boolean; virtual;
    procedure SetTIENDA_WEBIsNull(const aValue: Boolean); virtual;
    function GetHOMOLOGADOValue: SmallInt; virtual;
    procedure SetHOMOLOGADOValue(const aValue: SmallInt); virtual;
    function GetHOMOLOGADOIsNull: Boolean; virtual;
    procedure SetHOMOLOGADOIsNull(const aValue: Boolean); virtual;
    function GetCERTIFICACIONValue: String; virtual;
    procedure SetCERTIFICACIONValue(const aValue: String); virtual;
    function GetCERTIFICACIONIsNull: Boolean; virtual;
    procedure SetCERTIFICACIONIsNull(const aValue: Boolean); virtual;
    function GetIGNORAR_CONTABILIDADValue: Integer; virtual;
    procedure SetIGNORAR_CONTABILIDADValue(const aValue: Integer); virtual;
    function GetIGNORAR_CONTABILIDADIsNull: Boolean; virtual;
    procedure SetIGNORAR_CONTABILIDADIsNull(const aValue: Boolean); virtual;
    function GetTIENE_SUBCUENTAValue: Integer; virtual;
    procedure SetTIENE_SUBCUENTAValue(const aValue: Integer); virtual;
    function GetTIENE_SUBCUENTAIsNull: Boolean; virtual;
    procedure SetTIENE_SUBCUENTAIsNull(const aValue: Boolean); virtual;
    function GetNOMBRE_COMERCIALValue: String; virtual;
    procedure SetNOMBRE_COMERCIALValue(const aValue: String); virtual;
    function GetNOMBRE_COMERCIALIsNull: Boolean; virtual;
    procedure SetNOMBRE_COMERCIALIsNull(const aValue: Boolean); virtual;
    function GetES_ACREEDORValue: SmallInt; virtual;
    procedure SetES_ACREEDORValue(const aValue: SmallInt); virtual;
    function GetES_ACREEDORIsNull: Boolean; virtual;
    procedure SetES_ACREEDORIsNull(const aValue: Boolean); virtual;
    function GetVENCIMIENTO_FACTURAS_1Value: Integer; virtual;
    procedure SetVENCIMIENTO_FACTURAS_1Value(const aValue: Integer); virtual;
    function GetVENCIMIENTO_FACTURAS_1IsNull: Boolean; virtual;
    procedure SetVENCIMIENTO_FACTURAS_1IsNull(const aValue: Boolean); virtual;
    function GetVENCIMIENTO_FACTURAS_2Value: Integer; virtual;
    procedure SetVENCIMIENTO_FACTURAS_2Value(const aValue: Integer); virtual;
    function GetVENCIMIENTO_FACTURAS_2IsNull: Boolean; virtual;
    procedure SetVENCIMIENTO_FACTURAS_2IsNull(const aValue: Boolean); virtual;
    function GetVENCIMIENTO_FACTURAS_3Value: Integer; virtual;
    procedure SetVENCIMIENTO_FACTURAS_3Value(const aValue: Integer); virtual;
    function GetVENCIMIENTO_FACTURAS_3IsNull: Boolean; virtual;
    procedure SetVENCIMIENTO_FACTURAS_3IsNull(const aValue: Boolean); virtual;

    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property ID_CATEGORIA: Integer read GetID_CATEGORIAValue write SetID_CATEGORIAValue;
    property ID_CATEGORIAIsNull: Boolean read GetID_CATEGORIAIsNull write SetID_CATEGORIAIsNull;
    property NIF_CIF: String read GetNIF_CIFValue write SetNIF_CIFValue;
    property NIF_CIFIsNull: Boolean read GetNIF_CIFIsNull write SetNIF_CIFIsNull;
    property NOMBRE: String read GetNOMBREValue write SetNOMBREValue;
    property NOMBREIsNull: Boolean read GetNOMBREIsNull write SetNOMBREIsNull;
    property PERSONA_CONTACTO: String read GetPERSONA_CONTACTOValue write SetPERSONA_CONTACTOValue;
    property PERSONA_CONTACTOIsNull: Boolean read GetPERSONA_CONTACTOIsNull write SetPERSONA_CONTACTOIsNull;
    property 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 ID_EMPRESA: Integer read GetID_EMPRESAValue write SetID_EMPRESAValue;
    property ID_EMPRESAIsNull: Boolean read GetID_EMPRESAIsNull write SetID_EMPRESAIsNull;
    property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue;
    property REFERENCIAIsNull: Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull;
    property ID_TIENDA: Integer read GetID_TIENDAValue write SetID_TIENDAValue;
    property ID_TIENDAIsNull: Boolean read GetID_TIENDAIsNull write SetID_TIENDAIsNull;
    property TIENDA: String read GetTIENDAValue write SetTIENDAValue;
    property TIENDAIsNull: Boolean read GetTIENDAIsNull write SetTIENDAIsNull;
    property DESCUENTO: Float read GetDESCUENTOValue write SetDESCUENTOValue;
    property DESCUENTOIsNull: Boolean read GetDESCUENTOIsNull write SetDESCUENTOIsNull;
    property DESCRIPCION_PROVEEDOR: String read GetDESCRIPCION_PROVEEDORValue write SetDESCRIPCION_PROVEEDORValue;
    property DESCRIPCION_PROVEEDORIsNull: Boolean read GetDESCRIPCION_PROVEEDORIsNull write SetDESCRIPCION_PROVEEDORIsNull;
    property CODIGO_ASIGNADO: String read GetCODIGO_ASIGNADOValue write SetCODIGO_ASIGNADOValue;
    property CODIGO_ASIGNADOIsNull: Boolean read GetCODIGO_ASIGNADOIsNull write SetCODIGO_ASIGNADOIsNull;
    property GRUPO_PROVEEDOR: String read GetGRUPO_PROVEEDORValue write SetGRUPO_PROVEEDORValue;
    property GRUPO_PROVEEDORIsNull: Boolean read GetGRUPO_PROVEEDORIsNull write SetGRUPO_PROVEEDORIsNull;
    property REGIMEN_IVA: String read GetREGIMEN_IVAValue write SetREGIMEN_IVAValue;
    property REGIMEN_IVAIsNull: Boolean read GetREGIMEN_IVAIsNull write SetREGIMEN_IVAIsNull;
    property ID_TIPO_IVA: Integer read GetID_TIPO_IVAValue write SetID_TIPO_IVAValue;
    property ID_TIPO_IVAIsNull: Boolean read GetID_TIPO_IVAIsNull write SetID_TIPO_IVAIsNull;
    property ID_FORMA_PAGO: Integer read GetID_FORMA_PAGOValue write SetID_FORMA_PAGOValue;
    property ID_FORMA_PAGOIsNull: Boolean read GetID_FORMA_PAGOIsNull write SetID_FORMA_PAGOIsNull;
    property TIENDA_WEB: SmallInt read GetTIENDA_WEBValue write SetTIENDA_WEBValue;
    property TIENDA_WEBIsNull: Boolean read GetTIENDA_WEBIsNull write SetTIENDA_WEBIsNull;
    property HOMOLOGADO: SmallInt read GetHOMOLOGADOValue write SetHOMOLOGADOValue;
    property HOMOLOGADOIsNull: Boolean read GetHOMOLOGADOIsNull write SetHOMOLOGADOIsNull;
    property CERTIFICACION: String read GetCERTIFICACIONValue write SetCERTIFICACIONValue;
    property CERTIFICACIONIsNull: Boolean read GetCERTIFICACIONIsNull write SetCERTIFICACIONIsNull;
    property IGNORAR_CONTABILIDAD: Integer read GetIGNORAR_CONTABILIDADValue write SetIGNORAR_CONTABILIDADValue;
    property IGNORAR_CONTABILIDADIsNull: Boolean read GetIGNORAR_CONTABILIDADIsNull write SetIGNORAR_CONTABILIDADIsNull;
    property TIENE_SUBCUENTA: Integer read GetTIENE_SUBCUENTAValue write SetTIENE_SUBCUENTAValue;
    property TIENE_SUBCUENTAIsNull: Boolean read GetTIENE_SUBCUENTAIsNull write SetTIENE_SUBCUENTAIsNull;
    property NOMBRE_COMERCIAL: String read GetNOMBRE_COMERCIALValue write SetNOMBRE_COMERCIALValue;
    property NOMBRE_COMERCIALIsNull: Boolean read GetNOMBRE_COMERCIALIsNull write SetNOMBRE_COMERCIALIsNull;
    property ES_ACREEDOR: SmallInt read GetES_ACREEDORValue write SetES_ACREEDORValue;
    property ES_ACREEDORIsNull: Boolean read GetES_ACREEDORIsNull write SetES_ACREEDORIsNull;
    property VENCIMIENTO_FACTURAS_1: Integer read GetVENCIMIENTO_FACTURAS_1Value write SetVENCIMIENTO_FACTURAS_1Value;
    property VENCIMIENTO_FACTURAS_1IsNull: Boolean read GetVENCIMIENTO_FACTURAS_1IsNull write SetVENCIMIENTO_FACTURAS_1IsNull;
    property VENCIMIENTO_FACTURAS_2: Integer read GetVENCIMIENTO_FACTURAS_2Value write SetVENCIMIENTO_FACTURAS_2Value;
    property VENCIMIENTO_FACTURAS_2IsNull: Boolean read GetVENCIMIENTO_FACTURAS_2IsNull write SetVENCIMIENTO_FACTURAS_2IsNull;
    property VENCIMIENTO_FACTURAS_3: Integer read GetVENCIMIENTO_FACTURAS_3Value write SetVENCIMIENTO_FACTURAS_3Value;
    property VENCIMIENTO_FACTURAS_3IsNull: Boolean read GetVENCIMIENTO_FACTURAS_3IsNull write SetVENCIMIENTO_FACTURAS_3IsNull;

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

  end;

  { IVendedores }
  IVendedores = interface(IDAStronglyTypedDataTable)
  ['{E64C6B17-5C91-42EE-AFC3-DB0E5AABA127}']
    { Property getters and setters }
    function GetIDValue: Integer;
    procedure SetIDValue(const aValue: Integer);
    function GetIDIsNull: Boolean;
    procedure SetIDIsNull(const aValue: Boolean);
    function GetID_CATEGORIAValue: Integer;
    procedure SetID_CATEGORIAValue(const aValue: Integer);
    function GetID_CATEGORIAIsNull: Boolean;
    procedure SetID_CATEGORIAIsNull(const aValue: Boolean);
    function GetNIF_CIFValue: String;
    procedure SetNIF_CIFValue(const aValue: String);
    function GetNIF_CIFIsNull: Boolean;
    procedure SetNIF_CIFIsNull(const aValue: Boolean);
    function GetNOMBREValue: String;
    procedure SetNOMBREValue(const aValue: String);
    function GetNOMBREIsNull: Boolean;
    procedure SetNOMBREIsNull(const aValue: Boolean);
    function GetPERSONA_CONTACTOValue: String;
    procedure SetPERSONA_CONTACTOValue(const aValue: String);
    function GetPERSONA_CONTACTOIsNull: Boolean;
    procedure SetPERSONA_CONTACTOIsNull(const aValue: Boolean);
    function 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 GetID_EMPRESAValue: Integer;
    procedure SetID_EMPRESAValue(const aValue: Integer);
    function GetID_EMPRESAIsNull: Boolean;
    procedure SetID_EMPRESAIsNull(const aValue: Boolean);
    function GetREFERENCIAValue: String;
    procedure SetREFERENCIAValue(const aValue: String);
    function GetREFERENCIAIsNull: Boolean;
    procedure SetREFERENCIAIsNull(const aValue: Boolean);
    function GetID_TIENDAValue: Integer;
    procedure SetID_TIENDAValue(const aValue: Integer);
    function GetID_TIENDAIsNull: Boolean;
    procedure SetID_TIENDAIsNull(const aValue: Boolean);
    function GetTIENDAValue: String;
    procedure SetTIENDAValue(const aValue: String);
    function GetTIENDAIsNull: Boolean;
    procedure SetTIENDAIsNull(const aValue: Boolean);
    function GetCOMISIONValue: Float;
    procedure SetCOMISIONValue(const aValue: Float);
    function GetCOMISIONIsNull: Boolean;
    procedure SetCOMISIONIsNull(const aValue: Boolean);
    function GetID_USUARIOValue: Integer;
    procedure SetID_USUARIOValue(const aValue: Integer);
    function GetID_USUARIOIsNull: Boolean;
    procedure SetID_USUARIOIsNull(const aValue: Boolean);


    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property ID_CATEGORIA: Integer read GetID_CATEGORIAValue write SetID_CATEGORIAValue;
    property ID_CATEGORIAIsNull: Boolean read GetID_CATEGORIAIsNull write SetID_CATEGORIAIsNull;
    property NIF_CIF: String read GetNIF_CIFValue write SetNIF_CIFValue;
    property NIF_CIFIsNull: Boolean read GetNIF_CIFIsNull write SetNIF_CIFIsNull;
    property NOMBRE: String read GetNOMBREValue write SetNOMBREValue;
    property NOMBREIsNull: Boolean read GetNOMBREIsNull write SetNOMBREIsNull;
    property PERSONA_CONTACTO: String read GetPERSONA_CONTACTOValue write SetPERSONA_CONTACTOValue;
    property PERSONA_CONTACTOIsNull: Boolean read GetPERSONA_CONTACTOIsNull write SetPERSONA_CONTACTOIsNull;
    property 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 ID_EMPRESA: Integer read GetID_EMPRESAValue write SetID_EMPRESAValue;
    property ID_EMPRESAIsNull: Boolean read GetID_EMPRESAIsNull write SetID_EMPRESAIsNull;
    property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue;
    property REFERENCIAIsNull: Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull;
    property ID_TIENDA: Integer read GetID_TIENDAValue write SetID_TIENDAValue;
    property ID_TIENDAIsNull: Boolean read GetID_TIENDAIsNull write SetID_TIENDAIsNull;
    property TIENDA: String read GetTIENDAValue write SetTIENDAValue;
    property TIENDAIsNull: Boolean read GetTIENDAIsNull write SetTIENDAIsNull;
    property COMISION: Float read GetCOMISIONValue write SetCOMISIONValue;
    property COMISIONIsNull: Boolean read GetCOMISIONIsNull write SetCOMISIONIsNull;
    property ID_USUARIO: Integer read GetID_USUARIOValue write SetID_USUARIOValue;
    property ID_USUARIOIsNull: Boolean read GetID_USUARIOIsNull write SetID_USUARIOIsNull;
  end;

  { TVendedoresDataTableRules }
  TVendedoresDataTableRules = class(TIntfObjectDADataTableRules, IVendedores)
  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_CATEGORIAValue: Integer; virtual;
    procedure SetID_CATEGORIAValue(const aValue: Integer); virtual;
    function GetID_CATEGORIAIsNull: Boolean; virtual;
    procedure SetID_CATEGORIAIsNull(const aValue: Boolean); virtual;
    function GetNIF_CIFValue: String; virtual;
    procedure SetNIF_CIFValue(const aValue: String); virtual;
    function GetNIF_CIFIsNull: Boolean; virtual;
    procedure SetNIF_CIFIsNull(const aValue: Boolean); virtual;
    function GetNOMBREValue: String; virtual;
    procedure SetNOMBREValue(const aValue: String); virtual;
    function GetNOMBREIsNull: Boolean; virtual;
    procedure SetNOMBREIsNull(const aValue: Boolean); virtual;
    function GetPERSONA_CONTACTOValue: String; virtual;
    procedure SetPERSONA_CONTACTOValue(const aValue: String); virtual;
    function GetPERSONA_CONTACTOIsNull: Boolean; virtual;
    procedure SetPERSONA_CONTACTOIsNull(const aValue: Boolean); virtual;
    function 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 GetID_EMPRESAValue: Integer; virtual;
    procedure SetID_EMPRESAValue(const aValue: Integer); virtual;
    function GetID_EMPRESAIsNull: Boolean; virtual;
    procedure SetID_EMPRESAIsNull(const aValue: Boolean); virtual;
    function GetREFERENCIAValue: String; virtual;
    procedure SetREFERENCIAValue(const aValue: String); virtual;
    function GetREFERENCIAIsNull: Boolean; virtual;
    procedure SetREFERENCIAIsNull(const aValue: Boolean); virtual;
    function GetID_TIENDAValue: Integer; virtual;
    procedure SetID_TIENDAValue(const aValue: Integer); virtual;
    function GetID_TIENDAIsNull: Boolean; virtual;
    procedure SetID_TIENDAIsNull(const aValue: Boolean); virtual;
    function GetTIENDAValue: String; virtual;
    procedure SetTIENDAValue(const aValue: String); virtual;
    function GetTIENDAIsNull: Boolean; virtual;
    procedure SetTIENDAIsNull(const aValue: Boolean); virtual;
    function GetCOMISIONValue: Float; virtual;
    procedure SetCOMISIONValue(const aValue: Float); virtual;
    function GetCOMISIONIsNull: Boolean; virtual;
    procedure SetCOMISIONIsNull(const aValue: Boolean); virtual;
    function GetID_USUARIOValue: Integer; virtual;
    procedure SetID_USUARIOValue(const aValue: Integer); virtual;
    function GetID_USUARIOIsNull: Boolean; virtual;
    procedure SetID_USUARIOIsNull(const aValue: Boolean); virtual;

    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property ID_CATEGORIA: Integer read GetID_CATEGORIAValue write SetID_CATEGORIAValue;
    property ID_CATEGORIAIsNull: Boolean read GetID_CATEGORIAIsNull write SetID_CATEGORIAIsNull;
    property NIF_CIF: String read GetNIF_CIFValue write SetNIF_CIFValue;
    property NIF_CIFIsNull: Boolean read GetNIF_CIFIsNull write SetNIF_CIFIsNull;
    property NOMBRE: String read GetNOMBREValue write SetNOMBREValue;
    property NOMBREIsNull: Boolean read GetNOMBREIsNull write SetNOMBREIsNull;
    property PERSONA_CONTACTO: String read GetPERSONA_CONTACTOValue write SetPERSONA_CONTACTOValue;
    property PERSONA_CONTACTOIsNull: Boolean read GetPERSONA_CONTACTOIsNull write SetPERSONA_CONTACTOIsNull;
    property 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 ID_EMPRESA: Integer read GetID_EMPRESAValue write SetID_EMPRESAValue;
    property ID_EMPRESAIsNull: Boolean read GetID_EMPRESAIsNull write SetID_EMPRESAIsNull;
    property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue;
    property REFERENCIAIsNull: Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull;
    property ID_TIENDA: Integer read GetID_TIENDAValue write SetID_TIENDAValue;
    property ID_TIENDAIsNull: Boolean read GetID_TIENDAIsNull write SetID_TIENDAIsNull;
    property TIENDA: String read GetTIENDAValue write SetTIENDAValue;
    property TIENDAIsNull: Boolean read GetTIENDAIsNull write SetTIENDAIsNull;
    property COMISION: Float read GetCOMISIONValue write SetCOMISIONValue;
    property COMISIONIsNull: Boolean read GetCOMISIONIsNull write SetCOMISIONIsNull;
    property ID_USUARIO: Integer read GetID_USUARIOValue write SetID_USUARIOValue;
    property ID_USUARIOIsNull: Boolean read GetID_USUARIOIsNull write SetID_USUARIOIsNull;

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

  end;

  { IDireccionesContacto }
  IDireccionesContacto = interface(IDAStronglyTypedDataTable)
  ['{34A2A481-6FDF-417E-B69D-DCBC4E92361C}']
    { Property getters and setters }
    function GetIDValue: Integer;
    procedure SetIDValue(const aValue: Integer);
    function GetIDIsNull: Boolean;
    procedure SetIDIsNull(const aValue: Boolean);
    function GetID_CONTACTOValue: Integer;
    procedure SetID_CONTACTOValue(const aValue: Integer);
    function GetID_CONTACTOIsNull: Boolean;
    procedure SetID_CONTACTOIsNull(const aValue: Boolean);
    function GetNIF_CIFValue: String;
    procedure SetNIF_CIFValue(const aValue: String);
    function GetNIF_CIFIsNull: Boolean;
    procedure SetNIF_CIFIsNull(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 GetPORTEValue: Float;
    procedure SetPORTEValue(const aValue: Float);
    function GetPORTEIsNull: Boolean;
    procedure SetPORTEIsNull(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);


    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property ID_CONTACTO: Integer read GetID_CONTACTOValue write SetID_CONTACTOValue;
    property ID_CONTACTOIsNull: Boolean read GetID_CONTACTOIsNull write SetID_CONTACTOIsNull;
    property NIF_CIF: String read GetNIF_CIFValue write SetNIF_CIFValue;
    property NIF_CIFIsNull: Boolean read GetNIF_CIFIsNull write SetNIF_CIFIsNull;
    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 PORTE: Float read GetPORTEValue write SetPORTEValue;
    property PORTEIsNull: Boolean read GetPORTEIsNull write SetPORTEIsNull;
    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;
  end;

  { TDireccionesContactoDataTableRules }
  TDireccionesContactoDataTableRules = class(TIntfObjectDADataTableRules, IDireccionesContacto)
  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_CONTACTOValue: Integer; virtual;
    procedure SetID_CONTACTOValue(const aValue: Integer); virtual;
    function GetID_CONTACTOIsNull: Boolean; virtual;
    procedure SetID_CONTACTOIsNull(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 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 GetPORTEValue: Float; virtual;
    procedure SetPORTEValue(const aValue: Float); virtual;
    function GetPORTEIsNull: Boolean; virtual;
    procedure SetPORTEIsNull(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;

    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property ID_CONTACTO: Integer read GetID_CONTACTOValue write SetID_CONTACTOValue;
    property ID_CONTACTOIsNull: Boolean read GetID_CONTACTOIsNull write SetID_CONTACTOIsNull;
    property NIF_CIF: String read GetNIF_CIFValue write SetNIF_CIFValue;
    property NIF_CIFIsNull: Boolean read GetNIF_CIFIsNull write SetNIF_CIFIsNull;
    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 PORTE: Float read GetPORTEValue write SetPORTEValue;
    property PORTEIsNull: Boolean read GetPORTEIsNull write SetPORTEIsNull;
    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;

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

  end;

  { IClientesDescuentos }
  IClientesDescuentos = interface(IDAStronglyTypedDataTable)
  ['{AEEAE1C7-A76E-4548-BE51-685D0B162D85}']
    { Property getters and setters }
    function GetIDValue: Integer;
    procedure SetIDValue(const aValue: Integer);
    function GetIDIsNull: Boolean;
    procedure SetIDIsNull(const aValue: Boolean);
    function GetID_CLIENTEValue: Integer;
    procedure SetID_CLIENTEValue(const aValue: Integer);
    function GetID_CLIENTEIsNull: Boolean;
    procedure SetID_CLIENTEIsNull(const aValue: Boolean);
    function GetID_PROVEEDORValue: Integer;
    procedure SetID_PROVEEDORValue(const aValue: Integer);
    function GetID_PROVEEDORIsNull: Boolean;
    procedure SetID_PROVEEDORIsNull(const aValue: Boolean);
    function GetNOMBREValue: String;
    procedure SetNOMBREValue(const aValue: String);
    function GetNOMBREIsNull: Boolean;
    procedure SetNOMBREIsNull(const aValue: Boolean);
    function GetDESCUENTOValue: Float;
    procedure SetDESCUENTOValue(const aValue: Float);
    function GetDESCUENTOIsNull: Boolean;
    procedure SetDESCUENTOIsNull(const aValue: Boolean);


    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property ID_CLIENTE: Integer read GetID_CLIENTEValue write SetID_CLIENTEValue;
    property ID_CLIENTEIsNull: Boolean read GetID_CLIENTEIsNull write SetID_CLIENTEIsNull;
    property ID_PROVEEDOR: Integer read GetID_PROVEEDORValue write SetID_PROVEEDORValue;
    property ID_PROVEEDORIsNull: Boolean read GetID_PROVEEDORIsNull write SetID_PROVEEDORIsNull;
    property NOMBRE: String read GetNOMBREValue write SetNOMBREValue;
    property NOMBREIsNull: Boolean read GetNOMBREIsNull write SetNOMBREIsNull;
    property DESCUENTO: Float read GetDESCUENTOValue write SetDESCUENTOValue;
    property DESCUENTOIsNull: Boolean read GetDESCUENTOIsNull write SetDESCUENTOIsNull;
  end;

  { TClientesDescuentosDataTableRules }
  TClientesDescuentosDataTableRules = class(TIntfObjectDADataTableRules, IClientesDescuentos)
  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_CLIENTEValue: Integer; virtual;
    procedure SetID_CLIENTEValue(const aValue: Integer); virtual;
    function GetID_CLIENTEIsNull: Boolean; virtual;
    procedure SetID_CLIENTEIsNull(const aValue: Boolean); virtual;
    function GetID_PROVEEDORValue: Integer; virtual;
    procedure SetID_PROVEEDORValue(const aValue: Integer); virtual;
    function GetID_PROVEEDORIsNull: Boolean; virtual;
    procedure SetID_PROVEEDORIsNull(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 GetDESCUENTOValue: Float; virtual;
    procedure SetDESCUENTOValue(const aValue: Float); virtual;
    function GetDESCUENTOIsNull: Boolean; virtual;
    procedure SetDESCUENTOIsNull(const aValue: Boolean); virtual;

    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property ID_CLIENTE: Integer read GetID_CLIENTEValue write SetID_CLIENTEValue;
    property ID_CLIENTEIsNull: Boolean read GetID_CLIENTEIsNull write SetID_CLIENTEIsNull;
    property ID_PROVEEDOR: Integer read GetID_PROVEEDORValue write SetID_PROVEEDORValue;
    property ID_PROVEEDORIsNull: Boolean read GetID_PROVEEDORIsNull write SetID_PROVEEDORIsNull;
    property NOMBRE: String read GetNOMBREValue write SetNOMBREValue;
    property NOMBREIsNull: Boolean read GetNOMBREIsNull write SetNOMBREIsNull;
    property DESCUENTO: Float read GetDESCUENTOValue write SetDESCUENTOValue;
    property DESCUENTOIsNull: Boolean read GetDESCUENTOIsNull write SetDESCUENTOIsNull;

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

  end;

  { IProcedenciasCliente }
  IProcedenciasCliente = interface(IDAStronglyTypedDataTable)
  ['{C32557E0-EF58-48C4-9E8D-348E2CDF9459}']
    { Property getters and setters }
    function GetIDValue: Integer;
    procedure SetIDValue(const aValue: Integer);
    function GetIDIsNull: Boolean;
    procedure SetIDIsNull(const aValue: Boolean);
    function GetDESCRIPCIONValue: String;
    procedure SetDESCRIPCIONValue(const aValue: String);
    function GetDESCRIPCIONIsNull: Boolean;
    procedure SetDESCRIPCIONIsNull(const aValue: Boolean);


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

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

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

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

  end;

  { IGruposProveedor }
  IGruposProveedor = interface(IDAStronglyTypedDataTable)
  ['{F4F95064-571E-44D1-A3D7-09DE82F63131}']
    { Property getters and setters }
    function GetIDValue: Integer;
    procedure SetIDValue(const aValue: Integer);
    function GetIDIsNull: Boolean;
    procedure SetIDIsNull(const aValue: Boolean);
    function GetDESCRIPCIONValue: String;
    procedure SetDESCRIPCIONValue(const aValue: String);
    function GetDESCRIPCIONIsNull: Boolean;
    procedure SetDESCRIPCIONIsNull(const aValue: Boolean);


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

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

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

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

  end;

  { IContactos_Refresh }
  IContactos_Refresh = interface(IDAStronglyTypedDataTable)
  ['{7B22CEBA-9A1F-41F0-8C22-E9CE518F9220}']
    { 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 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 GetREFERENCIAValue: String;
    procedure SetREFERENCIAValue(const aValue: String);
    function GetREFERENCIAIsNull: Boolean;
    procedure SetREFERENCIAIsNull(const aValue: Boolean);
    function GetPERSONA_CONTACTOValue: String;
    procedure SetPERSONA_CONTACTOValue(const aValue: String);
    function GetPERSONA_CONTACTOIsNull: Boolean;
    procedure SetPERSONA_CONTACTOIsNull(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 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 REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue;
    property REFERENCIAIsNull: Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull;
    property PERSONA_CONTACTO: String read GetPERSONA_CONTACTOValue write SetPERSONA_CONTACTOValue;
    property PERSONA_CONTACTOIsNull: Boolean read GetPERSONA_CONTACTOIsNull write SetPERSONA_CONTACTOIsNull;
  end;

  { TContactos_RefreshDataTableRules }
  TContactos_RefreshDataTableRules = class(TIntfObjectDADataTableRules, IContactos_Refresh)
  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 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 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 GetREFERENCIAValue: String; virtual;
    procedure SetREFERENCIAValue(const aValue: String); virtual;
    function GetREFERENCIAIsNull: Boolean; virtual;
    procedure SetREFERENCIAIsNull(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;

    { 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 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 REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue;
    property REFERENCIAIsNull: Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull;
    property PERSONA_CONTACTO: String read GetPERSONA_CONTACTOValue write SetPERSONA_CONTACTOValue;
    property PERSONA_CONTACTOIsNull: Boolean read GetPERSONA_CONTACTOIsNull write SetPERSONA_CONTACTOIsNull;

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

  end;

implementation

uses Variants, uROBinaryHelpers;

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

destructor TDarEmpresasContactoDataTableRules.Destroy;
begin
  inherited;
end;

function TDarEmpresasContactoDataTableRules.GetID_EMPRESAValue: Integer;
begin
  result := DataTable.Fields[idx_DarEmpresasContactoID_EMPRESA].AsInteger;
end;

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

function TDarEmpresasContactoDataTableRules.GetID_EMPRESAIsNull: boolean;
begin
  result := DataTable.Fields[idx_DarEmpresasContactoID_EMPRESA].IsNull;
end;

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


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

destructor TPersonalContactoDataTableRules.Destroy;
begin
  inherited;
end;

function TPersonalContactoDataTableRules.GetIDValue: Integer;
begin
  result := DataTable.Fields[idx_PersonalContactoID].AsInteger;
end;

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

function TPersonalContactoDataTableRules.GetIDIsNull: boolean;
begin
  result := DataTable.Fields[idx_PersonalContactoID].IsNull;
end;

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

function TPersonalContactoDataTableRules.GetID_CONTACTOValue: Integer;
begin
  result := DataTable.Fields[idx_PersonalContactoID_CONTACTO].AsInteger;
end;

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

function TPersonalContactoDataTableRules.GetID_CONTACTOIsNull: boolean;
begin
  result := DataTable.Fields[idx_PersonalContactoID_CONTACTO].IsNull;
end;

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

function TPersonalContactoDataTableRules.GetNOMBREValue: String;
begin
  result := DataTable.Fields[idx_PersonalContactoNOMBRE].AsString;
end;

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

function TPersonalContactoDataTableRules.GetNOMBREIsNull: boolean;
begin
  result := DataTable.Fields[idx_PersonalContactoNOMBRE].IsNull;
end;

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

function TPersonalContactoDataTableRules.GetPUESTOValue: String;
begin
  result := DataTable.Fields[idx_PersonalContactoPUESTO].AsString;
end;

procedure TPersonalContactoDataTableRules.SetPUESTOValue(const aValue: String);
begin
  DataTable.Fields[idx_PersonalContactoPUESTO].AsString := aValue;
end;

function TPersonalContactoDataTableRules.GetPUESTOIsNull: boolean;
begin
  result := DataTable.Fields[idx_PersonalContactoPUESTO].IsNull;
end;

procedure TPersonalContactoDataTableRules.SetPUESTOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_PersonalContactoPUESTO].AsVariant := Null;
end;

function TPersonalContactoDataTableRules.GetTELEFONOValue: String;
begin
  result := DataTable.Fields[idx_PersonalContactoTELEFONO].AsString;
end;

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

function TPersonalContactoDataTableRules.GetTELEFONOIsNull: boolean;
begin
  result := DataTable.Fields[idx_PersonalContactoTELEFONO].IsNull;
end;

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

function TPersonalContactoDataTableRules.GetMOVILValue: String;
begin
  result := DataTable.Fields[idx_PersonalContactoMOVIL].AsString;
end;

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

function TPersonalContactoDataTableRules.GetMOVILIsNull: boolean;
begin
  result := DataTable.Fields[idx_PersonalContactoMOVIL].IsNull;
end;

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

function TPersonalContactoDataTableRules.GetFAXValue: String;
begin
  result := DataTable.Fields[idx_PersonalContactoFAX].AsString;
end;

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

function TPersonalContactoDataTableRules.GetFAXIsNull: boolean;
begin
  result := DataTable.Fields[idx_PersonalContactoFAX].IsNull;
end;

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

function TPersonalContactoDataTableRules.GetEMAILValue: String;
begin
  result := DataTable.Fields[idx_PersonalContactoEMAIL].AsString;
end;

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

function TPersonalContactoDataTableRules.GetEMAILIsNull: boolean;
begin
  result := DataTable.Fields[idx_PersonalContactoEMAIL].IsNull;
end;

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

function TPersonalContactoDataTableRules.GetFECHA_ALTAValue: DateTime;
begin
  result := DataTable.Fields[idx_PersonalContactoFECHA_ALTA].AsDateTime;
end;

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

function TPersonalContactoDataTableRules.GetFECHA_ALTAIsNull: boolean;
begin
  result := DataTable.Fields[idx_PersonalContactoFECHA_ALTA].IsNull;
end;

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

function TPersonalContactoDataTableRules.GetFECHA_MODIFICACIONValue: DateTime;
begin
  result := DataTable.Fields[idx_PersonalContactoFECHA_MODIFICACION].AsDateTime;
end;

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

function TPersonalContactoDataTableRules.GetFECHA_MODIFICACIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_PersonalContactoFECHA_MODIFICACION].IsNull;
end;

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


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

destructor TDarTiendaDeUsuarioDataTableRules.Destroy;
begin
  inherited;
end;

function TDarTiendaDeUsuarioDataTableRules.GetID_TIENDAValue: Integer;
begin
  result := DataTable.Fields[idx_DarTiendaDeUsuarioID_TIENDA].AsInteger;
end;

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

function TDarTiendaDeUsuarioDataTableRules.GetID_TIENDAIsNull: boolean;
begin
  result := DataTable.Fields[idx_DarTiendaDeUsuarioID_TIENDA].IsNull;
end;

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


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

destructor TSubCuentasContactoDataTableRules.Destroy;
begin
  inherited;
end;

function TSubCuentasContactoDataTableRules.GetIDValue: Integer;
begin
  result := DataTable.Fields[idx_SubCuentasContactoID].AsInteger;
end;

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

function TSubCuentasContactoDataTableRules.GetIDIsNull: boolean;
begin
  result := DataTable.Fields[idx_SubCuentasContactoID].IsNull;
end;

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

function TSubCuentasContactoDataTableRules.GetREF_SUBCUENTAValue: String;
begin
  result := DataTable.Fields[idx_SubCuentasContactoREF_SUBCUENTA].AsString;
end;

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

function TSubCuentasContactoDataTableRules.GetREF_SUBCUENTAIsNull: boolean;
begin
  result := DataTable.Fields[idx_SubCuentasContactoREF_SUBCUENTA].IsNull;
end;

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

function TSubCuentasContactoDataTableRules.GetDESCRIPCIONValue: String;
begin
  result := DataTable.Fields[idx_SubCuentasContactoDESCRIPCION].AsString;
end;

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

function TSubCuentasContactoDataTableRules.GetDESCRIPCIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_SubCuentasContactoDESCRIPCION].IsNull;
end;

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

function TSubCuentasContactoDataTableRules.GetID_CUENTAValue: Integer;
begin
  result := DataTable.Fields[idx_SubCuentasContactoID_CUENTA].AsInteger;
end;

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

function TSubCuentasContactoDataTableRules.GetID_CUENTAIsNull: boolean;
begin
  result := DataTable.Fields[idx_SubCuentasContactoID_CUENTA].IsNull;
end;

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

function TSubCuentasContactoDataTableRules.GetID_EJERCICIOValue: Integer;
begin
  result := DataTable.Fields[idx_SubCuentasContactoID_EJERCICIO].AsInteger;
end;

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

function TSubCuentasContactoDataTableRules.GetID_EJERCICIOIsNull: boolean;
begin
  result := DataTable.Fields[idx_SubCuentasContactoID_EJERCICIO].IsNull;
end;

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

function TSubCuentasContactoDataTableRules.GetID_CONTACTOValue: Integer;
begin
  result := DataTable.Fields[idx_SubCuentasContactoID_CONTACTO].AsInteger;
end;

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

function TSubCuentasContactoDataTableRules.GetID_CONTACTOIsNull: boolean;
begin
  result := DataTable.Fields[idx_SubCuentasContactoID_CONTACTO].IsNull;
end;

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


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

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

destructor TContactosDataTableRules.Destroy;
begin
  inherited;
end;

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

function TContactosDataTableRules.GetIDValue: Integer;
begin
  result := DataTable.Fields[idx_ContactosID].AsInteger;
end;

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

function TContactosDataTableRules.GetIDIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContactosID].IsNull;
end;

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

function TContactosDataTableRules.GetID_CATEGORIAValue: Integer;
begin
  result := DataTable.Fields[idx_ContactosID_CATEGORIA].AsInteger;
end;

procedure TContactosDataTableRules.SetID_CATEGORIAValue(const aValue: Integer);
begin
  DataTable.Fields[idx_ContactosID_CATEGORIA].AsInteger := aValue;
end;

function TContactosDataTableRules.GetID_CATEGORIAIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContactosID_CATEGORIA].IsNull;
end;

procedure TContactosDataTableRules.SetID_CATEGORIAIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContactosID_CATEGORIA].AsVariant := Null;
end;

function TContactosDataTableRules.GetNIF_CIFValue: String;
begin
  result := DataTable.Fields[idx_ContactosNIF_CIF].AsString;
end;

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

function TContactosDataTableRules.GetNIF_CIFIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContactosNIF_CIF].IsNull;
end;

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

function TContactosDataTableRules.GetNOMBREValue: String;
begin
  result := DataTable.Fields[idx_ContactosNOMBRE].AsString;
end;

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

function TContactosDataTableRules.GetNOMBREIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContactosNOMBRE].IsNull;
end;

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

function TContactosDataTableRules.GetPERSONA_CONTACTOValue: String;
begin
  result := DataTable.Fields[idx_ContactosPERSONA_CONTACTO].AsString;
end;

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

function TContactosDataTableRules.GetPERSONA_CONTACTOIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContactosPERSONA_CONTACTO].IsNull;
end;

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

function TContactosDataTableRules.GetCALLEValue: String;
begin
  result := DataTable.Fields[idx_ContactosCALLE].AsString;
end;

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

function TContactosDataTableRules.GetCALLEIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContactosCALLE].IsNull;
end;

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

function TContactosDataTableRules.GetPOBLACIONValue: String;
begin
  result := DataTable.Fields[idx_ContactosPOBLACION].AsString;
end;

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

function TContactosDataTableRules.GetPOBLACIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContactosPOBLACION].IsNull;
end;

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

function TContactosDataTableRules.GetPROVINCIAValue: String;
begin
  result := DataTable.Fields[idx_ContactosPROVINCIA].AsString;
end;

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

function TContactosDataTableRules.GetPROVINCIAIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContactosPROVINCIA].IsNull;
end;

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

function TContactosDataTableRules.GetCODIGO_POSTALValue: String;
begin
  result := DataTable.Fields[idx_ContactosCODIGO_POSTAL].AsString;
end;

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

function TContactosDataTableRules.GetCODIGO_POSTALIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContactosCODIGO_POSTAL].IsNull;
end;

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

function TContactosDataTableRules.GetTELEFONO_1Value: String;
begin
  result := DataTable.Fields[idx_ContactosTELEFONO_1].AsString;
end;

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

function TContactosDataTableRules.GetTELEFONO_1IsNull: boolean;
begin
  result := DataTable.Fields[idx_ContactosTELEFONO_1].IsNull;
end;

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

function TContactosDataTableRules.GetTELEFONO_2Value: String;
begin
  result := DataTable.Fields[idx_ContactosTELEFONO_2].AsString;
end;

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

function TContactosDataTableRules.GetTELEFONO_2IsNull: boolean;
begin
  result := DataTable.Fields[idx_ContactosTELEFONO_2].IsNull;
end;

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

function TContactosDataTableRules.GetMOVIL_1Value: String;
begin
  result := DataTable.Fields[idx_ContactosMOVIL_1].AsString;
end;

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

function TContactosDataTableRules.GetMOVIL_1IsNull: boolean;
begin
  result := DataTable.Fields[idx_ContactosMOVIL_1].IsNull;
end;

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

function TContactosDataTableRules.GetMOVIL_2Value: String;
begin
  result := DataTable.Fields[idx_ContactosMOVIL_2].AsString;
end;

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

function TContactosDataTableRules.GetMOVIL_2IsNull: boolean;
begin
  result := DataTable.Fields[idx_ContactosMOVIL_2].IsNull;
end;

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

function TContactosDataTableRules.GetFAXValue: String;
begin
  result := DataTable.Fields[idx_ContactosFAX].AsString;
end;

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

function TContactosDataTableRules.GetFAXIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContactosFAX].IsNull;
end;

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

function TContactosDataTableRules.GetEMAIL_1Value: String;
begin
  result := DataTable.Fields[idx_ContactosEMAIL_1].AsString;
end;

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

function TContactosDataTableRules.GetEMAIL_1IsNull: boolean;
begin
  result := DataTable.Fields[idx_ContactosEMAIL_1].IsNull;
end;

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

function TContactosDataTableRules.GetEMAIL_2Value: String;
begin
  result := DataTable.Fields[idx_ContactosEMAIL_2].AsString;
end;

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

function TContactosDataTableRules.GetEMAIL_2IsNull: boolean;
begin
  result := DataTable.Fields[idx_ContactosEMAIL_2].IsNull;
end;

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

function TContactosDataTableRules.GetPAGINA_WEBValue: String;
begin
  result := DataTable.Fields[idx_ContactosPAGINA_WEB].AsString;
end;

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

function TContactosDataTableRules.GetPAGINA_WEBIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContactosPAGINA_WEB].IsNull;
end;

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

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

function TContactosDataTableRules.GetNOTASIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContactosNOTAS].IsNull;
end;

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

function TContactosDataTableRules.GetFECHA_ALTAValue: DateTime;
begin
  result := DataTable.Fields[idx_ContactosFECHA_ALTA].AsDateTime;
end;

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

function TContactosDataTableRules.GetFECHA_ALTAIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContactosFECHA_ALTA].IsNull;
end;

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

function TContactosDataTableRules.GetFECHA_MODIFICACIONValue: DateTime;
begin
  result := DataTable.Fields[idx_ContactosFECHA_MODIFICACION].AsDateTime;
end;

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

function TContactosDataTableRules.GetFECHA_MODIFICACIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContactosFECHA_MODIFICACION].IsNull;
end;

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

function TContactosDataTableRules.GetUSUARIOValue: String;
begin
  result := DataTable.Fields[idx_ContactosUSUARIO].AsString;
end;

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

function TContactosDataTableRules.GetUSUARIOIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContactosUSUARIO].IsNull;
end;

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

function TContactosDataTableRules.GetID_EMPRESAValue: Integer;
begin
  result := DataTable.Fields[idx_ContactosID_EMPRESA].AsInteger;
end;

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

function TContactosDataTableRules.GetID_EMPRESAIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContactosID_EMPRESA].IsNull;
end;

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

function TContactosDataTableRules.GetREFERENCIAValue: String;
begin
  result := DataTable.Fields[idx_ContactosREFERENCIA].AsString;
end;

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

function TContactosDataTableRules.GetREFERENCIAIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContactosREFERENCIA].IsNull;
end;

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

function TContactosDataTableRules.GetID_TIENDAValue: Integer;
begin
  result := DataTable.Fields[idx_ContactosID_TIENDA].AsInteger;
end;

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

function TContactosDataTableRules.GetID_TIENDAIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContactosID_TIENDA].IsNull;
end;

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

function TContactosDataTableRules.GetTIENDAValue: String;
begin
  result := DataTable.Fields[idx_ContactosTIENDA].AsString;
end;

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

function TContactosDataTableRules.GetTIENDAIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContactosTIENDA].IsNull;
end;

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


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

destructor TGruposClienteDataTableRules.Destroy;
begin
  inherited;
end;

function TGruposClienteDataTableRules.GetIDValue: Integer;
begin
  result := DataTable.Fields[idx_GruposClienteID].AsInteger;
end;

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

function TGruposClienteDataTableRules.GetIDIsNull: boolean;
begin
  result := DataTable.Fields[idx_GruposClienteID].IsNull;
end;

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

function TGruposClienteDataTableRules.GetDESCRIPCIONValue: String;
begin
  result := DataTable.Fields[idx_GruposClienteDESCRIPCION].AsString;
end;

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

function TGruposClienteDataTableRules.GetDESCRIPCIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_GruposClienteDESCRIPCION].IsNull;
end;

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


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

destructor TDatosBancariosDataTableRules.Destroy;
begin
  inherited;
end;

function TDatosBancariosDataTableRules.GetIDValue: Integer;
begin
  result := DataTable.Fields[idx_DatosBancariosID].AsInteger;
end;

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

function TDatosBancariosDataTableRules.GetIDIsNull: boolean;
begin
  result := DataTable.Fields[idx_DatosBancariosID].IsNull;
end;

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

function TDatosBancariosDataTableRules.GetID_CONTACTOValue: Integer;
begin
  result := DataTable.Fields[idx_DatosBancariosID_CONTACTO].AsInteger;
end;

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

function TDatosBancariosDataTableRules.GetID_CONTACTOIsNull: boolean;
begin
  result := DataTable.Fields[idx_DatosBancariosID_CONTACTO].IsNull;
end;

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

function TDatosBancariosDataTableRules.GetTITULARValue: String;
begin
  result := DataTable.Fields[idx_DatosBancariosTITULAR].AsString;
end;

procedure TDatosBancariosDataTableRules.SetTITULARValue(const aValue: String);
begin
  DataTable.Fields[idx_DatosBancariosTITULAR].AsString := aValue;
end;

function TDatosBancariosDataTableRules.GetTITULARIsNull: boolean;
begin
  result := DataTable.Fields[idx_DatosBancariosTITULAR].IsNull;
end;

procedure TDatosBancariosDataTableRules.SetTITULARIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_DatosBancariosTITULAR].AsVariant := Null;
end;

function TDatosBancariosDataTableRules.GetENTIDADValue: String;
begin
  result := DataTable.Fields[idx_DatosBancariosENTIDAD].AsString;
end;

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

function TDatosBancariosDataTableRules.GetENTIDADIsNull: boolean;
begin
  result := DataTable.Fields[idx_DatosBancariosENTIDAD].IsNull;
end;

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

function TDatosBancariosDataTableRules.GetSUCURSALValue: String;
begin
  result := DataTable.Fields[idx_DatosBancariosSUCURSAL].AsString;
end;

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

function TDatosBancariosDataTableRules.GetSUCURSALIsNull: boolean;
begin
  result := DataTable.Fields[idx_DatosBancariosSUCURSAL].IsNull;
end;

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

function TDatosBancariosDataTableRules.GetDCValue: String;
begin
  result := DataTable.Fields[idx_DatosBancariosDC].AsString;
end;

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

function TDatosBancariosDataTableRules.GetDCIsNull: boolean;
begin
  result := DataTable.Fields[idx_DatosBancariosDC].IsNull;
end;

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

function TDatosBancariosDataTableRules.GetCUENTAValue: String;
begin
  result := DataTable.Fields[idx_DatosBancariosCUENTA].AsString;
end;

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

function TDatosBancariosDataTableRules.GetCUENTAIsNull: boolean;
begin
  result := DataTable.Fields[idx_DatosBancariosCUENTA].IsNull;
end;

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

function TDatosBancariosDataTableRules.GetFECHA_ALTAValue: DateTime;
begin
  result := DataTable.Fields[idx_DatosBancariosFECHA_ALTA].AsDateTime;
end;

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

function TDatosBancariosDataTableRules.GetFECHA_ALTAIsNull: boolean;
begin
  result := DataTable.Fields[idx_DatosBancariosFECHA_ALTA].IsNull;
end;

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

function TDatosBancariosDataTableRules.GetFECHA_MODIFICACIONValue: DateTime;
begin
  result := DataTable.Fields[idx_DatosBancariosFECHA_MODIFICACION].AsDateTime;
end;

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

function TDatosBancariosDataTableRules.GetFECHA_MODIFICACIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_DatosBancariosFECHA_MODIFICACION].IsNull;
end;

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


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

destructor TContactosDireccionesDataTableRules.Destroy;
begin
  inherited;
end;

function TContactosDireccionesDataTableRules.GetID_CONTACTOValue: Integer;
begin
  result := DataTable.Fields[idx_ContactosDireccionesID_CONTACTO].AsInteger;
end;

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

function TContactosDireccionesDataTableRules.GetID_CONTACTOIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContactosDireccionesID_CONTACTO].IsNull;
end;

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

function TContactosDireccionesDataTableRules.GetID_DIRECCIONValue: Integer;
begin
  result := DataTable.Fields[idx_ContactosDireccionesID_DIRECCION].AsInteger;
end;

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

function TContactosDireccionesDataTableRules.GetID_DIRECCIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContactosDireccionesID_DIRECCION].IsNull;
end;

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

function TContactosDireccionesDataTableRules.GetNOMBREValue: String;
begin
  result := DataTable.Fields[idx_ContactosDireccionesNOMBRE].AsString;
end;

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

function TContactosDireccionesDataTableRules.GetNOMBREIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContactosDireccionesNOMBRE].IsNull;
end;

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

function TContactosDireccionesDataTableRules.GetNIF_CIFValue: String;
begin
  result := DataTable.Fields[idx_ContactosDireccionesNIF_CIF].AsString;
end;

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

function TContactosDireccionesDataTableRules.GetNIF_CIFIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContactosDireccionesNIF_CIF].IsNull;
end;

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

function TContactosDireccionesDataTableRules.GetCALLEValue: String;
begin
  result := DataTable.Fields[idx_ContactosDireccionesCALLE].AsString;
end;

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

function TContactosDireccionesDataTableRules.GetCALLEIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContactosDireccionesCALLE].IsNull;
end;

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

function TContactosDireccionesDataTableRules.GetPOBLACIONValue: String;
begin
  result := DataTable.Fields[idx_ContactosDireccionesPOBLACION].AsString;
end;

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

function TContactosDireccionesDataTableRules.GetPOBLACIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContactosDireccionesPOBLACION].IsNull;
end;

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

function TContactosDireccionesDataTableRules.GetPROVINCIAValue: String;
begin
  result := DataTable.Fields[idx_ContactosDireccionesPROVINCIA].AsString;
end;

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

function TContactosDireccionesDataTableRules.GetPROVINCIAIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContactosDireccionesPROVINCIA].IsNull;
end;

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

function TContactosDireccionesDataTableRules.GetCODIGO_POSTALValue: String;
begin
  result := DataTable.Fields[idx_ContactosDireccionesCODIGO_POSTAL].AsString;
end;

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

function TContactosDireccionesDataTableRules.GetCODIGO_POSTALIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContactosDireccionesCODIGO_POSTAL].IsNull;
end;

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

function TContactosDireccionesDataTableRules.GetTELEFONOValue: String;
begin
  result := DataTable.Fields[idx_ContactosDireccionesTELEFONO].AsString;
end;

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

function TContactosDireccionesDataTableRules.GetTELEFONOIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContactosDireccionesTELEFONO].IsNull;
end;

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

function TContactosDireccionesDataTableRules.GetMOVILValue: String;
begin
  result := DataTable.Fields[idx_ContactosDireccionesMOVIL].AsString;
end;

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

function TContactosDireccionesDataTableRules.GetMOVILIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContactosDireccionesMOVIL].IsNull;
end;

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

function TContactosDireccionesDataTableRules.GetFAXValue: String;
begin
  result := DataTable.Fields[idx_ContactosDireccionesFAX].AsString;
end;

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

function TContactosDireccionesDataTableRules.GetFAXIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContactosDireccionesFAX].IsNull;
end;

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

function TContactosDireccionesDataTableRules.GetEMAILValue: String;
begin
  result := DataTable.Fields[idx_ContactosDireccionesEMAIL].AsString;
end;

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

function TContactosDireccionesDataTableRules.GetEMAILIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContactosDireccionesEMAIL].IsNull;
end;

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

function TContactosDireccionesDataTableRules.GetPERSONA_CONTACTOValue: String;
begin
  result := DataTable.Fields[idx_ContactosDireccionesPERSONA_CONTACTO].AsString;
end;

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

function TContactosDireccionesDataTableRules.GetPERSONA_CONTACTOIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContactosDireccionesPERSONA_CONTACTO].IsNull;
end;

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


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

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

destructor TClientesDataTableRules.Destroy;
begin
  inherited;
end;

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

function TClientesDataTableRules.GetIDValue: Integer;
begin
  result := DataTable.Fields[idx_ClientesID].AsInteger;
end;

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

function TClientesDataTableRules.GetIDIsNull: boolean;
begin
  result := DataTable.Fields[idx_ClientesID].IsNull;
end;

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

function TClientesDataTableRules.GetID_CATEGORIAValue: Integer;
begin
  result := DataTable.Fields[idx_ClientesID_CATEGORIA].AsInteger;
end;

procedure TClientesDataTableRules.SetID_CATEGORIAValue(const aValue: Integer);
begin
  DataTable.Fields[idx_ClientesID_CATEGORIA].AsInteger := aValue;
end;

function TClientesDataTableRules.GetID_CATEGORIAIsNull: boolean;
begin
  result := DataTable.Fields[idx_ClientesID_CATEGORIA].IsNull;
end;

procedure TClientesDataTableRules.SetID_CATEGORIAIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ClientesID_CATEGORIA].AsVariant := Null;
end;

function TClientesDataTableRules.GetNIF_CIFValue: String;
begin
  result := DataTable.Fields[idx_ClientesNIF_CIF].AsString;
end;

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

function TClientesDataTableRules.GetNIF_CIFIsNull: boolean;
begin
  result := DataTable.Fields[idx_ClientesNIF_CIF].IsNull;
end;

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

function TClientesDataTableRules.GetNOMBREValue: String;
begin
  result := DataTable.Fields[idx_ClientesNOMBRE].AsString;
end;

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

function TClientesDataTableRules.GetNOMBREIsNull: boolean;
begin
  result := DataTable.Fields[idx_ClientesNOMBRE].IsNull;
end;

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

function TClientesDataTableRules.GetPERSONA_CONTACTOValue: String;
begin
  result := DataTable.Fields[idx_ClientesPERSONA_CONTACTO].AsString;
end;

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

function TClientesDataTableRules.GetPERSONA_CONTACTOIsNull: boolean;
begin
  result := DataTable.Fields[idx_ClientesPERSONA_CONTACTO].IsNull;
end;

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

function TClientesDataTableRules.GetCALLEValue: String;
begin
  result := DataTable.Fields[idx_ClientesCALLE].AsString;
end;

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

function TClientesDataTableRules.GetCALLEIsNull: boolean;
begin
  result := DataTable.Fields[idx_ClientesCALLE].IsNull;
end;

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

function TClientesDataTableRules.GetPOBLACIONValue: String;
begin
  result := DataTable.Fields[idx_ClientesPOBLACION].AsString;
end;

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

function TClientesDataTableRules.GetPOBLACIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_ClientesPOBLACION].IsNull;
end;

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

function TClientesDataTableRules.GetPROVINCIAValue: String;
begin
  result := DataTable.Fields[idx_ClientesPROVINCIA].AsString;
end;

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

function TClientesDataTableRules.GetPROVINCIAIsNull: boolean;
begin
  result := DataTable.Fields[idx_ClientesPROVINCIA].IsNull;
end;

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

function TClientesDataTableRules.GetCODIGO_POSTALValue: String;
begin
  result := DataTable.Fields[idx_ClientesCODIGO_POSTAL].AsString;
end;

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

function TClientesDataTableRules.GetCODIGO_POSTALIsNull: boolean;
begin
  result := DataTable.Fields[idx_ClientesCODIGO_POSTAL].IsNull;
end;

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

function TClientesDataTableRules.GetTELEFONO_1Value: String;
begin
  result := DataTable.Fields[idx_ClientesTELEFONO_1].AsString;
end;

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

function TClientesDataTableRules.GetTELEFONO_1IsNull: boolean;
begin
  result := DataTable.Fields[idx_ClientesTELEFONO_1].IsNull;
end;

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

function TClientesDataTableRules.GetTELEFONO_2Value: String;
begin
  result := DataTable.Fields[idx_ClientesTELEFONO_2].AsString;
end;

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

function TClientesDataTableRules.GetTELEFONO_2IsNull: boolean;
begin
  result := DataTable.Fields[idx_ClientesTELEFONO_2].IsNull;
end;

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

function TClientesDataTableRules.GetMOVIL_1Value: String;
begin
  result := DataTable.Fields[idx_ClientesMOVIL_1].AsString;
end;

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

function TClientesDataTableRules.GetMOVIL_1IsNull: boolean;
begin
  result := DataTable.Fields[idx_ClientesMOVIL_1].IsNull;
end;

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

function TClientesDataTableRules.GetMOVIL_2Value: String;
begin
  result := DataTable.Fields[idx_ClientesMOVIL_2].AsString;
end;

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

function TClientesDataTableRules.GetMOVIL_2IsNull: boolean;
begin
  result := DataTable.Fields[idx_ClientesMOVIL_2].IsNull;
end;

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

function TClientesDataTableRules.GetFAXValue: String;
begin
  result := DataTable.Fields[idx_ClientesFAX].AsString;
end;

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

function TClientesDataTableRules.GetFAXIsNull: boolean;
begin
  result := DataTable.Fields[idx_ClientesFAX].IsNull;
end;

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

function TClientesDataTableRules.GetEMAIL_1Value: String;
begin
  result := DataTable.Fields[idx_ClientesEMAIL_1].AsString;
end;

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

function TClientesDataTableRules.GetEMAIL_1IsNull: boolean;
begin
  result := DataTable.Fields[idx_ClientesEMAIL_1].IsNull;
end;

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

function TClientesDataTableRules.GetEMAIL_2Value: String;
begin
  result := DataTable.Fields[idx_ClientesEMAIL_2].AsString;
end;

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

function TClientesDataTableRules.GetEMAIL_2IsNull: boolean;
begin
  result := DataTable.Fields[idx_ClientesEMAIL_2].IsNull;
end;

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

function TClientesDataTableRules.GetPAGINA_WEBValue: String;
begin
  result := DataTable.Fields[idx_ClientesPAGINA_WEB].AsString;
end;

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

function TClientesDataTableRules.GetPAGINA_WEBIsNull: boolean;
begin
  result := DataTable.Fields[idx_ClientesPAGINA_WEB].IsNull;
end;

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

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

function TClientesDataTableRules.GetNOTASIsNull: boolean;
begin
  result := DataTable.Fields[idx_ClientesNOTAS].IsNull;
end;

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

function TClientesDataTableRules.GetFECHA_ALTAValue: DateTime;
begin
  result := DataTable.Fields[idx_ClientesFECHA_ALTA].AsDateTime;
end;

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

function TClientesDataTableRules.GetFECHA_ALTAIsNull: boolean;
begin
  result := DataTable.Fields[idx_ClientesFECHA_ALTA].IsNull;
end;

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

function TClientesDataTableRules.GetFECHA_MODIFICACIONValue: DateTime;
begin
  result := DataTable.Fields[idx_ClientesFECHA_MODIFICACION].AsDateTime;
end;

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

function TClientesDataTableRules.GetFECHA_MODIFICACIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_ClientesFECHA_MODIFICACION].IsNull;
end;

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

function TClientesDataTableRules.GetUSUARIOValue: String;
begin
  result := DataTable.Fields[idx_ClientesUSUARIO].AsString;
end;

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

function TClientesDataTableRules.GetUSUARIOIsNull: boolean;
begin
  result := DataTable.Fields[idx_ClientesUSUARIO].IsNull;
end;

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

function TClientesDataTableRules.GetID_EMPRESAValue: Integer;
begin
  result := DataTable.Fields[idx_ClientesID_EMPRESA].AsInteger;
end;

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

function TClientesDataTableRules.GetID_EMPRESAIsNull: boolean;
begin
  result := DataTable.Fields[idx_ClientesID_EMPRESA].IsNull;
end;

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

function TClientesDataTableRules.GetREFERENCIAValue: String;
begin
  result := DataTable.Fields[idx_ClientesREFERENCIA].AsString;
end;

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

function TClientesDataTableRules.GetREFERENCIAIsNull: boolean;
begin
  result := DataTable.Fields[idx_ClientesREFERENCIA].IsNull;
end;

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

function TClientesDataTableRules.GetID_TIENDAValue: Integer;
begin
  result := DataTable.Fields[idx_ClientesID_TIENDA].AsInteger;
end;

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

function TClientesDataTableRules.GetID_TIENDAIsNull: boolean;
begin
  result := DataTable.Fields[idx_ClientesID_TIENDA].IsNull;
end;

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

function TClientesDataTableRules.GetTIENDAValue: String;
begin
  result := DataTable.Fields[idx_ClientesTIENDA].AsString;
end;

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

function TClientesDataTableRules.GetTIENDAIsNull: boolean;
begin
  result := DataTable.Fields[idx_ClientesTIENDA].IsNull;
end;

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

function TClientesDataTableRules.GetGRUPO_CLIENTEValue: String;
begin
  result := DataTable.Fields[idx_ClientesGRUPO_CLIENTE].AsString;
end;

procedure TClientesDataTableRules.SetGRUPO_CLIENTEValue(const aValue: String);
begin
  DataTable.Fields[idx_ClientesGRUPO_CLIENTE].AsString := aValue;
end;

function TClientesDataTableRules.GetGRUPO_CLIENTEIsNull: boolean;
begin
  result := DataTable.Fields[idx_ClientesGRUPO_CLIENTE].IsNull;
end;

procedure TClientesDataTableRules.SetGRUPO_CLIENTEIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ClientesGRUPO_CLIENTE].AsVariant := Null;
end;

function TClientesDataTableRules.GetNOMBRE_COMERCIALValue: String;
begin
  result := DataTable.Fields[idx_ClientesNOMBRE_COMERCIAL].AsString;
end;

procedure TClientesDataTableRules.SetNOMBRE_COMERCIALValue(const aValue: String);
begin
  DataTable.Fields[idx_ClientesNOMBRE_COMERCIAL].AsString := aValue;
end;

function TClientesDataTableRules.GetNOMBRE_COMERCIALIsNull: boolean;
begin
  result := DataTable.Fields[idx_ClientesNOMBRE_COMERCIAL].IsNull;
end;

procedure TClientesDataTableRules.SetNOMBRE_COMERCIALIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ClientesNOMBRE_COMERCIAL].AsVariant := Null;
end;

function TClientesDataTableRules.GetBLOQUEADOValue: SmallInt;
begin
  result := DataTable.Fields[idx_ClientesBLOQUEADO].AsSmallInt;
end;

procedure TClientesDataTableRules.SetBLOQUEADOValue(const aValue: SmallInt);
begin
  DataTable.Fields[idx_ClientesBLOQUEADO].AsSmallInt := aValue;
end;

function TClientesDataTableRules.GetBLOQUEADOIsNull: boolean;
begin
  result := DataTable.Fields[idx_ClientesBLOQUEADO].IsNull;
end;

procedure TClientesDataTableRules.SetBLOQUEADOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ClientesBLOQUEADO].AsVariant := Null;
end;

function TClientesDataTableRules.GetREGIMEN_IVAValue: String;
begin
  result := DataTable.Fields[idx_ClientesREGIMEN_IVA].AsString;
end;

procedure TClientesDataTableRules.SetREGIMEN_IVAValue(const aValue: String);
begin
  DataTable.Fields[idx_ClientesREGIMEN_IVA].AsString := aValue;
end;

function TClientesDataTableRules.GetREGIMEN_IVAIsNull: boolean;
begin
  result := DataTable.Fields[idx_ClientesREGIMEN_IVA].IsNull;
end;

procedure TClientesDataTableRules.SetREGIMEN_IVAIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ClientesREGIMEN_IVA].AsVariant := Null;
end;

function TClientesDataTableRules.GetMOTIVO_BLOQUEOValue: String;
begin
  result := DataTable.Fields[idx_ClientesMOTIVO_BLOQUEO].AsString;
end;

procedure TClientesDataTableRules.SetMOTIVO_BLOQUEOValue(const aValue: String);
begin
  DataTable.Fields[idx_ClientesMOTIVO_BLOQUEO].AsString := aValue;
end;

function TClientesDataTableRules.GetMOTIVO_BLOQUEOIsNull: boolean;
begin
  result := DataTable.Fields[idx_ClientesMOTIVO_BLOQUEO].IsNull;
end;

procedure TClientesDataTableRules.SetMOTIVO_BLOQUEOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ClientesMOTIVO_BLOQUEO].AsVariant := Null;
end;

function TClientesDataTableRules.GetRECARGO_EQUIVALENCIAValue: SmallInt;
begin
  result := DataTable.Fields[idx_ClientesRECARGO_EQUIVALENCIA].AsSmallInt;
end;

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

function TClientesDataTableRules.GetRECARGO_EQUIVALENCIAIsNull: boolean;
begin
  result := DataTable.Fields[idx_ClientesRECARGO_EQUIVALENCIA].IsNull;
end;

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

function TClientesDataTableRules.GetID_TIPO_IVAValue: Integer;
begin
  result := DataTable.Fields[idx_ClientesID_TIPO_IVA].AsInteger;
end;

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

function TClientesDataTableRules.GetID_TIPO_IVAIsNull: boolean;
begin
  result := DataTable.Fields[idx_ClientesID_TIPO_IVA].IsNull;
end;

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

function TClientesDataTableRules.GetID_FORMA_PAGOValue: Integer;
begin
  result := DataTable.Fields[idx_ClientesID_FORMA_PAGO].AsInteger;
end;

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

function TClientesDataTableRules.GetID_FORMA_PAGOIsNull: boolean;
begin
  result := DataTable.Fields[idx_ClientesID_FORMA_PAGO].IsNull;
end;

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

function TClientesDataTableRules.GetTIENDA_WEBValue: SmallInt;
begin
  result := DataTable.Fields[idx_ClientesTIENDA_WEB].AsSmallInt;
end;

procedure TClientesDataTableRules.SetTIENDA_WEBValue(const aValue: SmallInt);
begin
  DataTable.Fields[idx_ClientesTIENDA_WEB].AsSmallInt := aValue;
end;

function TClientesDataTableRules.GetTIENDA_WEBIsNull: boolean;
begin
  result := DataTable.Fields[idx_ClientesTIENDA_WEB].IsNull;
end;

procedure TClientesDataTableRules.SetTIENDA_WEBIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ClientesTIENDA_WEB].AsVariant := Null;
end;

function TClientesDataTableRules.GetCODIGO_ASIGNADOValue: String;
begin
  result := DataTable.Fields[idx_ClientesCODIGO_ASIGNADO].AsString;
end;

procedure TClientesDataTableRules.SetCODIGO_ASIGNADOValue(const aValue: String);
begin
  DataTable.Fields[idx_ClientesCODIGO_ASIGNADO].AsString := aValue;
end;

function TClientesDataTableRules.GetCODIGO_ASIGNADOIsNull: boolean;
begin
  result := DataTable.Fields[idx_ClientesCODIGO_ASIGNADO].IsNull;
end;

procedure TClientesDataTableRules.SetCODIGO_ASIGNADOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ClientesCODIGO_ASIGNADO].AsVariant := Null;
end;

function TClientesDataTableRules.GetIGNORAR_CONTABILIDADValue: Integer;
begin
  result := DataTable.Fields[idx_ClientesIGNORAR_CONTABILIDAD].AsInteger;
end;

procedure TClientesDataTableRules.SetIGNORAR_CONTABILIDADValue(const aValue: Integer);
begin
  DataTable.Fields[idx_ClientesIGNORAR_CONTABILIDAD].AsInteger := aValue;
end;

function TClientesDataTableRules.GetIGNORAR_CONTABILIDADIsNull: boolean;
begin
  result := DataTable.Fields[idx_ClientesIGNORAR_CONTABILIDAD].IsNull;
end;

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

function TClientesDataTableRules.GetTIENE_SUBCUENTAValue: Integer;
begin
  result := DataTable.Fields[idx_ClientesTIENE_SUBCUENTA].AsInteger;
end;

procedure TClientesDataTableRules.SetTIENE_SUBCUENTAValue(const aValue: Integer);
begin
  DataTable.Fields[idx_ClientesTIENE_SUBCUENTA].AsInteger := aValue;
end;

function TClientesDataTableRules.GetTIENE_SUBCUENTAIsNull: boolean;
begin
  result := DataTable.Fields[idx_ClientesTIENE_SUBCUENTA].IsNull;
end;

procedure TClientesDataTableRules.SetTIENE_SUBCUENTAIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ClientesTIENE_SUBCUENTA].AsVariant := Null;
end;

function TClientesDataTableRules.GetPROCEDENCIA_CLIENTEValue: String;
begin
  result := DataTable.Fields[idx_ClientesPROCEDENCIA_CLIENTE].AsString;
end;

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

function TClientesDataTableRules.GetPROCEDENCIA_CLIENTEIsNull: boolean;
begin
  result := DataTable.Fields[idx_ClientesPROCEDENCIA_CLIENTE].IsNull;
end;

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

function TClientesDataTableRules.GetVENCIMIENTO_FACTURAS_1Value: Integer;
begin
  result := DataTable.Fields[idx_ClientesVENCIMIENTO_FACTURAS_1].AsInteger;
end;

procedure TClientesDataTableRules.SetVENCIMIENTO_FACTURAS_1Value(const aValue: Integer);
begin
  DataTable.Fields[idx_ClientesVENCIMIENTO_FACTURAS_1].AsInteger := aValue;
end;

function TClientesDataTableRules.GetVENCIMIENTO_FACTURAS_1IsNull: boolean;
begin
  result := DataTable.Fields[idx_ClientesVENCIMIENTO_FACTURAS_1].IsNull;
end;

procedure TClientesDataTableRules.SetVENCIMIENTO_FACTURAS_1IsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ClientesVENCIMIENTO_FACTURAS_1].AsVariant := Null;
end;

function TClientesDataTableRules.GetVENCIMIENTO_FACTURAS_2Value: Integer;
begin
  result := DataTable.Fields[idx_ClientesVENCIMIENTO_FACTURAS_2].AsInteger;
end;

procedure TClientesDataTableRules.SetVENCIMIENTO_FACTURAS_2Value(const aValue: Integer);
begin
  DataTable.Fields[idx_ClientesVENCIMIENTO_FACTURAS_2].AsInteger := aValue;
end;

function TClientesDataTableRules.GetVENCIMIENTO_FACTURAS_2IsNull: boolean;
begin
  result := DataTable.Fields[idx_ClientesVENCIMIENTO_FACTURAS_2].IsNull;
end;

procedure TClientesDataTableRules.SetVENCIMIENTO_FACTURAS_2IsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ClientesVENCIMIENTO_FACTURAS_2].AsVariant := Null;
end;

function TClientesDataTableRules.GetVENCIMIENTO_FACTURAS_3Value: Integer;
begin
  result := DataTable.Fields[idx_ClientesVENCIMIENTO_FACTURAS_3].AsInteger;
end;

procedure TClientesDataTableRules.SetVENCIMIENTO_FACTURAS_3Value(const aValue: Integer);
begin
  DataTable.Fields[idx_ClientesVENCIMIENTO_FACTURAS_3].AsInteger := aValue;
end;

function TClientesDataTableRules.GetVENCIMIENTO_FACTURAS_3IsNull: boolean;
begin
  result := DataTable.Fields[idx_ClientesVENCIMIENTO_FACTURAS_3].IsNull;
end;

procedure TClientesDataTableRules.SetVENCIMIENTO_FACTURAS_3IsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ClientesVENCIMIENTO_FACTURAS_3].AsVariant := Null;
end;

function TClientesDataTableRules.GetLISTA_NOMBRESValue: String;
begin
  result := DataTable.Fields[idx_ClientesLISTA_NOMBRES].AsString;
end;

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

function TClientesDataTableRules.GetLISTA_NOMBRESIsNull: boolean;
begin
  result := DataTable.Fields[idx_ClientesLISTA_NOMBRES].IsNull;
end;

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

function TClientesDataTableRules.GetLOPDValue: SmallInt;
begin
  result := DataTable.Fields[idx_ClientesLOPD].AsSmallInt;
end;

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

function TClientesDataTableRules.GetLOPDIsNull: boolean;
begin
  result := DataTable.Fields[idx_ClientesLOPD].IsNull;
end;

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


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

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

destructor TProveedoresDataTableRules.Destroy;
begin
  inherited;
end;

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

function TProveedoresDataTableRules.GetIDValue: Integer;
begin
  result := DataTable.Fields[idx_ProveedoresID].AsInteger;
end;

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

function TProveedoresDataTableRules.GetIDIsNull: boolean;
begin
  result := DataTable.Fields[idx_ProveedoresID].IsNull;
end;

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

function TProveedoresDataTableRules.GetID_CATEGORIAValue: Integer;
begin
  result := DataTable.Fields[idx_ProveedoresID_CATEGORIA].AsInteger;
end;

procedure TProveedoresDataTableRules.SetID_CATEGORIAValue(const aValue: Integer);
begin
  DataTable.Fields[idx_ProveedoresID_CATEGORIA].AsInteger := aValue;
end;

function TProveedoresDataTableRules.GetID_CATEGORIAIsNull: boolean;
begin
  result := DataTable.Fields[idx_ProveedoresID_CATEGORIA].IsNull;
end;

procedure TProveedoresDataTableRules.SetID_CATEGORIAIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ProveedoresID_CATEGORIA].AsVariant := Null;
end;

function TProveedoresDataTableRules.GetNIF_CIFValue: String;
begin
  result := DataTable.Fields[idx_ProveedoresNIF_CIF].AsString;
end;

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

function TProveedoresDataTableRules.GetNIF_CIFIsNull: boolean;
begin
  result := DataTable.Fields[idx_ProveedoresNIF_CIF].IsNull;
end;

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

function TProveedoresDataTableRules.GetNOMBREValue: String;
begin
  result := DataTable.Fields[idx_ProveedoresNOMBRE].AsString;
end;

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

function TProveedoresDataTableRules.GetNOMBREIsNull: boolean;
begin
  result := DataTable.Fields[idx_ProveedoresNOMBRE].IsNull;
end;

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

function TProveedoresDataTableRules.GetPERSONA_CONTACTOValue: String;
begin
  result := DataTable.Fields[idx_ProveedoresPERSONA_CONTACTO].AsString;
end;

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

function TProveedoresDataTableRules.GetPERSONA_CONTACTOIsNull: boolean;
begin
  result := DataTable.Fields[idx_ProveedoresPERSONA_CONTACTO].IsNull;
end;

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

function TProveedoresDataTableRules.GetCALLEValue: String;
begin
  result := DataTable.Fields[idx_ProveedoresCALLE].AsString;
end;

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

function TProveedoresDataTableRules.GetCALLEIsNull: boolean;
begin
  result := DataTable.Fields[idx_ProveedoresCALLE].IsNull;
end;

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

function TProveedoresDataTableRules.GetPOBLACIONValue: String;
begin
  result := DataTable.Fields[idx_ProveedoresPOBLACION].AsString;
end;

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

function TProveedoresDataTableRules.GetPOBLACIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_ProveedoresPOBLACION].IsNull;
end;

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

function TProveedoresDataTableRules.GetPROVINCIAValue: String;
begin
  result := DataTable.Fields[idx_ProveedoresPROVINCIA].AsString;
end;

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

function TProveedoresDataTableRules.GetPROVINCIAIsNull: boolean;
begin
  result := DataTable.Fields[idx_ProveedoresPROVINCIA].IsNull;
end;

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

function TProveedoresDataTableRules.GetCODIGO_POSTALValue: String;
begin
  result := DataTable.Fields[idx_ProveedoresCODIGO_POSTAL].AsString;
end;

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

function TProveedoresDataTableRules.GetCODIGO_POSTALIsNull: boolean;
begin
  result := DataTable.Fields[idx_ProveedoresCODIGO_POSTAL].IsNull;
end;

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

function TProveedoresDataTableRules.GetTELEFONO_1Value: String;
begin
  result := DataTable.Fields[idx_ProveedoresTELEFONO_1].AsString;
end;

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

function TProveedoresDataTableRules.GetTELEFONO_1IsNull: boolean;
begin
  result := DataTable.Fields[idx_ProveedoresTELEFONO_1].IsNull;
end;

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

function TProveedoresDataTableRules.GetTELEFONO_2Value: String;
begin
  result := DataTable.Fields[idx_ProveedoresTELEFONO_2].AsString;
end;

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

function TProveedoresDataTableRules.GetTELEFONO_2IsNull: boolean;
begin
  result := DataTable.Fields[idx_ProveedoresTELEFONO_2].IsNull;
end;

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

function TProveedoresDataTableRules.GetMOVIL_1Value: String;
begin
  result := DataTable.Fields[idx_ProveedoresMOVIL_1].AsString;
end;

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

function TProveedoresDataTableRules.GetMOVIL_1IsNull: boolean;
begin
  result := DataTable.Fields[idx_ProveedoresMOVIL_1].IsNull;
end;

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

function TProveedoresDataTableRules.GetMOVIL_2Value: String;
begin
  result := DataTable.Fields[idx_ProveedoresMOVIL_2].AsString;
end;

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

function TProveedoresDataTableRules.GetMOVIL_2IsNull: boolean;
begin
  result := DataTable.Fields[idx_ProveedoresMOVIL_2].IsNull;
end;

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

function TProveedoresDataTableRules.GetFAXValue: String;
begin
  result := DataTable.Fields[idx_ProveedoresFAX].AsString;
end;

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

function TProveedoresDataTableRules.GetFAXIsNull: boolean;
begin
  result := DataTable.Fields[idx_ProveedoresFAX].IsNull;
end;

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

function TProveedoresDataTableRules.GetEMAIL_1Value: String;
begin
  result := DataTable.Fields[idx_ProveedoresEMAIL_1].AsString;
end;

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

function TProveedoresDataTableRules.GetEMAIL_1IsNull: boolean;
begin
  result := DataTable.Fields[idx_ProveedoresEMAIL_1].IsNull;
end;

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

function TProveedoresDataTableRules.GetEMAIL_2Value: String;
begin
  result := DataTable.Fields[idx_ProveedoresEMAIL_2].AsString;
end;

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

function TProveedoresDataTableRules.GetEMAIL_2IsNull: boolean;
begin
  result := DataTable.Fields[idx_ProveedoresEMAIL_2].IsNull;
end;

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

function TProveedoresDataTableRules.GetPAGINA_WEBValue: String;
begin
  result := DataTable.Fields[idx_ProveedoresPAGINA_WEB].AsString;
end;

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

function TProveedoresDataTableRules.GetPAGINA_WEBIsNull: boolean;
begin
  result := DataTable.Fields[idx_ProveedoresPAGINA_WEB].IsNull;
end;

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

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

function TProveedoresDataTableRules.GetNOTASIsNull: boolean;
begin
  result := DataTable.Fields[idx_ProveedoresNOTAS].IsNull;
end;

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

function TProveedoresDataTableRules.GetFECHA_ALTAValue: DateTime;
begin
  result := DataTable.Fields[idx_ProveedoresFECHA_ALTA].AsDateTime;
end;

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

function TProveedoresDataTableRules.GetFECHA_ALTAIsNull: boolean;
begin
  result := DataTable.Fields[idx_ProveedoresFECHA_ALTA].IsNull;
end;

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

function TProveedoresDataTableRules.GetFECHA_MODIFICACIONValue: DateTime;
begin
  result := DataTable.Fields[idx_ProveedoresFECHA_MODIFICACION].AsDateTime;
end;

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

function TProveedoresDataTableRules.GetFECHA_MODIFICACIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_ProveedoresFECHA_MODIFICACION].IsNull;
end;

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

function TProveedoresDataTableRules.GetUSUARIOValue: String;
begin
  result := DataTable.Fields[idx_ProveedoresUSUARIO].AsString;
end;

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

function TProveedoresDataTableRules.GetUSUARIOIsNull: boolean;
begin
  result := DataTable.Fields[idx_ProveedoresUSUARIO].IsNull;
end;

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

function TProveedoresDataTableRules.GetID_EMPRESAValue: Integer;
begin
  result := DataTable.Fields[idx_ProveedoresID_EMPRESA].AsInteger;
end;

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

function TProveedoresDataTableRules.GetID_EMPRESAIsNull: boolean;
begin
  result := DataTable.Fields[idx_ProveedoresID_EMPRESA].IsNull;
end;

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

function TProveedoresDataTableRules.GetREFERENCIAValue: String;
begin
  result := DataTable.Fields[idx_ProveedoresREFERENCIA].AsString;
end;

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

function TProveedoresDataTableRules.GetREFERENCIAIsNull: boolean;
begin
  result := DataTable.Fields[idx_ProveedoresREFERENCIA].IsNull;
end;

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

function TProveedoresDataTableRules.GetID_TIENDAValue: Integer;
begin
  result := DataTable.Fields[idx_ProveedoresID_TIENDA].AsInteger;
end;

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

function TProveedoresDataTableRules.GetID_TIENDAIsNull: boolean;
begin
  result := DataTable.Fields[idx_ProveedoresID_TIENDA].IsNull;
end;

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

function TProveedoresDataTableRules.GetTIENDAValue: String;
begin
  result := DataTable.Fields[idx_ProveedoresTIENDA].AsString;
end;

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

function TProveedoresDataTableRules.GetTIENDAIsNull: boolean;
begin
  result := DataTable.Fields[idx_ProveedoresTIENDA].IsNull;
end;

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

function TProveedoresDataTableRules.GetDESCUENTOValue: Float;
begin
  result := DataTable.Fields[idx_ProveedoresDESCUENTO].AsFloat;
end;

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

function TProveedoresDataTableRules.GetDESCUENTOIsNull: boolean;
begin
  result := DataTable.Fields[idx_ProveedoresDESCUENTO].IsNull;
end;

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

function TProveedoresDataTableRules.GetDESCRIPCION_PROVEEDORValue: String;
begin
  result := DataTable.Fields[idx_ProveedoresDESCRIPCION_PROVEEDOR].AsString;
end;

procedure TProveedoresDataTableRules.SetDESCRIPCION_PROVEEDORValue(const aValue: String);
begin
  DataTable.Fields[idx_ProveedoresDESCRIPCION_PROVEEDOR].AsString := aValue;
end;

function TProveedoresDataTableRules.GetDESCRIPCION_PROVEEDORIsNull: boolean;
begin
  result := DataTable.Fields[idx_ProveedoresDESCRIPCION_PROVEEDOR].IsNull;
end;

procedure TProveedoresDataTableRules.SetDESCRIPCION_PROVEEDORIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ProveedoresDESCRIPCION_PROVEEDOR].AsVariant := Null;
end;

function TProveedoresDataTableRules.GetCODIGO_ASIGNADOValue: String;
begin
  result := DataTable.Fields[idx_ProveedoresCODIGO_ASIGNADO].AsString;
end;

procedure TProveedoresDataTableRules.SetCODIGO_ASIGNADOValue(const aValue: String);
begin
  DataTable.Fields[idx_ProveedoresCODIGO_ASIGNADO].AsString := aValue;
end;

function TProveedoresDataTableRules.GetCODIGO_ASIGNADOIsNull: boolean;
begin
  result := DataTable.Fields[idx_ProveedoresCODIGO_ASIGNADO].IsNull;
end;

procedure TProveedoresDataTableRules.SetCODIGO_ASIGNADOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ProveedoresCODIGO_ASIGNADO].AsVariant := Null;
end;

function TProveedoresDataTableRules.GetGRUPO_PROVEEDORValue: String;
begin
  result := DataTable.Fields[idx_ProveedoresGRUPO_PROVEEDOR].AsString;
end;

procedure TProveedoresDataTableRules.SetGRUPO_PROVEEDORValue(const aValue: String);
begin
  DataTable.Fields[idx_ProveedoresGRUPO_PROVEEDOR].AsString := aValue;
end;

function TProveedoresDataTableRules.GetGRUPO_PROVEEDORIsNull: boolean;
begin
  result := DataTable.Fields[idx_ProveedoresGRUPO_PROVEEDOR].IsNull;
end;

procedure TProveedoresDataTableRules.SetGRUPO_PROVEEDORIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ProveedoresGRUPO_PROVEEDOR].AsVariant := Null;
end;

function TProveedoresDataTableRules.GetREGIMEN_IVAValue: String;
begin
  result := DataTable.Fields[idx_ProveedoresREGIMEN_IVA].AsString;
end;

procedure TProveedoresDataTableRules.SetREGIMEN_IVAValue(const aValue: String);
begin
  DataTable.Fields[idx_ProveedoresREGIMEN_IVA].AsString := aValue;
end;

function TProveedoresDataTableRules.GetREGIMEN_IVAIsNull: boolean;
begin
  result := DataTable.Fields[idx_ProveedoresREGIMEN_IVA].IsNull;
end;

procedure TProveedoresDataTableRules.SetREGIMEN_IVAIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ProveedoresREGIMEN_IVA].AsVariant := Null;
end;

function TProveedoresDataTableRules.GetID_TIPO_IVAValue: Integer;
begin
  result := DataTable.Fields[idx_ProveedoresID_TIPO_IVA].AsInteger;
end;

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

function TProveedoresDataTableRules.GetID_TIPO_IVAIsNull: boolean;
begin
  result := DataTable.Fields[idx_ProveedoresID_TIPO_IVA].IsNull;
end;

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

function TProveedoresDataTableRules.GetID_FORMA_PAGOValue: Integer;
begin
  result := DataTable.Fields[idx_ProveedoresID_FORMA_PAGO].AsInteger;
end;

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

function TProveedoresDataTableRules.GetID_FORMA_PAGOIsNull: boolean;
begin
  result := DataTable.Fields[idx_ProveedoresID_FORMA_PAGO].IsNull;
end;

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

function TProveedoresDataTableRules.GetTIENDA_WEBValue: SmallInt;
begin
  result := DataTable.Fields[idx_ProveedoresTIENDA_WEB].AsSmallInt;
end;

procedure TProveedoresDataTableRules.SetTIENDA_WEBValue(const aValue: SmallInt);
begin
  DataTable.Fields[idx_ProveedoresTIENDA_WEB].AsSmallInt := aValue;
end;

function TProveedoresDataTableRules.GetTIENDA_WEBIsNull: boolean;
begin
  result := DataTable.Fields[idx_ProveedoresTIENDA_WEB].IsNull;
end;

procedure TProveedoresDataTableRules.SetTIENDA_WEBIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ProveedoresTIENDA_WEB].AsVariant := Null;
end;

function TProveedoresDataTableRules.GetHOMOLOGADOValue: SmallInt;
begin
  result := DataTable.Fields[idx_ProveedoresHOMOLOGADO].AsSmallInt;
end;

procedure TProveedoresDataTableRules.SetHOMOLOGADOValue(const aValue: SmallInt);
begin
  DataTable.Fields[idx_ProveedoresHOMOLOGADO].AsSmallInt := aValue;
end;

function TProveedoresDataTableRules.GetHOMOLOGADOIsNull: boolean;
begin
  result := DataTable.Fields[idx_ProveedoresHOMOLOGADO].IsNull;
end;

procedure TProveedoresDataTableRules.SetHOMOLOGADOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ProveedoresHOMOLOGADO].AsVariant := Null;
end;

function TProveedoresDataTableRules.GetCERTIFICACIONValue: String;
begin
  result := DataTable.Fields[idx_ProveedoresCERTIFICACION].AsString;
end;

procedure TProveedoresDataTableRules.SetCERTIFICACIONValue(const aValue: String);
begin
  DataTable.Fields[idx_ProveedoresCERTIFICACION].AsString := aValue;
end;

function TProveedoresDataTableRules.GetCERTIFICACIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_ProveedoresCERTIFICACION].IsNull;
end;

procedure TProveedoresDataTableRules.SetCERTIFICACIONIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ProveedoresCERTIFICACION].AsVariant := Null;
end;

function TProveedoresDataTableRules.GetIGNORAR_CONTABILIDADValue: Integer;
begin
  result := DataTable.Fields[idx_ProveedoresIGNORAR_CONTABILIDAD].AsInteger;
end;

procedure TProveedoresDataTableRules.SetIGNORAR_CONTABILIDADValue(const aValue: Integer);
begin
  DataTable.Fields[idx_ProveedoresIGNORAR_CONTABILIDAD].AsInteger := aValue;
end;

function TProveedoresDataTableRules.GetIGNORAR_CONTABILIDADIsNull: boolean;
begin
  result := DataTable.Fields[idx_ProveedoresIGNORAR_CONTABILIDAD].IsNull;
end;

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

function TProveedoresDataTableRules.GetTIENE_SUBCUENTAValue: Integer;
begin
  result := DataTable.Fields[idx_ProveedoresTIENE_SUBCUENTA].AsInteger;
end;

procedure TProveedoresDataTableRules.SetTIENE_SUBCUENTAValue(const aValue: Integer);
begin
  DataTable.Fields[idx_ProveedoresTIENE_SUBCUENTA].AsInteger := aValue;
end;

function TProveedoresDataTableRules.GetTIENE_SUBCUENTAIsNull: boolean;
begin
  result := DataTable.Fields[idx_ProveedoresTIENE_SUBCUENTA].IsNull;
end;

procedure TProveedoresDataTableRules.SetTIENE_SUBCUENTAIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ProveedoresTIENE_SUBCUENTA].AsVariant := Null;
end;

function TProveedoresDataTableRules.GetNOMBRE_COMERCIALValue: String;
begin
  result := DataTable.Fields[idx_ProveedoresNOMBRE_COMERCIAL].AsString;
end;

procedure TProveedoresDataTableRules.SetNOMBRE_COMERCIALValue(const aValue: String);
begin
  DataTable.Fields[idx_ProveedoresNOMBRE_COMERCIAL].AsString := aValue;
end;

function TProveedoresDataTableRules.GetNOMBRE_COMERCIALIsNull: boolean;
begin
  result := DataTable.Fields[idx_ProveedoresNOMBRE_COMERCIAL].IsNull;
end;

procedure TProveedoresDataTableRules.SetNOMBRE_COMERCIALIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ProveedoresNOMBRE_COMERCIAL].AsVariant := Null;
end;

function TProveedoresDataTableRules.GetES_ACREEDORValue: SmallInt;
begin
  result := DataTable.Fields[idx_ProveedoresES_ACREEDOR].AsSmallInt;
end;

procedure TProveedoresDataTableRules.SetES_ACREEDORValue(const aValue: SmallInt);
begin
  DataTable.Fields[idx_ProveedoresES_ACREEDOR].AsSmallInt := aValue;
end;

function TProveedoresDataTableRules.GetES_ACREEDORIsNull: boolean;
begin
  result := DataTable.Fields[idx_ProveedoresES_ACREEDOR].IsNull;
end;

procedure TProveedoresDataTableRules.SetES_ACREEDORIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ProveedoresES_ACREEDOR].AsVariant := Null;
end;

function TProveedoresDataTableRules.GetVENCIMIENTO_FACTURAS_1Value: Integer;
begin
  result := DataTable.Fields[idx_ProveedoresVENCIMIENTO_FACTURAS_1].AsInteger;
end;

procedure TProveedoresDataTableRules.SetVENCIMIENTO_FACTURAS_1Value(const aValue: Integer);
begin
  DataTable.Fields[idx_ProveedoresVENCIMIENTO_FACTURAS_1].AsInteger := aValue;
end;

function TProveedoresDataTableRules.GetVENCIMIENTO_FACTURAS_1IsNull: boolean;
begin
  result := DataTable.Fields[idx_ProveedoresVENCIMIENTO_FACTURAS_1].IsNull;
end;

procedure TProveedoresDataTableRules.SetVENCIMIENTO_FACTURAS_1IsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ProveedoresVENCIMIENTO_FACTURAS_1].AsVariant := Null;
end;

function TProveedoresDataTableRules.GetVENCIMIENTO_FACTURAS_2Value: Integer;
begin
  result := DataTable.Fields[idx_ProveedoresVENCIMIENTO_FACTURAS_2].AsInteger;
end;

procedure TProveedoresDataTableRules.SetVENCIMIENTO_FACTURAS_2Value(const aValue: Integer);
begin
  DataTable.Fields[idx_ProveedoresVENCIMIENTO_FACTURAS_2].AsInteger := aValue;
end;

function TProveedoresDataTableRules.GetVENCIMIENTO_FACTURAS_2IsNull: boolean;
begin
  result := DataTable.Fields[idx_ProveedoresVENCIMIENTO_FACTURAS_2].IsNull;
end;

procedure TProveedoresDataTableRules.SetVENCIMIENTO_FACTURAS_2IsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ProveedoresVENCIMIENTO_FACTURAS_2].AsVariant := Null;
end;

function TProveedoresDataTableRules.GetVENCIMIENTO_FACTURAS_3Value: Integer;
begin
  result := DataTable.Fields[idx_ProveedoresVENCIMIENTO_FACTURAS_3].AsInteger;
end;

procedure TProveedoresDataTableRules.SetVENCIMIENTO_FACTURAS_3Value(const aValue: Integer);
begin
  DataTable.Fields[idx_ProveedoresVENCIMIENTO_FACTURAS_3].AsInteger := aValue;
end;

function TProveedoresDataTableRules.GetVENCIMIENTO_FACTURAS_3IsNull: boolean;
begin
  result := DataTable.Fields[idx_ProveedoresVENCIMIENTO_FACTURAS_3].IsNull;
end;

procedure TProveedoresDataTableRules.SetVENCIMIENTO_FACTURAS_3IsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ProveedoresVENCIMIENTO_FACTURAS_3].AsVariant := Null;
end;


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

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

destructor TVendedoresDataTableRules.Destroy;
begin
  inherited;
end;

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

function TVendedoresDataTableRules.GetIDValue: Integer;
begin
  result := DataTable.Fields[idx_VendedoresID].AsInteger;
end;

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

function TVendedoresDataTableRules.GetIDIsNull: boolean;
begin
  result := DataTable.Fields[idx_VendedoresID].IsNull;
end;

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

function TVendedoresDataTableRules.GetID_CATEGORIAValue: Integer;
begin
  result := DataTable.Fields[idx_VendedoresID_CATEGORIA].AsInteger;
end;

procedure TVendedoresDataTableRules.SetID_CATEGORIAValue(const aValue: Integer);
begin
  DataTable.Fields[idx_VendedoresID_CATEGORIA].AsInteger := aValue;
end;

function TVendedoresDataTableRules.GetID_CATEGORIAIsNull: boolean;
begin
  result := DataTable.Fields[idx_VendedoresID_CATEGORIA].IsNull;
end;

procedure TVendedoresDataTableRules.SetID_CATEGORIAIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_VendedoresID_CATEGORIA].AsVariant := Null;
end;

function TVendedoresDataTableRules.GetNIF_CIFValue: String;
begin
  result := DataTable.Fields[idx_VendedoresNIF_CIF].AsString;
end;

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

function TVendedoresDataTableRules.GetNIF_CIFIsNull: boolean;
begin
  result := DataTable.Fields[idx_VendedoresNIF_CIF].IsNull;
end;

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

function TVendedoresDataTableRules.GetNOMBREValue: String;
begin
  result := DataTable.Fields[idx_VendedoresNOMBRE].AsString;
end;

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

function TVendedoresDataTableRules.GetNOMBREIsNull: boolean;
begin
  result := DataTable.Fields[idx_VendedoresNOMBRE].IsNull;
end;

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

function TVendedoresDataTableRules.GetPERSONA_CONTACTOValue: String;
begin
  result := DataTable.Fields[idx_VendedoresPERSONA_CONTACTO].AsString;
end;

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

function TVendedoresDataTableRules.GetPERSONA_CONTACTOIsNull: boolean;
begin
  result := DataTable.Fields[idx_VendedoresPERSONA_CONTACTO].IsNull;
end;

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

function TVendedoresDataTableRules.GetCALLEValue: String;
begin
  result := DataTable.Fields[idx_VendedoresCALLE].AsString;
end;

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

function TVendedoresDataTableRules.GetCALLEIsNull: boolean;
begin
  result := DataTable.Fields[idx_VendedoresCALLE].IsNull;
end;

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

function TVendedoresDataTableRules.GetPOBLACIONValue: String;
begin
  result := DataTable.Fields[idx_VendedoresPOBLACION].AsString;
end;

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

function TVendedoresDataTableRules.GetPOBLACIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_VendedoresPOBLACION].IsNull;
end;

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

function TVendedoresDataTableRules.GetPROVINCIAValue: String;
begin
  result := DataTable.Fields[idx_VendedoresPROVINCIA].AsString;
end;

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

function TVendedoresDataTableRules.GetPROVINCIAIsNull: boolean;
begin
  result := DataTable.Fields[idx_VendedoresPROVINCIA].IsNull;
end;

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

function TVendedoresDataTableRules.GetCODIGO_POSTALValue: String;
begin
  result := DataTable.Fields[idx_VendedoresCODIGO_POSTAL].AsString;
end;

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

function TVendedoresDataTableRules.GetCODIGO_POSTALIsNull: boolean;
begin
  result := DataTable.Fields[idx_VendedoresCODIGO_POSTAL].IsNull;
end;

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

function TVendedoresDataTableRules.GetTELEFONO_1Value: String;
begin
  result := DataTable.Fields[idx_VendedoresTELEFONO_1].AsString;
end;

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

function TVendedoresDataTableRules.GetTELEFONO_1IsNull: boolean;
begin
  result := DataTable.Fields[idx_VendedoresTELEFONO_1].IsNull;
end;

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

function TVendedoresDataTableRules.GetTELEFONO_2Value: String;
begin
  result := DataTable.Fields[idx_VendedoresTELEFONO_2].AsString;
end;

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

function TVendedoresDataTableRules.GetTELEFONO_2IsNull: boolean;
begin
  result := DataTable.Fields[idx_VendedoresTELEFONO_2].IsNull;
end;

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

function TVendedoresDataTableRules.GetMOVIL_1Value: String;
begin
  result := DataTable.Fields[idx_VendedoresMOVIL_1].AsString;
end;

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

function TVendedoresDataTableRules.GetMOVIL_1IsNull: boolean;
begin
  result := DataTable.Fields[idx_VendedoresMOVIL_1].IsNull;
end;

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

function TVendedoresDataTableRules.GetMOVIL_2Value: String;
begin
  result := DataTable.Fields[idx_VendedoresMOVIL_2].AsString;
end;

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

function TVendedoresDataTableRules.GetMOVIL_2IsNull: boolean;
begin
  result := DataTable.Fields[idx_VendedoresMOVIL_2].IsNull;
end;

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

function TVendedoresDataTableRules.GetFAXValue: String;
begin
  result := DataTable.Fields[idx_VendedoresFAX].AsString;
end;

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

function TVendedoresDataTableRules.GetFAXIsNull: boolean;
begin
  result := DataTable.Fields[idx_VendedoresFAX].IsNull;
end;

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

function TVendedoresDataTableRules.GetEMAIL_1Value: String;
begin
  result := DataTable.Fields[idx_VendedoresEMAIL_1].AsString;
end;

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

function TVendedoresDataTableRules.GetEMAIL_1IsNull: boolean;
begin
  result := DataTable.Fields[idx_VendedoresEMAIL_1].IsNull;
end;

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

function TVendedoresDataTableRules.GetEMAIL_2Value: String;
begin
  result := DataTable.Fields[idx_VendedoresEMAIL_2].AsString;
end;

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

function TVendedoresDataTableRules.GetEMAIL_2IsNull: boolean;
begin
  result := DataTable.Fields[idx_VendedoresEMAIL_2].IsNull;
end;

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

function TVendedoresDataTableRules.GetPAGINA_WEBValue: String;
begin
  result := DataTable.Fields[idx_VendedoresPAGINA_WEB].AsString;
end;

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

function TVendedoresDataTableRules.GetPAGINA_WEBIsNull: boolean;
begin
  result := DataTable.Fields[idx_VendedoresPAGINA_WEB].IsNull;
end;

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

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

function TVendedoresDataTableRules.GetNOTASIsNull: boolean;
begin
  result := DataTable.Fields[idx_VendedoresNOTAS].IsNull;
end;

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

function TVendedoresDataTableRules.GetFECHA_ALTAValue: DateTime;
begin
  result := DataTable.Fields[idx_VendedoresFECHA_ALTA].AsDateTime;
end;

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

function TVendedoresDataTableRules.GetFECHA_ALTAIsNull: boolean;
begin
  result := DataTable.Fields[idx_VendedoresFECHA_ALTA].IsNull;
end;

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

function TVendedoresDataTableRules.GetFECHA_MODIFICACIONValue: DateTime;
begin
  result := DataTable.Fields[idx_VendedoresFECHA_MODIFICACION].AsDateTime;
end;

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

function TVendedoresDataTableRules.GetFECHA_MODIFICACIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_VendedoresFECHA_MODIFICACION].IsNull;
end;

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

function TVendedoresDataTableRules.GetUSUARIOValue: String;
begin
  result := DataTable.Fields[idx_VendedoresUSUARIO].AsString;
end;

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

function TVendedoresDataTableRules.GetUSUARIOIsNull: boolean;
begin
  result := DataTable.Fields[idx_VendedoresUSUARIO].IsNull;
end;

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

function TVendedoresDataTableRules.GetID_EMPRESAValue: Integer;
begin
  result := DataTable.Fields[idx_VendedoresID_EMPRESA].AsInteger;
end;

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

function TVendedoresDataTableRules.GetID_EMPRESAIsNull: boolean;
begin
  result := DataTable.Fields[idx_VendedoresID_EMPRESA].IsNull;
end;

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

function TVendedoresDataTableRules.GetREFERENCIAValue: String;
begin
  result := DataTable.Fields[idx_VendedoresREFERENCIA].AsString;
end;

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

function TVendedoresDataTableRules.GetREFERENCIAIsNull: boolean;
begin
  result := DataTable.Fields[idx_VendedoresREFERENCIA].IsNull;
end;

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

function TVendedoresDataTableRules.GetID_TIENDAValue: Integer;
begin
  result := DataTable.Fields[idx_VendedoresID_TIENDA].AsInteger;
end;

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

function TVendedoresDataTableRules.GetID_TIENDAIsNull: boolean;
begin
  result := DataTable.Fields[idx_VendedoresID_TIENDA].IsNull;
end;

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

function TVendedoresDataTableRules.GetTIENDAValue: String;
begin
  result := DataTable.Fields[idx_VendedoresTIENDA].AsString;
end;

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

function TVendedoresDataTableRules.GetTIENDAIsNull: boolean;
begin
  result := DataTable.Fields[idx_VendedoresTIENDA].IsNull;
end;

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

function TVendedoresDataTableRules.GetCOMISIONValue: Float;
begin
  result := DataTable.Fields[idx_VendedoresCOMISION].AsFloat;
end;

procedure TVendedoresDataTableRules.SetCOMISIONValue(const aValue: Float);
begin
  DataTable.Fields[idx_VendedoresCOMISION].AsFloat := aValue;
end;

function TVendedoresDataTableRules.GetCOMISIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_VendedoresCOMISION].IsNull;
end;

procedure TVendedoresDataTableRules.SetCOMISIONIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_VendedoresCOMISION].AsVariant := Null;
end;

function TVendedoresDataTableRules.GetID_USUARIOValue: Integer;
begin
  result := DataTable.Fields[idx_VendedoresID_USUARIO].AsInteger;
end;

procedure TVendedoresDataTableRules.SetID_USUARIOValue(const aValue: Integer);
begin
  DataTable.Fields[idx_VendedoresID_USUARIO].AsInteger := aValue;
end;

function TVendedoresDataTableRules.GetID_USUARIOIsNull: boolean;
begin
  result := DataTable.Fields[idx_VendedoresID_USUARIO].IsNull;
end;

procedure TVendedoresDataTableRules.SetID_USUARIOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_VendedoresID_USUARIO].AsVariant := Null;
end;


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

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

destructor TDireccionesContactoDataTableRules.Destroy;
begin
  inherited;
end;

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

function TDireccionesContactoDataTableRules.GetIDValue: Integer;
begin
  result := DataTable.Fields[idx_DireccionesContactoID].AsInteger;
end;

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

function TDireccionesContactoDataTableRules.GetIDIsNull: boolean;
begin
  result := DataTable.Fields[idx_DireccionesContactoID].IsNull;
end;

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

function TDireccionesContactoDataTableRules.GetID_CONTACTOValue: Integer;
begin
  result := DataTable.Fields[idx_DireccionesContactoID_CONTACTO].AsInteger;
end;

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

function TDireccionesContactoDataTableRules.GetID_CONTACTOIsNull: boolean;
begin
  result := DataTable.Fields[idx_DireccionesContactoID_CONTACTO].IsNull;
end;

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

function TDireccionesContactoDataTableRules.GetNIF_CIFValue: String;
begin
  result := DataTable.Fields[idx_DireccionesContactoNIF_CIF].AsString;
end;

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

function TDireccionesContactoDataTableRules.GetNIF_CIFIsNull: boolean;
begin
  result := DataTable.Fields[idx_DireccionesContactoNIF_CIF].IsNull;
end;

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

function TDireccionesContactoDataTableRules.GetCALLEValue: String;
begin
  result := DataTable.Fields[idx_DireccionesContactoCALLE].AsString;
end;

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

function TDireccionesContactoDataTableRules.GetCALLEIsNull: boolean;
begin
  result := DataTable.Fields[idx_DireccionesContactoCALLE].IsNull;
end;

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

function TDireccionesContactoDataTableRules.GetPOBLACIONValue: String;
begin
  result := DataTable.Fields[idx_DireccionesContactoPOBLACION].AsString;
end;

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

function TDireccionesContactoDataTableRules.GetPOBLACIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_DireccionesContactoPOBLACION].IsNull;
end;

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

function TDireccionesContactoDataTableRules.GetPROVINCIAValue: String;
begin
  result := DataTable.Fields[idx_DireccionesContactoPROVINCIA].AsString;
end;

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

function TDireccionesContactoDataTableRules.GetPROVINCIAIsNull: boolean;
begin
  result := DataTable.Fields[idx_DireccionesContactoPROVINCIA].IsNull;
end;

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

function TDireccionesContactoDataTableRules.GetCODIGO_POSTALValue: String;
begin
  result := DataTable.Fields[idx_DireccionesContactoCODIGO_POSTAL].AsString;
end;

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

function TDireccionesContactoDataTableRules.GetCODIGO_POSTALIsNull: boolean;
begin
  result := DataTable.Fields[idx_DireccionesContactoCODIGO_POSTAL].IsNull;
end;

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

function TDireccionesContactoDataTableRules.GetPERSONA_CONTACTOValue: String;
begin
  result := DataTable.Fields[idx_DireccionesContactoPERSONA_CONTACTO].AsString;
end;

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

function TDireccionesContactoDataTableRules.GetPERSONA_CONTACTOIsNull: boolean;
begin
  result := DataTable.Fields[idx_DireccionesContactoPERSONA_CONTACTO].IsNull;
end;

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

function TDireccionesContactoDataTableRules.GetNOMBREValue: String;
begin
  result := DataTable.Fields[idx_DireccionesContactoNOMBRE].AsString;
end;

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

function TDireccionesContactoDataTableRules.GetNOMBREIsNull: boolean;
begin
  result := DataTable.Fields[idx_DireccionesContactoNOMBRE].IsNull;
end;

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

function TDireccionesContactoDataTableRules.GetTELEFONOValue: String;
begin
  result := DataTable.Fields[idx_DireccionesContactoTELEFONO].AsString;
end;

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

function TDireccionesContactoDataTableRules.GetTELEFONOIsNull: boolean;
begin
  result := DataTable.Fields[idx_DireccionesContactoTELEFONO].IsNull;
end;

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

function TDireccionesContactoDataTableRules.GetMOVILValue: String;
begin
  result := DataTable.Fields[idx_DireccionesContactoMOVIL].AsString;
end;

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

function TDireccionesContactoDataTableRules.GetMOVILIsNull: boolean;
begin
  result := DataTable.Fields[idx_DireccionesContactoMOVIL].IsNull;
end;

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

function TDireccionesContactoDataTableRules.GetFAXValue: String;
begin
  result := DataTable.Fields[idx_DireccionesContactoFAX].AsString;
end;

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

function TDireccionesContactoDataTableRules.GetFAXIsNull: boolean;
begin
  result := DataTable.Fields[idx_DireccionesContactoFAX].IsNull;
end;

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

function TDireccionesContactoDataTableRules.GetEMAILValue: String;
begin
  result := DataTable.Fields[idx_DireccionesContactoEMAIL].AsString;
end;

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

function TDireccionesContactoDataTableRules.GetEMAILIsNull: boolean;
begin
  result := DataTable.Fields[idx_DireccionesContactoEMAIL].IsNull;
end;

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

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

function TDireccionesContactoDataTableRules.GetNOTASIsNull: boolean;
begin
  result := DataTable.Fields[idx_DireccionesContactoNOTAS].IsNull;
end;

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

function TDireccionesContactoDataTableRules.GetPORTEValue: Float;
begin
  result := DataTable.Fields[idx_DireccionesContactoPORTE].AsFloat;
end;

procedure TDireccionesContactoDataTableRules.SetPORTEValue(const aValue: Float);
begin
  DataTable.Fields[idx_DireccionesContactoPORTE].AsFloat := aValue;
end;

function TDireccionesContactoDataTableRules.GetPORTEIsNull: boolean;
begin
  result := DataTable.Fields[idx_DireccionesContactoPORTE].IsNull;
end;

procedure TDireccionesContactoDataTableRules.SetPORTEIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_DireccionesContactoPORTE].AsVariant := Null;
end;

function TDireccionesContactoDataTableRules.GetFECHA_ALTAValue: DateTime;
begin
  result := DataTable.Fields[idx_DireccionesContactoFECHA_ALTA].AsDateTime;
end;

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

function TDireccionesContactoDataTableRules.GetFECHA_ALTAIsNull: boolean;
begin
  result := DataTable.Fields[idx_DireccionesContactoFECHA_ALTA].IsNull;
end;

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

function TDireccionesContactoDataTableRules.GetFECHA_MODIFICACIONValue: DateTime;
begin
  result := DataTable.Fields[idx_DireccionesContactoFECHA_MODIFICACION].AsDateTime;
end;

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

function TDireccionesContactoDataTableRules.GetFECHA_MODIFICACIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_DireccionesContactoFECHA_MODIFICACION].IsNull;
end;

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


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

destructor TClientesDescuentosDataTableRules.Destroy;
begin
  inherited;
end;

function TClientesDescuentosDataTableRules.GetIDValue: Integer;
begin
  result := DataTable.Fields[idx_ClientesDescuentosID].AsInteger;
end;

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

function TClientesDescuentosDataTableRules.GetIDIsNull: boolean;
begin
  result := DataTable.Fields[idx_ClientesDescuentosID].IsNull;
end;

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

function TClientesDescuentosDataTableRules.GetID_CLIENTEValue: Integer;
begin
  result := DataTable.Fields[idx_ClientesDescuentosID_CLIENTE].AsInteger;
end;

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

function TClientesDescuentosDataTableRules.GetID_CLIENTEIsNull: boolean;
begin
  result := DataTable.Fields[idx_ClientesDescuentosID_CLIENTE].IsNull;
end;

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

function TClientesDescuentosDataTableRules.GetID_PROVEEDORValue: Integer;
begin
  result := DataTable.Fields[idx_ClientesDescuentosID_PROVEEDOR].AsInteger;
end;

procedure TClientesDescuentosDataTableRules.SetID_PROVEEDORValue(const aValue: Integer);
begin
  DataTable.Fields[idx_ClientesDescuentosID_PROVEEDOR].AsInteger := aValue;
end;

function TClientesDescuentosDataTableRules.GetID_PROVEEDORIsNull: boolean;
begin
  result := DataTable.Fields[idx_ClientesDescuentosID_PROVEEDOR].IsNull;
end;

procedure TClientesDescuentosDataTableRules.SetID_PROVEEDORIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ClientesDescuentosID_PROVEEDOR].AsVariant := Null;
end;

function TClientesDescuentosDataTableRules.GetNOMBREValue: String;
begin
  result := DataTable.Fields[idx_ClientesDescuentosNOMBRE].AsString;
end;

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

function TClientesDescuentosDataTableRules.GetNOMBREIsNull: boolean;
begin
  result := DataTable.Fields[idx_ClientesDescuentosNOMBRE].IsNull;
end;

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

function TClientesDescuentosDataTableRules.GetDESCUENTOValue: Float;
begin
  result := DataTable.Fields[idx_ClientesDescuentosDESCUENTO].AsFloat;
end;

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

function TClientesDescuentosDataTableRules.GetDESCUENTOIsNull: boolean;
begin
  result := DataTable.Fields[idx_ClientesDescuentosDESCUENTO].IsNull;
end;

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


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

destructor TProcedenciasClienteDataTableRules.Destroy;
begin
  inherited;
end;

function TProcedenciasClienteDataTableRules.GetIDValue: Integer;
begin
  result := DataTable.Fields[idx_ProcedenciasClienteID].AsInteger;
end;

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

function TProcedenciasClienteDataTableRules.GetIDIsNull: boolean;
begin
  result := DataTable.Fields[idx_ProcedenciasClienteID].IsNull;
end;

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

function TProcedenciasClienteDataTableRules.GetDESCRIPCIONValue: String;
begin
  result := DataTable.Fields[idx_ProcedenciasClienteDESCRIPCION].AsString;
end;

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

function TProcedenciasClienteDataTableRules.GetDESCRIPCIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_ProcedenciasClienteDESCRIPCION].IsNull;
end;

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


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

destructor TGruposProveedorDataTableRules.Destroy;
begin
  inherited;
end;

function TGruposProveedorDataTableRules.GetIDValue: Integer;
begin
  result := DataTable.Fields[idx_GruposProveedorID].AsInteger;
end;

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

function TGruposProveedorDataTableRules.GetIDIsNull: boolean;
begin
  result := DataTable.Fields[idx_GruposProveedorID].IsNull;
end;

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

function TGruposProveedorDataTableRules.GetDESCRIPCIONValue: String;
begin
  result := DataTable.Fields[idx_GruposProveedorDESCRIPCION].AsString;
end;

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

function TGruposProveedorDataTableRules.GetDESCRIPCIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_GruposProveedorDESCRIPCION].IsNull;
end;

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


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

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

destructor TContactos_RefreshDataTableRules.Destroy;
begin
  inherited;
end;

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

function TContactos_RefreshDataTableRules.GetIDValue: Integer;
begin
  result := DataTable.Fields[idx_Contactos_RefreshID].AsInteger;
end;

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

function TContactos_RefreshDataTableRules.GetIDIsNull: boolean;
begin
  result := DataTable.Fields[idx_Contactos_RefreshID].IsNull;
end;

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

function TContactos_RefreshDataTableRules.GetNIF_CIFValue: String;
begin
  result := DataTable.Fields[idx_Contactos_RefreshNIF_CIF].AsString;
end;

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

function TContactos_RefreshDataTableRules.GetNIF_CIFIsNull: boolean;
begin
  result := DataTable.Fields[idx_Contactos_RefreshNIF_CIF].IsNull;
end;

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

function TContactos_RefreshDataTableRules.GetNOMBREValue: String;
begin
  result := DataTable.Fields[idx_Contactos_RefreshNOMBRE].AsString;
end;

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

function TContactos_RefreshDataTableRules.GetNOMBREIsNull: boolean;
begin
  result := DataTable.Fields[idx_Contactos_RefreshNOMBRE].IsNull;
end;

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

function TContactos_RefreshDataTableRules.GetCALLEValue: String;
begin
  result := DataTable.Fields[idx_Contactos_RefreshCALLE].AsString;
end;

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

function TContactos_RefreshDataTableRules.GetCALLEIsNull: boolean;
begin
  result := DataTable.Fields[idx_Contactos_RefreshCALLE].IsNull;
end;

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

function TContactos_RefreshDataTableRules.GetPOBLACIONValue: String;
begin
  result := DataTable.Fields[idx_Contactos_RefreshPOBLACION].AsString;
end;

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

function TContactos_RefreshDataTableRules.GetPOBLACIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_Contactos_RefreshPOBLACION].IsNull;
end;

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

function TContactos_RefreshDataTableRules.GetPROVINCIAValue: String;
begin
  result := DataTable.Fields[idx_Contactos_RefreshPROVINCIA].AsString;
end;

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

function TContactos_RefreshDataTableRules.GetPROVINCIAIsNull: boolean;
begin
  result := DataTable.Fields[idx_Contactos_RefreshPROVINCIA].IsNull;
end;

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

function TContactos_RefreshDataTableRules.GetCODIGO_POSTALValue: String;
begin
  result := DataTable.Fields[idx_Contactos_RefreshCODIGO_POSTAL].AsString;
end;

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

function TContactos_RefreshDataTableRules.GetCODIGO_POSTALIsNull: boolean;
begin
  result := DataTable.Fields[idx_Contactos_RefreshCODIGO_POSTAL].IsNull;
end;

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

function TContactos_RefreshDataTableRules.GetTELEFONO_1Value: String;
begin
  result := DataTable.Fields[idx_Contactos_RefreshTELEFONO_1].AsString;
end;

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

function TContactos_RefreshDataTableRules.GetTELEFONO_1IsNull: boolean;
begin
  result := DataTable.Fields[idx_Contactos_RefreshTELEFONO_1].IsNull;
end;

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

function TContactos_RefreshDataTableRules.GetTELEFONO_2Value: String;
begin
  result := DataTable.Fields[idx_Contactos_RefreshTELEFONO_2].AsString;
end;

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

function TContactos_RefreshDataTableRules.GetTELEFONO_2IsNull: boolean;
begin
  result := DataTable.Fields[idx_Contactos_RefreshTELEFONO_2].IsNull;
end;

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

function TContactos_RefreshDataTableRules.GetMOVIL_1Value: String;
begin
  result := DataTable.Fields[idx_Contactos_RefreshMOVIL_1].AsString;
end;

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

function TContactos_RefreshDataTableRules.GetMOVIL_1IsNull: boolean;
begin
  result := DataTable.Fields[idx_Contactos_RefreshMOVIL_1].IsNull;
end;

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

function TContactos_RefreshDataTableRules.GetMOVIL_2Value: String;
begin
  result := DataTable.Fields[idx_Contactos_RefreshMOVIL_2].AsString;
end;

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

function TContactos_RefreshDataTableRules.GetMOVIL_2IsNull: boolean;
begin
  result := DataTable.Fields[idx_Contactos_RefreshMOVIL_2].IsNull;
end;

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

function TContactos_RefreshDataTableRules.GetFAXValue: String;
begin
  result := DataTable.Fields[idx_Contactos_RefreshFAX].AsString;
end;

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

function TContactos_RefreshDataTableRules.GetFAXIsNull: boolean;
begin
  result := DataTable.Fields[idx_Contactos_RefreshFAX].IsNull;
end;

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

function TContactos_RefreshDataTableRules.GetEMAIL_1Value: String;
begin
  result := DataTable.Fields[idx_Contactos_RefreshEMAIL_1].AsString;
end;

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

function TContactos_RefreshDataTableRules.GetEMAIL_1IsNull: boolean;
begin
  result := DataTable.Fields[idx_Contactos_RefreshEMAIL_1].IsNull;
end;

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

function TContactos_RefreshDataTableRules.GetEMAIL_2Value: String;
begin
  result := DataTable.Fields[idx_Contactos_RefreshEMAIL_2].AsString;
end;

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

function TContactos_RefreshDataTableRules.GetEMAIL_2IsNull: boolean;
begin
  result := DataTable.Fields[idx_Contactos_RefreshEMAIL_2].IsNull;
end;

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

function TContactos_RefreshDataTableRules.GetPAGINA_WEBValue: String;
begin
  result := DataTable.Fields[idx_Contactos_RefreshPAGINA_WEB].AsString;
end;

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

function TContactos_RefreshDataTableRules.GetPAGINA_WEBIsNull: boolean;
begin
  result := DataTable.Fields[idx_Contactos_RefreshPAGINA_WEB].IsNull;
end;

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

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

function TContactos_RefreshDataTableRules.GetNOTASIsNull: boolean;
begin
  result := DataTable.Fields[idx_Contactos_RefreshNOTAS].IsNull;
end;

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

function TContactos_RefreshDataTableRules.GetFECHA_ALTAValue: DateTime;
begin
  result := DataTable.Fields[idx_Contactos_RefreshFECHA_ALTA].AsDateTime;
end;

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

function TContactos_RefreshDataTableRules.GetFECHA_ALTAIsNull: boolean;
begin
  result := DataTable.Fields[idx_Contactos_RefreshFECHA_ALTA].IsNull;
end;

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

function TContactos_RefreshDataTableRules.GetFECHA_MODIFICACIONValue: DateTime;
begin
  result := DataTable.Fields[idx_Contactos_RefreshFECHA_MODIFICACION].AsDateTime;
end;

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

function TContactos_RefreshDataTableRules.GetFECHA_MODIFICACIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_Contactos_RefreshFECHA_MODIFICACION].IsNull;
end;

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

function TContactos_RefreshDataTableRules.GetUSUARIOValue: String;
begin
  result := DataTable.Fields[idx_Contactos_RefreshUSUARIO].AsString;
end;

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

function TContactos_RefreshDataTableRules.GetUSUARIOIsNull: boolean;
begin
  result := DataTable.Fields[idx_Contactos_RefreshUSUARIO].IsNull;
end;

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

function TContactos_RefreshDataTableRules.GetREFERENCIAValue: String;
begin
  result := DataTable.Fields[idx_Contactos_RefreshREFERENCIA].AsString;
end;

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

function TContactos_RefreshDataTableRules.GetREFERENCIAIsNull: boolean;
begin
  result := DataTable.Fields[idx_Contactos_RefreshREFERENCIA].IsNull;
end;

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

function TContactos_RefreshDataTableRules.GetPERSONA_CONTACTOValue: String;
begin
  result := DataTable.Fields[idx_Contactos_RefreshPERSONA_CONTACTO].AsString;
end;

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

function TContactos_RefreshDataTableRules.GetPERSONA_CONTACTOIsNull: boolean;
begin
  result := DataTable.Fields[idx_Contactos_RefreshPERSONA_CONTACTO].IsNull;
end;

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


initialization
  RegisterDataTableRules(RID_DarEmpresasContacto, TDarEmpresasContactoDataTableRules);
  RegisterDataTableRules(RID_PersonalContacto, TPersonalContactoDataTableRules);
  RegisterDataTableRules(RID_DarTiendaDeUsuario, TDarTiendaDeUsuarioDataTableRules);
  RegisterDataTableRules(RID_SubCuentasContacto, TSubCuentasContactoDataTableRules);
  RegisterDataTableRules(RID_Contactos, TContactosDataTableRules);
  RegisterDataTableRules(RID_GruposCliente, TGruposClienteDataTableRules);
  RegisterDataTableRules(RID_DatosBancarios, TDatosBancariosDataTableRules);
  RegisterDataTableRules(RID_ContactosDirecciones, TContactosDireccionesDataTableRules);
  RegisterDataTableRules(RID_Clientes, TClientesDataTableRules);
  RegisterDataTableRules(RID_Proveedores, TProveedoresDataTableRules);
  RegisterDataTableRules(RID_Vendedores, TVendedoresDataTableRules);
  RegisterDataTableRules(RID_DireccionesContacto, TDireccionesContactoDataTableRules);
  RegisterDataTableRules(RID_ClientesDescuentos, TClientesDescuentosDataTableRules);
  RegisterDataTableRules(RID_ProcedenciasCliente, TProcedenciasClienteDataTableRules);
  RegisterDataTableRules(RID_GruposProveedor, TGruposProveedorDataTableRules);
  RegisterDataTableRules(RID_Contactos_Refresh, TContactos_RefreshDataTableRules);

end.
