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_Contactos = '{14B93F69-65C7-4EC5-B1B3-62AFB72B56CC}';
  RID_GruposCliente = '{124D5907-C17F-45AA-8054-B2907386691A}';
  RID_DatosBancarios = '{ABCF1579-76BE-4A00-9059-0BD20DA768FF}';
  RID_Clientes = '{25A428D4-0DA0-4C84-91A3-C62146B36377}';
  RID_Proveedores = '{BED5456E-216D-4183-BE0E-0CA6A6A3291B}';
  RID_Empleados = '{190D4595-EC77-40B1-83F0-683B59B8CA6A}';
  RID_DireccionesContacto = '{52E7BA67-F88F-4DCC-BBC9-41CEDE7DE3A8}';
  RID_ClientesDescuentos = '{C20093E4-2828-41F4-B798-500C95F1DABE}';
  RID_GruposProveedor = '{A815592C-9F5E-499E-BA92-135145F5608B}';
  RID_GruposEmpleado = '{EC079A8C-D587-4647-804C-DA0B528278CF}';
  RID_Contactos_Refresh = '{762F774A-9D7D-496D-AE66-A018D430B41C}';
  RID_ContratosEmpleados = '{0B52807A-6F66-420F-A38F-2083D4A0D722}';
  RID_DescripcionesProveedores = '{63C50F71-C164-4298-965D-CE0D1B5BC2D5}';
  RID_PersonalContacto = '{E5692F4D-8DEA-48BE-B38C-55553ECF4BC7}';
  RID_Agentes_Comisiones = '{91F3B993-9766-4C99-B97E-03F667F57F4C}';
  RID_Agentes = '{60EF74A6-4CFA-4938-83A1-CF8A893D9556}';

  { Data table names }
  nme_Contactos = 'Contactos';
  nme_GruposCliente = 'GruposCliente';
  nme_DatosBancarios = 'DatosBancarios';
  nme_Clientes = 'Clientes';
  nme_Proveedores = 'Proveedores';
  nme_Empleados = 'Empleados';
  nme_DireccionesContacto = 'DireccionesContacto';
  nme_ClientesDescuentos = 'ClientesDescuentos';
  nme_GruposProveedor = 'GruposProveedor';
  nme_GruposEmpleado = 'GruposEmpleado';
  nme_Contactos_Refresh = 'Contactos_Refresh';
  nme_ContratosEmpleados = 'ContratosEmpleados';
  nme_DescripcionesProveedores = 'DescripcionesProveedores';
  nme_PersonalContacto = 'PersonalContacto';
  nme_Agentes_Comisiones = 'Agentes_Comisiones';
  nme_Agentes = 'Agentes';

  { 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';

  { 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;

  { 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;

  { 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_AGENTE = 'ID_AGENTE';
  fld_ClientesGRUPO_CLIENTE = 'GRUPO_CLIENTE';
  fld_ClientesNOMBRE_COMERCIAL = 'NOMBRE_COMERCIAL';
  fld_ClientesVENCIMIENTO_FACTURAS_1 = 'VENCIMIENTO_FACTURAS_1';
  fld_ClientesVENCIMIENTO_FACTURAS_2 = 'VENCIMIENTO_FACTURAS_2';
  fld_ClientesVENCIMIENTO_FACTURAS_3 = 'VENCIMIENTO_FACTURAS_3';
  fld_ClientesBLOQUEADO = 'BLOQUEADO';
  fld_ClientesAGENTE = 'AGENTE';
  fld_ClientesRAPEL = 'RAPEL';
  fld_ClientesEMAIL_ADMINISTRACION = 'EMAIL_ADMINISTRACION';
  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_ClientesDESCUENTO = 'DESCUENTO';
  fld_ClientesFELICITACION = 'FELICITACION';

  { 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_AGENTE = 23;
  idx_ClientesGRUPO_CLIENTE = 24;
  idx_ClientesNOMBRE_COMERCIAL = 25;
  idx_ClientesVENCIMIENTO_FACTURAS_1 = 26;
  idx_ClientesVENCIMIENTO_FACTURAS_2 = 27;
  idx_ClientesVENCIMIENTO_FACTURAS_3 = 28;
  idx_ClientesBLOQUEADO = 29;
  idx_ClientesAGENTE = 30;
  idx_ClientesRAPEL = 31;
  idx_ClientesEMAIL_ADMINISTRACION = 32;
  idx_ClientesREGIMEN_IVA = 33;
  idx_ClientesMOTIVO_BLOQUEO = 34;
  idx_ClientesRECARGO_EQUIVALENCIA = 35;
  idx_ClientesID_TIPO_IVA = 36;
  idx_ClientesID_FORMA_PAGO = 37;
  idx_ClientesTIENDA_WEB = 38;
  idx_ClientesCODIGO_ASIGNADO = 39;
  idx_ClientesDESCUENTO = 40;
  idx_ClientesFELICITACION = 41;

  { 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_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_ProveedoresSUBCONTRATA = 'SUBCONTRATA';
  fld_ProveedoresEMAIL_ADMINISTRACION = 'EMAIL_ADMINISTRACION';
  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_ProveedoresDESCUENTO = 23;
  idx_ProveedoresDESCRIPCION_PROVEEDOR = 24;
  idx_ProveedoresCODIGO_ASIGNADO = 25;
  idx_ProveedoresGRUPO_PROVEEDOR = 26;
  idx_ProveedoresREGIMEN_IVA = 27;
  idx_ProveedoresID_TIPO_IVA = 28;
  idx_ProveedoresID_FORMA_PAGO = 29;
  idx_ProveedoresTIENDA_WEB = 30;
  idx_ProveedoresHOMOLOGADO = 31;
  idx_ProveedoresCERTIFICACION = 32;
  idx_ProveedoresSUBCONTRATA = 33;
  idx_ProveedoresEMAIL_ADMINISTRACION = 34;
  idx_ProveedoresVENCIMIENTO_FACTURAS_1 = 35;
  idx_ProveedoresVENCIMIENTO_FACTURAS_2 = 36;
  idx_ProveedoresVENCIMIENTO_FACTURAS_3 = 37;

  { Empleados fields }
  fld_EmpleadosID = 'ID';
  fld_EmpleadosID_CATEGORIA = 'ID_CATEGORIA';
  fld_EmpleadosNIF_CIF = 'NIF_CIF';
  fld_EmpleadosNOMBRE = 'NOMBRE';
  fld_EmpleadosPERSONA_CONTACTO = 'PERSONA_CONTACTO';
  fld_EmpleadosCALLE = 'CALLE';
  fld_EmpleadosPOBLACION = 'POBLACION';
  fld_EmpleadosPROVINCIA = 'PROVINCIA';
  fld_EmpleadosCODIGO_POSTAL = 'CODIGO_POSTAL';
  fld_EmpleadosTELEFONO_1 = 'TELEFONO_1';
  fld_EmpleadosTELEFONO_2 = 'TELEFONO_2';
  fld_EmpleadosMOVIL_1 = 'MOVIL_1';
  fld_EmpleadosMOVIL_2 = 'MOVIL_2';
  fld_EmpleadosFAX = 'FAX';
  fld_EmpleadosEMAIL_1 = 'EMAIL_1';
  fld_EmpleadosEMAIL_2 = 'EMAIL_2';
  fld_EmpleadosPAGINA_WEB = 'PAGINA_WEB';
  fld_EmpleadosNOTAS = 'NOTAS';
  fld_EmpleadosFECHA_ALTA = 'FECHA_ALTA';
  fld_EmpleadosFECHA_MODIFICACION = 'FECHA_MODIFICACION';
  fld_EmpleadosUSUARIO = 'USUARIO';
  fld_EmpleadosID_EMPRESA = 'ID_EMPRESA';
  fld_EmpleadosREFERENCIA = 'REFERENCIA';
  fld_EmpleadosFECHA_NACIMIENTO = 'FECHA_NACIMIENTO';
  fld_EmpleadosCATEGORIA = 'CATEGORIA';
  fld_EmpleadosFECHA_ALTA_EMPRESA = 'FECHA_ALTA_EMPRESA';
  fld_EmpleadosFORMACION_BASE = 'FORMACION_BASE';
  fld_EmpleadosFORMACION_COMPLE = 'FORMACION_COMPLE';
  fld_EmpleadosFORMACION_RECIBIDA = 'FORMACION_RECIBIDA';
  fld_EmpleadosEXPERIENCIA = 'EXPERIENCIA';
  fld_EmpleadosCONTRATO = 'CONTRATO';
  fld_EmpleadosDURACION = 'DURACION';
  fld_EmpleadosFECHA_BAJA = 'FECHA_BAJA';
  fld_EmpleadosCAUSA_BAJA = 'CAUSA_BAJA';

  { Empleados field indexes }
  idx_EmpleadosID = 0;
  idx_EmpleadosID_CATEGORIA = 1;
  idx_EmpleadosNIF_CIF = 2;
  idx_EmpleadosNOMBRE = 3;
  idx_EmpleadosPERSONA_CONTACTO = 4;
  idx_EmpleadosCALLE = 5;
  idx_EmpleadosPOBLACION = 6;
  idx_EmpleadosPROVINCIA = 7;
  idx_EmpleadosCODIGO_POSTAL = 8;
  idx_EmpleadosTELEFONO_1 = 9;
  idx_EmpleadosTELEFONO_2 = 10;
  idx_EmpleadosMOVIL_1 = 11;
  idx_EmpleadosMOVIL_2 = 12;
  idx_EmpleadosFAX = 13;
  idx_EmpleadosEMAIL_1 = 14;
  idx_EmpleadosEMAIL_2 = 15;
  idx_EmpleadosPAGINA_WEB = 16;
  idx_EmpleadosNOTAS = 17;
  idx_EmpleadosFECHA_ALTA = 18;
  idx_EmpleadosFECHA_MODIFICACION = 19;
  idx_EmpleadosUSUARIO = 20;
  idx_EmpleadosID_EMPRESA = 21;
  idx_EmpleadosREFERENCIA = 22;
  idx_EmpleadosFECHA_NACIMIENTO = 23;
  idx_EmpleadosCATEGORIA = 24;
  idx_EmpleadosFECHA_ALTA_EMPRESA = 25;
  idx_EmpleadosFORMACION_BASE = 26;
  idx_EmpleadosFORMACION_COMPLE = 27;
  idx_EmpleadosFORMACION_RECIBIDA = 28;
  idx_EmpleadosEXPERIENCIA = 29;
  idx_EmpleadosCONTRATO = 30;
  idx_EmpleadosDURACION = 31;
  idx_EmpleadosFECHA_BAJA = 32;
  idx_EmpleadosCAUSA_BAJA = 33;

  { DireccionesContacto fields }
  fld_DireccionesContactoID = 'ID';
  fld_DireccionesContactoID_CONTACTO = 'ID_CONTACTO';
  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_DireccionesContactoCALLE = 2;
  idx_DireccionesContactoPOBLACION = 3;
  idx_DireccionesContactoPROVINCIA = 4;
  idx_DireccionesContactoCODIGO_POSTAL = 5;
  idx_DireccionesContactoPERSONA_CONTACTO = 6;
  idx_DireccionesContactoNOMBRE = 7;
  idx_DireccionesContactoTELEFONO = 8;
  idx_DireccionesContactoMOVIL = 9;
  idx_DireccionesContactoFAX = 10;
  idx_DireccionesContactoEMAIL = 11;
  idx_DireccionesContactoNOTAS = 12;
  idx_DireccionesContactoPORTE = 13;
  idx_DireccionesContactoFECHA_ALTA = 14;
  idx_DireccionesContactoFECHA_MODIFICACION = 15;

  { 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;

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

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

  { GruposEmpleado fields }
  fld_GruposEmpleadoID = 'ID';
  fld_GruposEmpleadoDESCRIPCION = 'DESCRIPCION';

  { GruposEmpleado field indexes }
  idx_GruposEmpleadoID = 0;
  idx_GruposEmpleadoDESCRIPCION = 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;

  { ContratosEmpleados fields }
  fld_ContratosEmpleadosCONTRATO = 'CONTRATO';

  { ContratosEmpleados field indexes }
  idx_ContratosEmpleadosCONTRATO = 0;

  { DescripcionesProveedores fields }
  fld_DescripcionesProveedoresDESCRIPCION_PROVEEDOR = 'DESCRIPCION_PROVEEDOR';

  { DescripcionesProveedores field indexes }
  idx_DescripcionesProveedoresDESCRIPCION_PROVEEDOR = 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;

  { Agentes_Comisiones fields }
  fld_Agentes_ComisionesID = 'ID';
  fld_Agentes_ComisionesID_AGENTE = 'ID_AGENTE';
  fld_Agentes_ComisionesID_PROVEEDOR = 'ID_PROVEEDOR';
  fld_Agentes_ComisionesNOMBRE = 'NOMBRE';
  fld_Agentes_ComisionesCOMISION = 'COMISION';

  { Agentes_Comisiones field indexes }
  idx_Agentes_ComisionesID = 0;
  idx_Agentes_ComisionesID_AGENTE = 1;
  idx_Agentes_ComisionesID_PROVEEDOR = 2;
  idx_Agentes_ComisionesNOMBRE = 3;
  idx_Agentes_ComisionesCOMISION = 4;

  { Agentes fields }
  fld_AgentesID = 'ID';
  fld_AgentesID_CATEGORIA = 'ID_CATEGORIA';
  fld_AgentesNIF_CIF = 'NIF_CIF';
  fld_AgentesNOMBRE = 'NOMBRE';
  fld_AgentesPERSONA_CONTACTO = 'PERSONA_CONTACTO';
  fld_AgentesCALLE = 'CALLE';
  fld_AgentesPOBLACION = 'POBLACION';
  fld_AgentesPROVINCIA = 'PROVINCIA';
  fld_AgentesCODIGO_POSTAL = 'CODIGO_POSTAL';
  fld_AgentesTELEFONO_1 = 'TELEFONO_1';
  fld_AgentesTELEFONO_2 = 'TELEFONO_2';
  fld_AgentesMOVIL_1 = 'MOVIL_1';
  fld_AgentesMOVIL_2 = 'MOVIL_2';
  fld_AgentesFAX = 'FAX';
  fld_AgentesEMAIL_1 = 'EMAIL_1';
  fld_AgentesEMAIL_2 = 'EMAIL_2';
  fld_AgentesPAGINA_WEB = 'PAGINA_WEB';
  fld_AgentesNOTAS = 'NOTAS';
  fld_AgentesFECHA_ALTA = 'FECHA_ALTA';
  fld_AgentesFECHA_MODIFICACION = 'FECHA_MODIFICACION';
  fld_AgentesUSUARIO = 'USUARIO';
  fld_AgentesID_EMPRESA = 'ID_EMPRESA';
  fld_AgentesREFERENCIA = 'REFERENCIA';
  fld_AgentesFECHA_ALTA_EMPRESA = 'FECHA_ALTA_EMPRESA';
  fld_AgentesFECHA_BAJA = 'FECHA_BAJA';
  fld_AgentesCAUSA_BAJA = 'CAUSA_BAJA';

  { Agentes field indexes }
  idx_AgentesID = 0;
  idx_AgentesID_CATEGORIA = 1;
  idx_AgentesNIF_CIF = 2;
  idx_AgentesNOMBRE = 3;
  idx_AgentesPERSONA_CONTACTO = 4;
  idx_AgentesCALLE = 5;
  idx_AgentesPOBLACION = 6;
  idx_AgentesPROVINCIA = 7;
  idx_AgentesCODIGO_POSTAL = 8;
  idx_AgentesTELEFONO_1 = 9;
  idx_AgentesTELEFONO_2 = 10;
  idx_AgentesMOVIL_1 = 11;
  idx_AgentesMOVIL_2 = 12;
  idx_AgentesFAX = 13;
  idx_AgentesEMAIL_1 = 14;
  idx_AgentesEMAIL_2 = 15;
  idx_AgentesPAGINA_WEB = 16;
  idx_AgentesNOTAS = 17;
  idx_AgentesFECHA_ALTA = 18;
  idx_AgentesFECHA_MODIFICACION = 19;
  idx_AgentesUSUARIO = 20;
  idx_AgentesID_EMPRESA = 21;
  idx_AgentesREFERENCIA = 22;
  idx_AgentesFECHA_ALTA_EMPRESA = 23;
  idx_AgentesFECHA_BAJA = 24;
  idx_AgentesCAUSA_BAJA = 25;

type
  { IContactos }
  IContactos = interface(IDAStronglyTypedDataTable)
  ['{2DB7CF12-84F0-4A60-AD6A-DA3FCBAD6022}']
    { 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);


    { 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;
  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;

    { 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;

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

  end;

  { IGruposCliente }
  IGruposCliente = interface(IDAStronglyTypedDataTable)
  ['{82FFDC15-328B-4A4E-96D9-AED477D1ED65}']
    { 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)
  ['{6F903B6D-1421-4FD0-A385-8CB231550883}']
    { 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;

  { IClientes }
  IClientes = interface(IDAStronglyTypedDataTable)
  ['{2F65D059-0171-4485-8985-309F1475EB2E}']
    { 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_AGENTEValue: Integer;
    procedure SetID_AGENTEValue(const aValue: Integer);
    function GetID_AGENTEIsNull: Boolean;
    procedure SetID_AGENTEIsNull(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 GetVENCIMIENTO_FACTURAS_1Value: SmallInt;
    procedure SetVENCIMIENTO_FACTURAS_1Value(const aValue: SmallInt);
    function GetVENCIMIENTO_FACTURAS_1IsNull: Boolean;
    procedure SetVENCIMIENTO_FACTURAS_1IsNull(const aValue: Boolean);
    function GetVENCIMIENTO_FACTURAS_2Value: SmallInt;
    procedure SetVENCIMIENTO_FACTURAS_2Value(const aValue: SmallInt);
    function GetVENCIMIENTO_FACTURAS_2IsNull: Boolean;
    procedure SetVENCIMIENTO_FACTURAS_2IsNull(const aValue: Boolean);
    function GetVENCIMIENTO_FACTURAS_3Value: SmallInt;
    procedure SetVENCIMIENTO_FACTURAS_3Value(const aValue: SmallInt);
    function GetVENCIMIENTO_FACTURAS_3IsNull: Boolean;
    procedure SetVENCIMIENTO_FACTURAS_3IsNull(const aValue: Boolean);
    function GetBLOQUEADOValue: SmallInt;
    procedure SetBLOQUEADOValue(const aValue: SmallInt);
    function GetBLOQUEADOIsNull: Boolean;
    procedure SetBLOQUEADOIsNull(const aValue: Boolean);
    function GetAGENTEValue: String;
    procedure SetAGENTEValue(const aValue: String);
    function GetAGENTEIsNull: Boolean;
    procedure SetAGENTEIsNull(const aValue: Boolean);
    function GetRAPELValue: SmallInt;
    procedure SetRAPELValue(const aValue: SmallInt);
    function GetRAPELIsNull: Boolean;
    procedure SetRAPELIsNull(const aValue: Boolean);
    function GetEMAIL_ADMINISTRACIONValue: String;
    procedure SetEMAIL_ADMINISTRACIONValue(const aValue: String);
    function GetEMAIL_ADMINISTRACIONIsNull: Boolean;
    procedure SetEMAIL_ADMINISTRACIONIsNull(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: Integer;
    procedure SetRECARGO_EQUIVALENCIAValue(const aValue: Integer);
    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 GetDESCUENTOValue: Float;
    procedure SetDESCUENTOValue(const aValue: Float);
    function GetDESCUENTOIsNull: Boolean;
    procedure SetDESCUENTOIsNull(const aValue: Boolean);
    function GetFELICITACIONValue: SmallInt;
    procedure SetFELICITACIONValue(const aValue: SmallInt);
    function GetFELICITACIONIsNull: Boolean;
    procedure SetFELICITACIONIsNull(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_AGENTE: Integer read GetID_AGENTEValue write SetID_AGENTEValue;
    property ID_AGENTEIsNull: Boolean read GetID_AGENTEIsNull write SetID_AGENTEIsNull;
    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 VENCIMIENTO_FACTURAS_1: SmallInt 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: SmallInt 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: SmallInt read GetVENCIMIENTO_FACTURAS_3Value write SetVENCIMIENTO_FACTURAS_3Value;
    property VENCIMIENTO_FACTURAS_3IsNull: Boolean read GetVENCIMIENTO_FACTURAS_3IsNull write SetVENCIMIENTO_FACTURAS_3IsNull;
    property BLOQUEADO: SmallInt read GetBLOQUEADOValue write SetBLOQUEADOValue;
    property BLOQUEADOIsNull: Boolean read GetBLOQUEADOIsNull write SetBLOQUEADOIsNull;
    property AGENTE: String read GetAGENTEValue write SetAGENTEValue;
    property AGENTEIsNull: Boolean read GetAGENTEIsNull write SetAGENTEIsNull;
    property RAPEL: SmallInt read GetRAPELValue write SetRAPELValue;
    property RAPELIsNull: Boolean read GetRAPELIsNull write SetRAPELIsNull;
    property EMAIL_ADMINISTRACION: String read GetEMAIL_ADMINISTRACIONValue write SetEMAIL_ADMINISTRACIONValue;
    property EMAIL_ADMINISTRACIONIsNull: Boolean read GetEMAIL_ADMINISTRACIONIsNull write SetEMAIL_ADMINISTRACIONIsNull;
    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: Integer 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 DESCUENTO: Float read GetDESCUENTOValue write SetDESCUENTOValue;
    property DESCUENTOIsNull: Boolean read GetDESCUENTOIsNull write SetDESCUENTOIsNull;
    property FELICITACION: SmallInt read GetFELICITACIONValue write SetFELICITACIONValue;
    property FELICITACIONIsNull: Boolean read GetFELICITACIONIsNull write SetFELICITACIONIsNull;
  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_AGENTEValue: Integer; virtual;
    procedure SetID_AGENTEValue(const aValue: Integer); virtual;
    function GetID_AGENTEIsNull: Boolean; virtual;
    procedure SetID_AGENTEIsNull(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 GetVENCIMIENTO_FACTURAS_1Value: SmallInt; virtual;
    procedure SetVENCIMIENTO_FACTURAS_1Value(const aValue: SmallInt); virtual;
    function GetVENCIMIENTO_FACTURAS_1IsNull: Boolean; virtual;
    procedure SetVENCIMIENTO_FACTURAS_1IsNull(const aValue: Boolean); virtual;
    function GetVENCIMIENTO_FACTURAS_2Value: SmallInt; virtual;
    procedure SetVENCIMIENTO_FACTURAS_2Value(const aValue: SmallInt); virtual;
    function GetVENCIMIENTO_FACTURAS_2IsNull: Boolean; virtual;
    procedure SetVENCIMIENTO_FACTURAS_2IsNull(const aValue: Boolean); virtual;
    function GetVENCIMIENTO_FACTURAS_3Value: SmallInt; virtual;
    procedure SetVENCIMIENTO_FACTURAS_3Value(const aValue: SmallInt); virtual;
    function GetVENCIMIENTO_FACTURAS_3IsNull: Boolean; virtual;
    procedure SetVENCIMIENTO_FACTURAS_3IsNull(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 GetAGENTEValue: String; virtual;
    procedure SetAGENTEValue(const aValue: String); virtual;
    function GetAGENTEIsNull: Boolean; virtual;
    procedure SetAGENTEIsNull(const aValue: Boolean); virtual;
    function GetRAPELValue: SmallInt; virtual;
    procedure SetRAPELValue(const aValue: SmallInt); virtual;
    function GetRAPELIsNull: Boolean; virtual;
    procedure SetRAPELIsNull(const aValue: Boolean); virtual;
    function GetEMAIL_ADMINISTRACIONValue: String; virtual;
    procedure SetEMAIL_ADMINISTRACIONValue(const aValue: String); virtual;
    function GetEMAIL_ADMINISTRACIONIsNull: Boolean; virtual;
    procedure SetEMAIL_ADMINISTRACIONIsNull(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: Integer; virtual;
    procedure SetRECARGO_EQUIVALENCIAValue(const aValue: Integer); 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 GetDESCUENTOValue: Float; virtual;
    procedure SetDESCUENTOValue(const aValue: Float); virtual;
    function GetDESCUENTOIsNull: Boolean; virtual;
    procedure SetDESCUENTOIsNull(const aValue: Boolean); virtual;
    function GetFELICITACIONValue: SmallInt; virtual;
    procedure SetFELICITACIONValue(const aValue: SmallInt); virtual;
    function GetFELICITACIONIsNull: Boolean; virtual;
    procedure SetFELICITACIONIsNull(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_AGENTE: Integer read GetID_AGENTEValue write SetID_AGENTEValue;
    property ID_AGENTEIsNull: Boolean read GetID_AGENTEIsNull write SetID_AGENTEIsNull;
    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 VENCIMIENTO_FACTURAS_1: SmallInt 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: SmallInt 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: SmallInt read GetVENCIMIENTO_FACTURAS_3Value write SetVENCIMIENTO_FACTURAS_3Value;
    property VENCIMIENTO_FACTURAS_3IsNull: Boolean read GetVENCIMIENTO_FACTURAS_3IsNull write SetVENCIMIENTO_FACTURAS_3IsNull;
    property BLOQUEADO: SmallInt read GetBLOQUEADOValue write SetBLOQUEADOValue;
    property BLOQUEADOIsNull: Boolean read GetBLOQUEADOIsNull write SetBLOQUEADOIsNull;
    property AGENTE: String read GetAGENTEValue write SetAGENTEValue;
    property AGENTEIsNull: Boolean read GetAGENTEIsNull write SetAGENTEIsNull;
    property RAPEL: SmallInt read GetRAPELValue write SetRAPELValue;
    property RAPELIsNull: Boolean read GetRAPELIsNull write SetRAPELIsNull;
    property EMAIL_ADMINISTRACION: String read GetEMAIL_ADMINISTRACIONValue write SetEMAIL_ADMINISTRACIONValue;
    property EMAIL_ADMINISTRACIONIsNull: Boolean read GetEMAIL_ADMINISTRACIONIsNull write SetEMAIL_ADMINISTRACIONIsNull;
    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: Integer 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 DESCUENTO: Float read GetDESCUENTOValue write SetDESCUENTOValue;
    property DESCUENTOIsNull: Boolean read GetDESCUENTOIsNull write SetDESCUENTOIsNull;
    property FELICITACION: SmallInt read GetFELICITACIONValue write SetFELICITACIONValue;
    property FELICITACIONIsNull: Boolean read GetFELICITACIONIsNull write SetFELICITACIONIsNull;

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

  end;

  { IProveedores }
  IProveedores = interface(IDAStronglyTypedDataTable)
  ['{69BB1B32-4DA1-4DCA-B2B1-B8D5ED5FB2AC}']
    { 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 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 GetSUBCONTRATAValue: SmallInt;
    procedure SetSUBCONTRATAValue(const aValue: SmallInt);
    function GetSUBCONTRATAIsNull: Boolean;
    procedure SetSUBCONTRATAIsNull(const aValue: Boolean);
    function GetEMAIL_ADMINISTRACIONValue: String;
    procedure SetEMAIL_ADMINISTRACIONValue(const aValue: String);
    function GetEMAIL_ADMINISTRACIONIsNull: Boolean;
    procedure SetEMAIL_ADMINISTRACIONIsNull(const aValue: Boolean);
    function GetVENCIMIENTO_FACTURAS_1Value: SmallInt;
    procedure SetVENCIMIENTO_FACTURAS_1Value(const aValue: SmallInt);
    function GetVENCIMIENTO_FACTURAS_1IsNull: Boolean;
    procedure SetVENCIMIENTO_FACTURAS_1IsNull(const aValue: Boolean);
    function GetVENCIMIENTO_FACTURAS_2Value: SmallInt;
    procedure SetVENCIMIENTO_FACTURAS_2Value(const aValue: SmallInt);
    function GetVENCIMIENTO_FACTURAS_2IsNull: Boolean;
    procedure SetVENCIMIENTO_FACTURAS_2IsNull(const aValue: Boolean);
    function GetVENCIMIENTO_FACTURAS_3Value: SmallInt;
    procedure SetVENCIMIENTO_FACTURAS_3Value(const aValue: SmallInt);
    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 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 SUBCONTRATA: SmallInt read GetSUBCONTRATAValue write SetSUBCONTRATAValue;
    property SUBCONTRATAIsNull: Boolean read GetSUBCONTRATAIsNull write SetSUBCONTRATAIsNull;
    property EMAIL_ADMINISTRACION: String read GetEMAIL_ADMINISTRACIONValue write SetEMAIL_ADMINISTRACIONValue;
    property EMAIL_ADMINISTRACIONIsNull: Boolean read GetEMAIL_ADMINISTRACIONIsNull write SetEMAIL_ADMINISTRACIONIsNull;
    property VENCIMIENTO_FACTURAS_1: SmallInt 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: SmallInt 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: SmallInt 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 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 GetSUBCONTRATAValue: SmallInt; virtual;
    procedure SetSUBCONTRATAValue(const aValue: SmallInt); virtual;
    function GetSUBCONTRATAIsNull: Boolean; virtual;
    procedure SetSUBCONTRATAIsNull(const aValue: Boolean); virtual;
    function GetEMAIL_ADMINISTRACIONValue: String; virtual;
    procedure SetEMAIL_ADMINISTRACIONValue(const aValue: String); virtual;
    function GetEMAIL_ADMINISTRACIONIsNull: Boolean; virtual;
    procedure SetEMAIL_ADMINISTRACIONIsNull(const aValue: Boolean); virtual;
    function GetVENCIMIENTO_FACTURAS_1Value: SmallInt; virtual;
    procedure SetVENCIMIENTO_FACTURAS_1Value(const aValue: SmallInt); virtual;
    function GetVENCIMIENTO_FACTURAS_1IsNull: Boolean; virtual;
    procedure SetVENCIMIENTO_FACTURAS_1IsNull(const aValue: Boolean); virtual;
    function GetVENCIMIENTO_FACTURAS_2Value: SmallInt; virtual;
    procedure SetVENCIMIENTO_FACTURAS_2Value(const aValue: SmallInt); virtual;
    function GetVENCIMIENTO_FACTURAS_2IsNull: Boolean; virtual;
    procedure SetVENCIMIENTO_FACTURAS_2IsNull(const aValue: Boolean); virtual;
    function GetVENCIMIENTO_FACTURAS_3Value: SmallInt; virtual;
    procedure SetVENCIMIENTO_FACTURAS_3Value(const aValue: SmallInt); 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 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 SUBCONTRATA: SmallInt read GetSUBCONTRATAValue write SetSUBCONTRATAValue;
    property SUBCONTRATAIsNull: Boolean read GetSUBCONTRATAIsNull write SetSUBCONTRATAIsNull;
    property EMAIL_ADMINISTRACION: String read GetEMAIL_ADMINISTRACIONValue write SetEMAIL_ADMINISTRACIONValue;
    property EMAIL_ADMINISTRACIONIsNull: Boolean read GetEMAIL_ADMINISTRACIONIsNull write SetEMAIL_ADMINISTRACIONIsNull;
    property VENCIMIENTO_FACTURAS_1: SmallInt 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: SmallInt 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: SmallInt 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;

  { IEmpleados }
  IEmpleados = interface(IDAStronglyTypedDataTable)
  ['{52136C1F-BAAE-4C19-A591-9DBFA7B5EF85}']
    { 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 GetFECHA_NACIMIENTOValue: DateTime;
    procedure SetFECHA_NACIMIENTOValue(const aValue: DateTime);
    function GetFECHA_NACIMIENTOIsNull: Boolean;
    procedure SetFECHA_NACIMIENTOIsNull(const aValue: Boolean);
    function GetCATEGORIAValue: String;
    procedure SetCATEGORIAValue(const aValue: String);
    function GetCATEGORIAIsNull: Boolean;
    procedure SetCATEGORIAIsNull(const aValue: Boolean);
    function GetFECHA_ALTA_EMPRESAValue: DateTime;
    procedure SetFECHA_ALTA_EMPRESAValue(const aValue: DateTime);
    function GetFECHA_ALTA_EMPRESAIsNull: Boolean;
    procedure SetFECHA_ALTA_EMPRESAIsNull(const aValue: Boolean);
    function GetFORMACION_BASEValue: IROStrings;
    function GetFORMACION_BASEIsNull: Boolean;
    procedure SetFORMACION_BASEIsNull(const aValue: Boolean);
    function GetFORMACION_COMPLEValue: IROStrings;
    function GetFORMACION_COMPLEIsNull: Boolean;
    procedure SetFORMACION_COMPLEIsNull(const aValue: Boolean);
    function GetFORMACION_RECIBIDAValue: IROStrings;
    function GetFORMACION_RECIBIDAIsNull: Boolean;
    procedure SetFORMACION_RECIBIDAIsNull(const aValue: Boolean);
    function GetEXPERIENCIAValue: IROStrings;
    function GetEXPERIENCIAIsNull: Boolean;
    procedure SetEXPERIENCIAIsNull(const aValue: Boolean);
    function GetCONTRATOValue: String;
    procedure SetCONTRATOValue(const aValue: String);
    function GetCONTRATOIsNull: Boolean;
    procedure SetCONTRATOIsNull(const aValue: Boolean);
    function GetDURACIONValue: String;
    procedure SetDURACIONValue(const aValue: String);
    function GetDURACIONIsNull: Boolean;
    procedure SetDURACIONIsNull(const aValue: Boolean);
    function GetFECHA_BAJAValue: DateTime;
    procedure SetFECHA_BAJAValue(const aValue: DateTime);
    function GetFECHA_BAJAIsNull: Boolean;
    procedure SetFECHA_BAJAIsNull(const aValue: Boolean);
    function GetCAUSA_BAJAValue: String;
    procedure SetCAUSA_BAJAValue(const aValue: String);
    function GetCAUSA_BAJAIsNull: Boolean;
    procedure SetCAUSA_BAJAIsNull(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 FECHA_NACIMIENTO: DateTime read GetFECHA_NACIMIENTOValue write SetFECHA_NACIMIENTOValue;
    property FECHA_NACIMIENTOIsNull: Boolean read GetFECHA_NACIMIENTOIsNull write SetFECHA_NACIMIENTOIsNull;
    property CATEGORIA: String read GetCATEGORIAValue write SetCATEGORIAValue;
    property CATEGORIAIsNull: Boolean read GetCATEGORIAIsNull write SetCATEGORIAIsNull;
    property FECHA_ALTA_EMPRESA: DateTime read GetFECHA_ALTA_EMPRESAValue write SetFECHA_ALTA_EMPRESAValue;
    property FECHA_ALTA_EMPRESAIsNull: Boolean read GetFECHA_ALTA_EMPRESAIsNull write SetFECHA_ALTA_EMPRESAIsNull;
    property FORMACION_BASE: IROStrings read GetFORMACION_BASEValue;
    property FORMACION_BASEIsNull: Boolean read GetFORMACION_BASEIsNull write SetFORMACION_BASEIsNull;
    property FORMACION_COMPLE: IROStrings read GetFORMACION_COMPLEValue;
    property FORMACION_COMPLEIsNull: Boolean read GetFORMACION_COMPLEIsNull write SetFORMACION_COMPLEIsNull;
    property FORMACION_RECIBIDA: IROStrings read GetFORMACION_RECIBIDAValue;
    property FORMACION_RECIBIDAIsNull: Boolean read GetFORMACION_RECIBIDAIsNull write SetFORMACION_RECIBIDAIsNull;
    property EXPERIENCIA: IROStrings read GetEXPERIENCIAValue;
    property EXPERIENCIAIsNull: Boolean read GetEXPERIENCIAIsNull write SetEXPERIENCIAIsNull;
    property CONTRATO: String read GetCONTRATOValue write SetCONTRATOValue;
    property CONTRATOIsNull: Boolean read GetCONTRATOIsNull write SetCONTRATOIsNull;
    property DURACION: String read GetDURACIONValue write SetDURACIONValue;
    property DURACIONIsNull: Boolean read GetDURACIONIsNull write SetDURACIONIsNull;
    property FECHA_BAJA: DateTime read GetFECHA_BAJAValue write SetFECHA_BAJAValue;
    property FECHA_BAJAIsNull: Boolean read GetFECHA_BAJAIsNull write SetFECHA_BAJAIsNull;
    property CAUSA_BAJA: String read GetCAUSA_BAJAValue write SetCAUSA_BAJAValue;
    property CAUSA_BAJAIsNull: Boolean read GetCAUSA_BAJAIsNull write SetCAUSA_BAJAIsNull;
  end;

  { TEmpleadosDataTableRules }
  TEmpleadosDataTableRules = class(TIntfObjectDADataTableRules, IEmpleados)
  private
    f_NOTAS: IROStrings;
    f_FORMACION_BASE: IROStrings;
    f_FORMACION_COMPLE: IROStrings;
    f_FORMACION_RECIBIDA: IROStrings;
    f_EXPERIENCIA: IROStrings;
    procedure NOTAS_OnChange(Sender: TObject);
    procedure FORMACION_BASE_OnChange(Sender: TObject);
    procedure FORMACION_COMPLE_OnChange(Sender: TObject);
    procedure FORMACION_RECIBIDA_OnChange(Sender: TObject);
    procedure EXPERIENCIA_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 GetFECHA_NACIMIENTOValue: DateTime; virtual;
    procedure SetFECHA_NACIMIENTOValue(const aValue: DateTime); virtual;
    function GetFECHA_NACIMIENTOIsNull: Boolean; virtual;
    procedure SetFECHA_NACIMIENTOIsNull(const aValue: Boolean); virtual;
    function GetCATEGORIAValue: String; virtual;
    procedure SetCATEGORIAValue(const aValue: String); virtual;
    function GetCATEGORIAIsNull: Boolean; virtual;
    procedure SetCATEGORIAIsNull(const aValue: Boolean); virtual;
    function GetFECHA_ALTA_EMPRESAValue: DateTime; virtual;
    procedure SetFECHA_ALTA_EMPRESAValue(const aValue: DateTime); virtual;
    function GetFECHA_ALTA_EMPRESAIsNull: Boolean; virtual;
    procedure SetFECHA_ALTA_EMPRESAIsNull(const aValue: Boolean); virtual;
    function GetFORMACION_BASEValue: IROStrings; virtual;
    function GetFORMACION_BASEIsNull: Boolean; virtual;
    procedure SetFORMACION_BASEIsNull(const aValue: Boolean); virtual;
    function GetFORMACION_COMPLEValue: IROStrings; virtual;
    function GetFORMACION_COMPLEIsNull: Boolean; virtual;
    procedure SetFORMACION_COMPLEIsNull(const aValue: Boolean); virtual;
    function GetFORMACION_RECIBIDAValue: IROStrings; virtual;
    function GetFORMACION_RECIBIDAIsNull: Boolean; virtual;
    procedure SetFORMACION_RECIBIDAIsNull(const aValue: Boolean); virtual;
    function GetEXPERIENCIAValue: IROStrings; virtual;
    function GetEXPERIENCIAIsNull: Boolean; virtual;
    procedure SetEXPERIENCIAIsNull(const aValue: Boolean); virtual;
    function GetCONTRATOValue: String; virtual;
    procedure SetCONTRATOValue(const aValue: String); virtual;
    function GetCONTRATOIsNull: Boolean; virtual;
    procedure SetCONTRATOIsNull(const aValue: Boolean); virtual;
    function GetDURACIONValue: String; virtual;
    procedure SetDURACIONValue(const aValue: String); virtual;
    function GetDURACIONIsNull: Boolean; virtual;
    procedure SetDURACIONIsNull(const aValue: Boolean); virtual;
    function GetFECHA_BAJAValue: DateTime; virtual;
    procedure SetFECHA_BAJAValue(const aValue: DateTime); virtual;
    function GetFECHA_BAJAIsNull: Boolean; virtual;
    procedure SetFECHA_BAJAIsNull(const aValue: Boolean); virtual;
    function GetCAUSA_BAJAValue: String; virtual;
    procedure SetCAUSA_BAJAValue(const aValue: String); virtual;
    function GetCAUSA_BAJAIsNull: Boolean; virtual;
    procedure SetCAUSA_BAJAIsNull(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 FECHA_NACIMIENTO: DateTime read GetFECHA_NACIMIENTOValue write SetFECHA_NACIMIENTOValue;
    property FECHA_NACIMIENTOIsNull: Boolean read GetFECHA_NACIMIENTOIsNull write SetFECHA_NACIMIENTOIsNull;
    property CATEGORIA: String read GetCATEGORIAValue write SetCATEGORIAValue;
    property CATEGORIAIsNull: Boolean read GetCATEGORIAIsNull write SetCATEGORIAIsNull;
    property FECHA_ALTA_EMPRESA: DateTime read GetFECHA_ALTA_EMPRESAValue write SetFECHA_ALTA_EMPRESAValue;
    property FECHA_ALTA_EMPRESAIsNull: Boolean read GetFECHA_ALTA_EMPRESAIsNull write SetFECHA_ALTA_EMPRESAIsNull;
    property FORMACION_BASE: IROStrings read GetFORMACION_BASEValue;
    property FORMACION_BASEIsNull: Boolean read GetFORMACION_BASEIsNull write SetFORMACION_BASEIsNull;
    property FORMACION_COMPLE: IROStrings read GetFORMACION_COMPLEValue;
    property FORMACION_COMPLEIsNull: Boolean read GetFORMACION_COMPLEIsNull write SetFORMACION_COMPLEIsNull;
    property FORMACION_RECIBIDA: IROStrings read GetFORMACION_RECIBIDAValue;
    property FORMACION_RECIBIDAIsNull: Boolean read GetFORMACION_RECIBIDAIsNull write SetFORMACION_RECIBIDAIsNull;
    property EXPERIENCIA: IROStrings read GetEXPERIENCIAValue;
    property EXPERIENCIAIsNull: Boolean read GetEXPERIENCIAIsNull write SetEXPERIENCIAIsNull;
    property CONTRATO: String read GetCONTRATOValue write SetCONTRATOValue;
    property CONTRATOIsNull: Boolean read GetCONTRATOIsNull write SetCONTRATOIsNull;
    property DURACION: String read GetDURACIONValue write SetDURACIONValue;
    property DURACIONIsNull: Boolean read GetDURACIONIsNull write SetDURACIONIsNull;
    property FECHA_BAJA: DateTime read GetFECHA_BAJAValue write SetFECHA_BAJAValue;
    property FECHA_BAJAIsNull: Boolean read GetFECHA_BAJAIsNull write SetFECHA_BAJAIsNull;
    property CAUSA_BAJA: String read GetCAUSA_BAJAValue write SetCAUSA_BAJAValue;
    property CAUSA_BAJAIsNull: Boolean read GetCAUSA_BAJAIsNull write SetCAUSA_BAJAIsNull;

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

  end;

  { IDireccionesContacto }
  IDireccionesContacto = interface(IDAStronglyTypedDataTable)
  ['{A00892E0-6BE7-4A54-B211-7B2058E39FAD}']
    { 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 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 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 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 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)
  ['{4C548880-D3ED-4686-BC44-170BDBE4794F}']
    { 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;

  { IGruposProveedor }
  IGruposProveedor = interface(IDAStronglyTypedDataTable)
  ['{B1ED690F-51F7-4482-A2EC-EBD20B348D57}']
    { 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;

  { IGruposEmpleado }
  IGruposEmpleado = interface(IDAStronglyTypedDataTable)
  ['{0CF4F7AF-E9C7-4EB6-A261-FAE055291528}']
    { 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;

  { TGruposEmpleadoDataTableRules }
  TGruposEmpleadoDataTableRules = class(TIntfObjectDADataTableRules, IGruposEmpleado)
  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)
  ['{65B9A25E-F38D-4FFF-B3BE-7AB95CACFF06}']
    { 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;

  { IContratosEmpleados }
  IContratosEmpleados = interface(IDAStronglyTypedDataTable)
  ['{C71461FF-81B8-4737-A3A4-346F882232C8}']
    { Property getters and setters }
    function GetCONTRATOValue: String;
    procedure SetCONTRATOValue(const aValue: String);
    function GetCONTRATOIsNull: Boolean;
    procedure SetCONTRATOIsNull(const aValue: Boolean);


    { Properties }
    property CONTRATO: String read GetCONTRATOValue write SetCONTRATOValue;
    property CONTRATOIsNull: Boolean read GetCONTRATOIsNull write SetCONTRATOIsNull;
  end;

  { TContratosEmpleadosDataTableRules }
  TContratosEmpleadosDataTableRules = class(TIntfObjectDADataTableRules, IContratosEmpleados)
  private
  protected
    { Property getters and setters }
    function GetCONTRATOValue: String; virtual;
    procedure SetCONTRATOValue(const aValue: String); virtual;
    function GetCONTRATOIsNull: Boolean; virtual;
    procedure SetCONTRATOIsNull(const aValue: Boolean); virtual;

    { Properties }
    property CONTRATO: String read GetCONTRATOValue write SetCONTRATOValue;
    property CONTRATOIsNull: Boolean read GetCONTRATOIsNull write SetCONTRATOIsNull;

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

  end;

  { IDescripcionesProveedores }
  IDescripcionesProveedores = interface(IDAStronglyTypedDataTable)
  ['{77679B6E-99EF-4BD1-8CAA-21096036D0E1}']
    { Property getters and setters }
    function GetDESCRIPCION_PROVEEDORValue: String;
    procedure SetDESCRIPCION_PROVEEDORValue(const aValue: String);
    function GetDESCRIPCION_PROVEEDORIsNull: Boolean;
    procedure SetDESCRIPCION_PROVEEDORIsNull(const aValue: Boolean);


    { Properties }
    property DESCRIPCION_PROVEEDOR: String read GetDESCRIPCION_PROVEEDORValue write SetDESCRIPCION_PROVEEDORValue;
    property DESCRIPCION_PROVEEDORIsNull: Boolean read GetDESCRIPCION_PROVEEDORIsNull write SetDESCRIPCION_PROVEEDORIsNull;
  end;

  { TDescripcionesProveedoresDataTableRules }
  TDescripcionesProveedoresDataTableRules = class(TIntfObjectDADataTableRules, IDescripcionesProveedores)
  private
  protected
    { Property getters and setters }
    function GetDESCRIPCION_PROVEEDORValue: String; virtual;
    procedure SetDESCRIPCION_PROVEEDORValue(const aValue: String); virtual;
    function GetDESCRIPCION_PROVEEDORIsNull: Boolean; virtual;
    procedure SetDESCRIPCION_PROVEEDORIsNull(const aValue: Boolean); virtual;

    { Properties }
    property DESCRIPCION_PROVEEDOR: String read GetDESCRIPCION_PROVEEDORValue write SetDESCRIPCION_PROVEEDORValue;
    property DESCRIPCION_PROVEEDORIsNull: Boolean read GetDESCRIPCION_PROVEEDORIsNull write SetDESCRIPCION_PROVEEDORIsNull;

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

  end;

  { IPersonalContacto }
  IPersonalContacto = interface(IDAStronglyTypedDataTable)
  ['{B07C08EE-8BAC-4548-B57C-76F885326F10}']
    { 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;

  { IAgentes_Comisiones }
  IAgentes_Comisiones = interface(IDAStronglyTypedDataTable)
  ['{1396676A-6951-4D10-BF85-4D549F547492}']
    { Property getters and setters }
    function GetIDValue: Integer;
    procedure SetIDValue(const aValue: Integer);
    function GetIDIsNull: Boolean;
    procedure SetIDIsNull(const aValue: Boolean);
    function GetID_AGENTEValue: Integer;
    procedure SetID_AGENTEValue(const aValue: Integer);
    function GetID_AGENTEIsNull: Boolean;
    procedure SetID_AGENTEIsNull(const aValue: Boolean);
    function GetID_PROVEEDORValue: SmallInt;
    procedure SetID_PROVEEDORValue(const aValue: SmallInt);
    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 GetCOMISIONValue: Float;
    procedure SetCOMISIONValue(const aValue: Float);
    function GetCOMISIONIsNull: Boolean;
    procedure SetCOMISIONIsNull(const aValue: Boolean);


    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property ID_AGENTE: Integer read GetID_AGENTEValue write SetID_AGENTEValue;
    property ID_AGENTEIsNull: Boolean read GetID_AGENTEIsNull write SetID_AGENTEIsNull;
    property ID_PROVEEDOR: SmallInt 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 COMISION: Float read GetCOMISIONValue write SetCOMISIONValue;
    property COMISIONIsNull: Boolean read GetCOMISIONIsNull write SetCOMISIONIsNull;
  end;

  { TAgentes_ComisionesDataTableRules }
  TAgentes_ComisionesDataTableRules = class(TIntfObjectDADataTableRules, IAgentes_Comisiones)
  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_AGENTEValue: Integer; virtual;
    procedure SetID_AGENTEValue(const aValue: Integer); virtual;
    function GetID_AGENTEIsNull: Boolean; virtual;
    procedure SetID_AGENTEIsNull(const aValue: Boolean); virtual;
    function GetID_PROVEEDORValue: SmallInt; virtual;
    procedure SetID_PROVEEDORValue(const aValue: SmallInt); 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 GetCOMISIONValue: Float; virtual;
    procedure SetCOMISIONValue(const aValue: Float); virtual;
    function GetCOMISIONIsNull: Boolean; virtual;
    procedure SetCOMISIONIsNull(const aValue: Boolean); virtual;

    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property ID_AGENTE: Integer read GetID_AGENTEValue write SetID_AGENTEValue;
    property ID_AGENTEIsNull: Boolean read GetID_AGENTEIsNull write SetID_AGENTEIsNull;
    property ID_PROVEEDOR: SmallInt 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 COMISION: Float read GetCOMISIONValue write SetCOMISIONValue;
    property COMISIONIsNull: Boolean read GetCOMISIONIsNull write SetCOMISIONIsNull;

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

  end;

  { IAgentes }
  IAgentes = interface(IDAStronglyTypedDataTable)
  ['{0AC6B3A1-8F53-4387-9A75-AAFD330DF895}']
    { 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 GetFECHA_ALTA_EMPRESAValue: DateTime;
    procedure SetFECHA_ALTA_EMPRESAValue(const aValue: DateTime);
    function GetFECHA_ALTA_EMPRESAIsNull: Boolean;
    procedure SetFECHA_ALTA_EMPRESAIsNull(const aValue: Boolean);
    function GetFECHA_BAJAValue: DateTime;
    procedure SetFECHA_BAJAValue(const aValue: DateTime);
    function GetFECHA_BAJAIsNull: Boolean;
    procedure SetFECHA_BAJAIsNull(const aValue: Boolean);
    function GetCAUSA_BAJAValue: String;
    procedure SetCAUSA_BAJAValue(const aValue: String);
    function GetCAUSA_BAJAIsNull: Boolean;
    procedure SetCAUSA_BAJAIsNull(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 FECHA_ALTA_EMPRESA: DateTime read GetFECHA_ALTA_EMPRESAValue write SetFECHA_ALTA_EMPRESAValue;
    property FECHA_ALTA_EMPRESAIsNull: Boolean read GetFECHA_ALTA_EMPRESAIsNull write SetFECHA_ALTA_EMPRESAIsNull;
    property FECHA_BAJA: DateTime read GetFECHA_BAJAValue write SetFECHA_BAJAValue;
    property FECHA_BAJAIsNull: Boolean read GetFECHA_BAJAIsNull write SetFECHA_BAJAIsNull;
    property CAUSA_BAJA: String read GetCAUSA_BAJAValue write SetCAUSA_BAJAValue;
    property CAUSA_BAJAIsNull: Boolean read GetCAUSA_BAJAIsNull write SetCAUSA_BAJAIsNull;
  end;

  { TAgentesDataTableRules }
  TAgentesDataTableRules = class(TIntfObjectDADataTableRules, IAgentes)
  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 GetFECHA_ALTA_EMPRESAValue: DateTime; virtual;
    procedure SetFECHA_ALTA_EMPRESAValue(const aValue: DateTime); virtual;
    function GetFECHA_ALTA_EMPRESAIsNull: Boolean; virtual;
    procedure SetFECHA_ALTA_EMPRESAIsNull(const aValue: Boolean); virtual;
    function GetFECHA_BAJAValue: DateTime; virtual;
    procedure SetFECHA_BAJAValue(const aValue: DateTime); virtual;
    function GetFECHA_BAJAIsNull: Boolean; virtual;
    procedure SetFECHA_BAJAIsNull(const aValue: Boolean); virtual;
    function GetCAUSA_BAJAValue: String; virtual;
    procedure SetCAUSA_BAJAValue(const aValue: String); virtual;
    function GetCAUSA_BAJAIsNull: Boolean; virtual;
    procedure SetCAUSA_BAJAIsNull(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 FECHA_ALTA_EMPRESA: DateTime read GetFECHA_ALTA_EMPRESAValue write SetFECHA_ALTA_EMPRESAValue;
    property FECHA_ALTA_EMPRESAIsNull: Boolean read GetFECHA_ALTA_EMPRESAIsNull write SetFECHA_ALTA_EMPRESAIsNull;
    property FECHA_BAJA: DateTime read GetFECHA_BAJAValue write SetFECHA_BAJAValue;
    property FECHA_BAJAIsNull: Boolean read GetFECHA_BAJAIsNull write SetFECHA_BAJAIsNull;
    property CAUSA_BAJA: String read GetCAUSA_BAJAValue write SetCAUSA_BAJAValue;
    property CAUSA_BAJAIsNull: Boolean read GetCAUSA_BAJAIsNull write SetCAUSA_BAJAIsNull;

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

  end;

implementation

uses Variants, uROBinaryHelpers;

{ 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;


{ 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;


{ 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_AGENTEValue: Integer;
begin
  result := DataTable.Fields[idx_ClientesID_AGENTE].AsInteger;
end;

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

function TClientesDataTableRules.GetID_AGENTEIsNull: boolean;
begin
  result := DataTable.Fields[idx_ClientesID_AGENTE].IsNull;
end;

procedure TClientesDataTableRules.SetID_AGENTEIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ClientesID_AGENTE].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.GetVENCIMIENTO_FACTURAS_1Value: SmallInt;
begin
  result := DataTable.Fields[idx_ClientesVENCIMIENTO_FACTURAS_1].AsSmallInt;
end;

procedure TClientesDataTableRules.SetVENCIMIENTO_FACTURAS_1Value(const aValue: SmallInt);
begin
  DataTable.Fields[idx_ClientesVENCIMIENTO_FACTURAS_1].AsSmallInt := 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: SmallInt;
begin
  result := DataTable.Fields[idx_ClientesVENCIMIENTO_FACTURAS_2].AsSmallInt;
end;

procedure TClientesDataTableRules.SetVENCIMIENTO_FACTURAS_2Value(const aValue: SmallInt);
begin
  DataTable.Fields[idx_ClientesVENCIMIENTO_FACTURAS_2].AsSmallInt := 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: SmallInt;
begin
  result := DataTable.Fields[idx_ClientesVENCIMIENTO_FACTURAS_3].AsSmallInt;
end;

procedure TClientesDataTableRules.SetVENCIMIENTO_FACTURAS_3Value(const aValue: SmallInt);
begin
  DataTable.Fields[idx_ClientesVENCIMIENTO_FACTURAS_3].AsSmallInt := 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.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.GetAGENTEValue: String;
begin
  result := DataTable.Fields[idx_ClientesAGENTE].AsString;
end;

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

function TClientesDataTableRules.GetAGENTEIsNull: boolean;
begin
  result := DataTable.Fields[idx_ClientesAGENTE].IsNull;
end;

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

function TClientesDataTableRules.GetRAPELValue: SmallInt;
begin
  result := DataTable.Fields[idx_ClientesRAPEL].AsSmallInt;
end;

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

function TClientesDataTableRules.GetRAPELIsNull: boolean;
begin
  result := DataTable.Fields[idx_ClientesRAPEL].IsNull;
end;

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

function TClientesDataTableRules.GetEMAIL_ADMINISTRACIONValue: String;
begin
  result := DataTable.Fields[idx_ClientesEMAIL_ADMINISTRACION].AsString;
end;

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

function TClientesDataTableRules.GetEMAIL_ADMINISTRACIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_ClientesEMAIL_ADMINISTRACION].IsNull;
end;

procedure TClientesDataTableRules.SetEMAIL_ADMINISTRACIONIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ClientesEMAIL_ADMINISTRACION].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: Integer;
begin
  result := DataTable.Fields[idx_ClientesRECARGO_EQUIVALENCIA].AsInteger;
end;

procedure TClientesDataTableRules.SetRECARGO_EQUIVALENCIAValue(const aValue: Integer);
begin
  DataTable.Fields[idx_ClientesRECARGO_EQUIVALENCIA].AsInteger := 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.GetDESCUENTOValue: Float;
begin
  result := DataTable.Fields[idx_ClientesDESCUENTO].AsFloat;
end;

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

function TClientesDataTableRules.GetDESCUENTOIsNull: boolean;
begin
  result := DataTable.Fields[idx_ClientesDESCUENTO].IsNull;
end;

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

function TClientesDataTableRules.GetFELICITACIONValue: SmallInt;
begin
  result := DataTable.Fields[idx_ClientesFELICITACION].AsSmallInt;
end;

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

function TClientesDataTableRules.GetFELICITACIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_ClientesFELICITACION].IsNull;
end;

procedure TClientesDataTableRules.SetFELICITACIONIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ClientesFELICITACION].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.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.GetSUBCONTRATAValue: SmallInt;
begin
  result := DataTable.Fields[idx_ProveedoresSUBCONTRATA].AsSmallInt;
end;

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

function TProveedoresDataTableRules.GetSUBCONTRATAIsNull: boolean;
begin
  result := DataTable.Fields[idx_ProveedoresSUBCONTRATA].IsNull;
end;

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

function TProveedoresDataTableRules.GetEMAIL_ADMINISTRACIONValue: String;
begin
  result := DataTable.Fields[idx_ProveedoresEMAIL_ADMINISTRACION].AsString;
end;

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

function TProveedoresDataTableRules.GetEMAIL_ADMINISTRACIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_ProveedoresEMAIL_ADMINISTRACION].IsNull;
end;

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

function TProveedoresDataTableRules.GetVENCIMIENTO_FACTURAS_1Value: SmallInt;
begin
  result := DataTable.Fields[idx_ProveedoresVENCIMIENTO_FACTURAS_1].AsSmallInt;
end;

procedure TProveedoresDataTableRules.SetVENCIMIENTO_FACTURAS_1Value(const aValue: SmallInt);
begin
  DataTable.Fields[idx_ProveedoresVENCIMIENTO_FACTURAS_1].AsSmallInt := 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: SmallInt;
begin
  result := DataTable.Fields[idx_ProveedoresVENCIMIENTO_FACTURAS_2].AsSmallInt;
end;

procedure TProveedoresDataTableRules.SetVENCIMIENTO_FACTURAS_2Value(const aValue: SmallInt);
begin
  DataTable.Fields[idx_ProveedoresVENCIMIENTO_FACTURAS_2].AsSmallInt := 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: SmallInt;
begin
  result := DataTable.Fields[idx_ProveedoresVENCIMIENTO_FACTURAS_3].AsSmallInt;
end;

procedure TProveedoresDataTableRules.SetVENCIMIENTO_FACTURAS_3Value(const aValue: SmallInt);
begin
  DataTable.Fields[idx_ProveedoresVENCIMIENTO_FACTURAS_3].AsSmallInt := 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;


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

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

  StrList := TStringList.Create;
  StrList.OnChange := FORMACION_BASE_OnChange;
  f_FORMACION_BASE := NewROStrings(StrList,True);

  StrList := TStringList.Create;
  StrList.OnChange := FORMACION_COMPLE_OnChange;
  f_FORMACION_COMPLE := NewROStrings(StrList,True);

  StrList := TStringList.Create;
  StrList.OnChange := FORMACION_RECIBIDA_OnChange;
  f_FORMACION_RECIBIDA := NewROStrings(StrList,True);

  StrList := TStringList.Create;
  StrList.OnChange := EXPERIENCIA_OnChange;
  f_EXPERIENCIA := NewROStrings(StrList,True);
end;

destructor TEmpleadosDataTableRules.Destroy;
begin
  inherited;
end;

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

procedure TEmpleadosDataTableRules.FORMACION_BASE_OnChange(Sender: TObject);
begin
  if DataTable.Editing then DataTable.Fields[idx_EmpleadosFORMACION_BASE].AsVariant := TStringList(Sender).Text;
end;

procedure TEmpleadosDataTableRules.FORMACION_COMPLE_OnChange(Sender: TObject);
begin
  if DataTable.Editing then DataTable.Fields[idx_EmpleadosFORMACION_COMPLE].AsVariant := TStringList(Sender).Text;
end;

procedure TEmpleadosDataTableRules.FORMACION_RECIBIDA_OnChange(Sender: TObject);
begin
  if DataTable.Editing then DataTable.Fields[idx_EmpleadosFORMACION_RECIBIDA].AsVariant := TStringList(Sender).Text;
end;

procedure TEmpleadosDataTableRules.EXPERIENCIA_OnChange(Sender: TObject);
begin
  if DataTable.Editing then DataTable.Fields[idx_EmpleadosEXPERIENCIA].AsVariant := TStringList(Sender).Text;
end;

function TEmpleadosDataTableRules.GetIDValue: Integer;
begin
  result := DataTable.Fields[idx_EmpleadosID].AsInteger;
end;

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

function TEmpleadosDataTableRules.GetIDIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpleadosID].IsNull;
end;

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

function TEmpleadosDataTableRules.GetID_CATEGORIAValue: Integer;
begin
  result := DataTable.Fields[idx_EmpleadosID_CATEGORIA].AsInteger;
end;

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

function TEmpleadosDataTableRules.GetID_CATEGORIAIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpleadosID_CATEGORIA].IsNull;
end;

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

function TEmpleadosDataTableRules.GetNIF_CIFValue: String;
begin
  result := DataTable.Fields[idx_EmpleadosNIF_CIF].AsString;
end;

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

function TEmpleadosDataTableRules.GetNIF_CIFIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpleadosNIF_CIF].IsNull;
end;

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

function TEmpleadosDataTableRules.GetNOMBREValue: String;
begin
  result := DataTable.Fields[idx_EmpleadosNOMBRE].AsString;
end;

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

function TEmpleadosDataTableRules.GetNOMBREIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpleadosNOMBRE].IsNull;
end;

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

function TEmpleadosDataTableRules.GetPERSONA_CONTACTOValue: String;
begin
  result := DataTable.Fields[idx_EmpleadosPERSONA_CONTACTO].AsString;
end;

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

function TEmpleadosDataTableRules.GetPERSONA_CONTACTOIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpleadosPERSONA_CONTACTO].IsNull;
end;

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

function TEmpleadosDataTableRules.GetCALLEValue: String;
begin
  result := DataTable.Fields[idx_EmpleadosCALLE].AsString;
end;

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

function TEmpleadosDataTableRules.GetCALLEIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpleadosCALLE].IsNull;
end;

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

function TEmpleadosDataTableRules.GetPOBLACIONValue: String;
begin
  result := DataTable.Fields[idx_EmpleadosPOBLACION].AsString;
end;

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

function TEmpleadosDataTableRules.GetPOBLACIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpleadosPOBLACION].IsNull;
end;

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

function TEmpleadosDataTableRules.GetPROVINCIAValue: String;
begin
  result := DataTable.Fields[idx_EmpleadosPROVINCIA].AsString;
end;

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

function TEmpleadosDataTableRules.GetPROVINCIAIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpleadosPROVINCIA].IsNull;
end;

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

function TEmpleadosDataTableRules.GetCODIGO_POSTALValue: String;
begin
  result := DataTable.Fields[idx_EmpleadosCODIGO_POSTAL].AsString;
end;

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

function TEmpleadosDataTableRules.GetCODIGO_POSTALIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpleadosCODIGO_POSTAL].IsNull;
end;

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

function TEmpleadosDataTableRules.GetTELEFONO_1Value: String;
begin
  result := DataTable.Fields[idx_EmpleadosTELEFONO_1].AsString;
end;

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

function TEmpleadosDataTableRules.GetTELEFONO_1IsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpleadosTELEFONO_1].IsNull;
end;

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

function TEmpleadosDataTableRules.GetTELEFONO_2Value: String;
begin
  result := DataTable.Fields[idx_EmpleadosTELEFONO_2].AsString;
end;

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

function TEmpleadosDataTableRules.GetTELEFONO_2IsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpleadosTELEFONO_2].IsNull;
end;

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

function TEmpleadosDataTableRules.GetMOVIL_1Value: String;
begin
  result := DataTable.Fields[idx_EmpleadosMOVIL_1].AsString;
end;

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

function TEmpleadosDataTableRules.GetMOVIL_1IsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpleadosMOVIL_1].IsNull;
end;

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

function TEmpleadosDataTableRules.GetMOVIL_2Value: String;
begin
  result := DataTable.Fields[idx_EmpleadosMOVIL_2].AsString;
end;

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

function TEmpleadosDataTableRules.GetMOVIL_2IsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpleadosMOVIL_2].IsNull;
end;

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

function TEmpleadosDataTableRules.GetFAXValue: String;
begin
  result := DataTable.Fields[idx_EmpleadosFAX].AsString;
end;

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

function TEmpleadosDataTableRules.GetFAXIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpleadosFAX].IsNull;
end;

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

function TEmpleadosDataTableRules.GetEMAIL_1Value: String;
begin
  result := DataTable.Fields[idx_EmpleadosEMAIL_1].AsString;
end;

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

function TEmpleadosDataTableRules.GetEMAIL_1IsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpleadosEMAIL_1].IsNull;
end;

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

function TEmpleadosDataTableRules.GetEMAIL_2Value: String;
begin
  result := DataTable.Fields[idx_EmpleadosEMAIL_2].AsString;
end;

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

function TEmpleadosDataTableRules.GetEMAIL_2IsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpleadosEMAIL_2].IsNull;
end;

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

function TEmpleadosDataTableRules.GetPAGINA_WEBValue: String;
begin
  result := DataTable.Fields[idx_EmpleadosPAGINA_WEB].AsString;
end;

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

function TEmpleadosDataTableRules.GetPAGINA_WEBIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpleadosPAGINA_WEB].IsNull;
end;

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

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

function TEmpleadosDataTableRules.GetNOTASIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpleadosNOTAS].IsNull;
end;

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

function TEmpleadosDataTableRules.GetFECHA_ALTAValue: DateTime;
begin
  result := DataTable.Fields[idx_EmpleadosFECHA_ALTA].AsDateTime;
end;

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

function TEmpleadosDataTableRules.GetFECHA_ALTAIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpleadosFECHA_ALTA].IsNull;
end;

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

function TEmpleadosDataTableRules.GetFECHA_MODIFICACIONValue: DateTime;
begin
  result := DataTable.Fields[idx_EmpleadosFECHA_MODIFICACION].AsDateTime;
end;

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

function TEmpleadosDataTableRules.GetFECHA_MODIFICACIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpleadosFECHA_MODIFICACION].IsNull;
end;

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

function TEmpleadosDataTableRules.GetUSUARIOValue: String;
begin
  result := DataTable.Fields[idx_EmpleadosUSUARIO].AsString;
end;

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

function TEmpleadosDataTableRules.GetUSUARIOIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpleadosUSUARIO].IsNull;
end;

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

function TEmpleadosDataTableRules.GetID_EMPRESAValue: Integer;
begin
  result := DataTable.Fields[idx_EmpleadosID_EMPRESA].AsInteger;
end;

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

function TEmpleadosDataTableRules.GetID_EMPRESAIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpleadosID_EMPRESA].IsNull;
end;

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

function TEmpleadosDataTableRules.GetREFERENCIAValue: String;
begin
  result := DataTable.Fields[idx_EmpleadosREFERENCIA].AsString;
end;

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

function TEmpleadosDataTableRules.GetREFERENCIAIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpleadosREFERENCIA].IsNull;
end;

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

function TEmpleadosDataTableRules.GetFECHA_NACIMIENTOValue: DateTime;
begin
  result := DataTable.Fields[idx_EmpleadosFECHA_NACIMIENTO].AsDateTime;
end;

procedure TEmpleadosDataTableRules.SetFECHA_NACIMIENTOValue(const aValue: DateTime);
begin
  DataTable.Fields[idx_EmpleadosFECHA_NACIMIENTO].AsDateTime := aValue;
end;

function TEmpleadosDataTableRules.GetFECHA_NACIMIENTOIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpleadosFECHA_NACIMIENTO].IsNull;
end;

procedure TEmpleadosDataTableRules.SetFECHA_NACIMIENTOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_EmpleadosFECHA_NACIMIENTO].AsVariant := Null;
end;

function TEmpleadosDataTableRules.GetCATEGORIAValue: String;
begin
  result := DataTable.Fields[idx_EmpleadosCATEGORIA].AsString;
end;

procedure TEmpleadosDataTableRules.SetCATEGORIAValue(const aValue: String);
begin
  DataTable.Fields[idx_EmpleadosCATEGORIA].AsString := aValue;
end;

function TEmpleadosDataTableRules.GetCATEGORIAIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpleadosCATEGORIA].IsNull;
end;

procedure TEmpleadosDataTableRules.SetCATEGORIAIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_EmpleadosCATEGORIA].AsVariant := Null;
end;

function TEmpleadosDataTableRules.GetFECHA_ALTA_EMPRESAValue: DateTime;
begin
  result := DataTable.Fields[idx_EmpleadosFECHA_ALTA_EMPRESA].AsDateTime;
end;

procedure TEmpleadosDataTableRules.SetFECHA_ALTA_EMPRESAValue(const aValue: DateTime);
begin
  DataTable.Fields[idx_EmpleadosFECHA_ALTA_EMPRESA].AsDateTime := aValue;
end;

function TEmpleadosDataTableRules.GetFECHA_ALTA_EMPRESAIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpleadosFECHA_ALTA_EMPRESA].IsNull;
end;

procedure TEmpleadosDataTableRules.SetFECHA_ALTA_EMPRESAIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_EmpleadosFECHA_ALTA_EMPRESA].AsVariant := Null;
end;

function TEmpleadosDataTableRules.GetFORMACION_BASEValue: IROStrings;
begin
  result := f_FORMACION_BASE;
  result.Text := DataTable.Fields[idx_EmpleadosFORMACION_BASE].AsString;
end;

function TEmpleadosDataTableRules.GetFORMACION_BASEIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpleadosFORMACION_BASE].IsNull;
end;

procedure TEmpleadosDataTableRules.SetFORMACION_BASEIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_EmpleadosFORMACION_BASE].AsVariant := Null;
end;

function TEmpleadosDataTableRules.GetFORMACION_COMPLEValue: IROStrings;
begin
  result := f_FORMACION_COMPLE;
  result.Text := DataTable.Fields[idx_EmpleadosFORMACION_COMPLE].AsString;
end;

function TEmpleadosDataTableRules.GetFORMACION_COMPLEIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpleadosFORMACION_COMPLE].IsNull;
end;

procedure TEmpleadosDataTableRules.SetFORMACION_COMPLEIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_EmpleadosFORMACION_COMPLE].AsVariant := Null;
end;

function TEmpleadosDataTableRules.GetFORMACION_RECIBIDAValue: IROStrings;
begin
  result := f_FORMACION_RECIBIDA;
  result.Text := DataTable.Fields[idx_EmpleadosFORMACION_RECIBIDA].AsString;
end;

function TEmpleadosDataTableRules.GetFORMACION_RECIBIDAIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpleadosFORMACION_RECIBIDA].IsNull;
end;

procedure TEmpleadosDataTableRules.SetFORMACION_RECIBIDAIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_EmpleadosFORMACION_RECIBIDA].AsVariant := Null;
end;

function TEmpleadosDataTableRules.GetEXPERIENCIAValue: IROStrings;
begin
  result := f_EXPERIENCIA;
  result.Text := DataTable.Fields[idx_EmpleadosEXPERIENCIA].AsString;
end;

function TEmpleadosDataTableRules.GetEXPERIENCIAIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpleadosEXPERIENCIA].IsNull;
end;

procedure TEmpleadosDataTableRules.SetEXPERIENCIAIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_EmpleadosEXPERIENCIA].AsVariant := Null;
end;

function TEmpleadosDataTableRules.GetCONTRATOValue: String;
begin
  result := DataTable.Fields[idx_EmpleadosCONTRATO].AsString;
end;

procedure TEmpleadosDataTableRules.SetCONTRATOValue(const aValue: String);
begin
  DataTable.Fields[idx_EmpleadosCONTRATO].AsString := aValue;
end;

function TEmpleadosDataTableRules.GetCONTRATOIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpleadosCONTRATO].IsNull;
end;

procedure TEmpleadosDataTableRules.SetCONTRATOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_EmpleadosCONTRATO].AsVariant := Null;
end;

function TEmpleadosDataTableRules.GetDURACIONValue: String;
begin
  result := DataTable.Fields[idx_EmpleadosDURACION].AsString;
end;

procedure TEmpleadosDataTableRules.SetDURACIONValue(const aValue: String);
begin
  DataTable.Fields[idx_EmpleadosDURACION].AsString := aValue;
end;

function TEmpleadosDataTableRules.GetDURACIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpleadosDURACION].IsNull;
end;

procedure TEmpleadosDataTableRules.SetDURACIONIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_EmpleadosDURACION].AsVariant := Null;
end;

function TEmpleadosDataTableRules.GetFECHA_BAJAValue: DateTime;
begin
  result := DataTable.Fields[idx_EmpleadosFECHA_BAJA].AsDateTime;
end;

procedure TEmpleadosDataTableRules.SetFECHA_BAJAValue(const aValue: DateTime);
begin
  DataTable.Fields[idx_EmpleadosFECHA_BAJA].AsDateTime := aValue;
end;

function TEmpleadosDataTableRules.GetFECHA_BAJAIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpleadosFECHA_BAJA].IsNull;
end;

procedure TEmpleadosDataTableRules.SetFECHA_BAJAIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_EmpleadosFECHA_BAJA].AsVariant := Null;
end;

function TEmpleadosDataTableRules.GetCAUSA_BAJAValue: String;
begin
  result := DataTable.Fields[idx_EmpleadosCAUSA_BAJA].AsString;
end;

procedure TEmpleadosDataTableRules.SetCAUSA_BAJAValue(const aValue: String);
begin
  DataTable.Fields[idx_EmpleadosCAUSA_BAJA].AsString := aValue;
end;

function TEmpleadosDataTableRules.GetCAUSA_BAJAIsNull: boolean;
begin
  result := DataTable.Fields[idx_EmpleadosCAUSA_BAJA].IsNull;
end;

procedure TEmpleadosDataTableRules.SetCAUSA_BAJAIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_EmpleadosCAUSA_BAJA].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.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;


{ 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;


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

destructor TGruposEmpleadoDataTableRules.Destroy;
begin
  inherited;
end;

function TGruposEmpleadoDataTableRules.GetIDValue: Integer;
begin
  result := DataTable.Fields[idx_GruposEmpleadoID].AsInteger;
end;

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

function TGruposEmpleadoDataTableRules.GetIDIsNull: boolean;
begin
  result := DataTable.Fields[idx_GruposEmpleadoID].IsNull;
end;

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

function TGruposEmpleadoDataTableRules.GetDESCRIPCIONValue: String;
begin
  result := DataTable.Fields[idx_GruposEmpleadoDESCRIPCION].AsString;
end;

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

function TGruposEmpleadoDataTableRules.GetDESCRIPCIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_GruposEmpleadoDESCRIPCION].IsNull;
end;

procedure TGruposEmpleadoDataTableRules.SetDESCRIPCIONIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_GruposEmpleadoDESCRIPCION].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;


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

destructor TContratosEmpleadosDataTableRules.Destroy;
begin
  inherited;
end;

function TContratosEmpleadosDataTableRules.GetCONTRATOValue: String;
begin
  result := DataTable.Fields[idx_ContratosEmpleadosCONTRATO].AsString;
end;

procedure TContratosEmpleadosDataTableRules.SetCONTRATOValue(const aValue: String);
begin
  DataTable.Fields[idx_ContratosEmpleadosCONTRATO].AsString := aValue;
end;

function TContratosEmpleadosDataTableRules.GetCONTRATOIsNull: boolean;
begin
  result := DataTable.Fields[idx_ContratosEmpleadosCONTRATO].IsNull;
end;

procedure TContratosEmpleadosDataTableRules.SetCONTRATOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ContratosEmpleadosCONTRATO].AsVariant := Null;
end;


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

destructor TDescripcionesProveedoresDataTableRules.Destroy;
begin
  inherited;
end;

function TDescripcionesProveedoresDataTableRules.GetDESCRIPCION_PROVEEDORValue: String;
begin
  result := DataTable.Fields[idx_DescripcionesProveedoresDESCRIPCION_PROVEEDOR].AsString;
end;

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

function TDescripcionesProveedoresDataTableRules.GetDESCRIPCION_PROVEEDORIsNull: boolean;
begin
  result := DataTable.Fields[idx_DescripcionesProveedoresDESCRIPCION_PROVEEDOR].IsNull;
end;

procedure TDescripcionesProveedoresDataTableRules.SetDESCRIPCION_PROVEEDORIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_DescripcionesProveedoresDESCRIPCION_PROVEEDOR].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;


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

destructor TAgentes_ComisionesDataTableRules.Destroy;
begin
  inherited;
end;

function TAgentes_ComisionesDataTableRules.GetIDValue: Integer;
begin
  result := DataTable.Fields[idx_Agentes_ComisionesID].AsInteger;
end;

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

function TAgentes_ComisionesDataTableRules.GetIDIsNull: boolean;
begin
  result := DataTable.Fields[idx_Agentes_ComisionesID].IsNull;
end;

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

function TAgentes_ComisionesDataTableRules.GetID_AGENTEValue: Integer;
begin
  result := DataTable.Fields[idx_Agentes_ComisionesID_AGENTE].AsInteger;
end;

procedure TAgentes_ComisionesDataTableRules.SetID_AGENTEValue(const aValue: Integer);
begin
  DataTable.Fields[idx_Agentes_ComisionesID_AGENTE].AsInteger := aValue;
end;

function TAgentes_ComisionesDataTableRules.GetID_AGENTEIsNull: boolean;
begin
  result := DataTable.Fields[idx_Agentes_ComisionesID_AGENTE].IsNull;
end;

procedure TAgentes_ComisionesDataTableRules.SetID_AGENTEIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_Agentes_ComisionesID_AGENTE].AsVariant := Null;
end;

function TAgentes_ComisionesDataTableRules.GetID_PROVEEDORValue: SmallInt;
begin
  result := DataTable.Fields[idx_Agentes_ComisionesID_PROVEEDOR].AsSmallInt;
end;

procedure TAgentes_ComisionesDataTableRules.SetID_PROVEEDORValue(const aValue: SmallInt);
begin
  DataTable.Fields[idx_Agentes_ComisionesID_PROVEEDOR].AsSmallInt := aValue;
end;

function TAgentes_ComisionesDataTableRules.GetID_PROVEEDORIsNull: boolean;
begin
  result := DataTable.Fields[idx_Agentes_ComisionesID_PROVEEDOR].IsNull;
end;

procedure TAgentes_ComisionesDataTableRules.SetID_PROVEEDORIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_Agentes_ComisionesID_PROVEEDOR].AsVariant := Null;
end;

function TAgentes_ComisionesDataTableRules.GetNOMBREValue: String;
begin
  result := DataTable.Fields[idx_Agentes_ComisionesNOMBRE].AsString;
end;

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

function TAgentes_ComisionesDataTableRules.GetNOMBREIsNull: boolean;
begin
  result := DataTable.Fields[idx_Agentes_ComisionesNOMBRE].IsNull;
end;

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

function TAgentes_ComisionesDataTableRules.GetCOMISIONValue: Float;
begin
  result := DataTable.Fields[idx_Agentes_ComisionesCOMISION].AsFloat;
end;

procedure TAgentes_ComisionesDataTableRules.SetCOMISIONValue(const aValue: Float);
begin
  DataTable.Fields[idx_Agentes_ComisionesCOMISION].AsFloat := aValue;
end;

function TAgentes_ComisionesDataTableRules.GetCOMISIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_Agentes_ComisionesCOMISION].IsNull;
end;

procedure TAgentes_ComisionesDataTableRules.SetCOMISIONIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_Agentes_ComisionesCOMISION].AsVariant := Null;
end;


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

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

destructor TAgentesDataTableRules.Destroy;
begin
  inherited;
end;

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

function TAgentesDataTableRules.GetIDValue: Integer;
begin
  result := DataTable.Fields[idx_AgentesID].AsInteger;
end;

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

function TAgentesDataTableRules.GetIDIsNull: boolean;
begin
  result := DataTable.Fields[idx_AgentesID].IsNull;
end;

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

function TAgentesDataTableRules.GetID_CATEGORIAValue: Integer;
begin
  result := DataTable.Fields[idx_AgentesID_CATEGORIA].AsInteger;
end;

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

function TAgentesDataTableRules.GetID_CATEGORIAIsNull: boolean;
begin
  result := DataTable.Fields[idx_AgentesID_CATEGORIA].IsNull;
end;

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

function TAgentesDataTableRules.GetNIF_CIFValue: String;
begin
  result := DataTable.Fields[idx_AgentesNIF_CIF].AsString;
end;

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

function TAgentesDataTableRules.GetNIF_CIFIsNull: boolean;
begin
  result := DataTable.Fields[idx_AgentesNIF_CIF].IsNull;
end;

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

function TAgentesDataTableRules.GetNOMBREValue: String;
begin
  result := DataTable.Fields[idx_AgentesNOMBRE].AsString;
end;

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

function TAgentesDataTableRules.GetNOMBREIsNull: boolean;
begin
  result := DataTable.Fields[idx_AgentesNOMBRE].IsNull;
end;

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

function TAgentesDataTableRules.GetPERSONA_CONTACTOValue: String;
begin
  result := DataTable.Fields[idx_AgentesPERSONA_CONTACTO].AsString;
end;

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

function TAgentesDataTableRules.GetPERSONA_CONTACTOIsNull: boolean;
begin
  result := DataTable.Fields[idx_AgentesPERSONA_CONTACTO].IsNull;
end;

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

function TAgentesDataTableRules.GetCALLEValue: String;
begin
  result := DataTable.Fields[idx_AgentesCALLE].AsString;
end;

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

function TAgentesDataTableRules.GetCALLEIsNull: boolean;
begin
  result := DataTable.Fields[idx_AgentesCALLE].IsNull;
end;

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

function TAgentesDataTableRules.GetPOBLACIONValue: String;
begin
  result := DataTable.Fields[idx_AgentesPOBLACION].AsString;
end;

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

function TAgentesDataTableRules.GetPOBLACIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_AgentesPOBLACION].IsNull;
end;

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

function TAgentesDataTableRules.GetPROVINCIAValue: String;
begin
  result := DataTable.Fields[idx_AgentesPROVINCIA].AsString;
end;

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

function TAgentesDataTableRules.GetPROVINCIAIsNull: boolean;
begin
  result := DataTable.Fields[idx_AgentesPROVINCIA].IsNull;
end;

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

function TAgentesDataTableRules.GetCODIGO_POSTALValue: String;
begin
  result := DataTable.Fields[idx_AgentesCODIGO_POSTAL].AsString;
end;

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

function TAgentesDataTableRules.GetCODIGO_POSTALIsNull: boolean;
begin
  result := DataTable.Fields[idx_AgentesCODIGO_POSTAL].IsNull;
end;

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

function TAgentesDataTableRules.GetTELEFONO_1Value: String;
begin
  result := DataTable.Fields[idx_AgentesTELEFONO_1].AsString;
end;

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

function TAgentesDataTableRules.GetTELEFONO_1IsNull: boolean;
begin
  result := DataTable.Fields[idx_AgentesTELEFONO_1].IsNull;
end;

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

function TAgentesDataTableRules.GetTELEFONO_2Value: String;
begin
  result := DataTable.Fields[idx_AgentesTELEFONO_2].AsString;
end;

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

function TAgentesDataTableRules.GetTELEFONO_2IsNull: boolean;
begin
  result := DataTable.Fields[idx_AgentesTELEFONO_2].IsNull;
end;

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

function TAgentesDataTableRules.GetMOVIL_1Value: String;
begin
  result := DataTable.Fields[idx_AgentesMOVIL_1].AsString;
end;

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

function TAgentesDataTableRules.GetMOVIL_1IsNull: boolean;
begin
  result := DataTable.Fields[idx_AgentesMOVIL_1].IsNull;
end;

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

function TAgentesDataTableRules.GetMOVIL_2Value: String;
begin
  result := DataTable.Fields[idx_AgentesMOVIL_2].AsString;
end;

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

function TAgentesDataTableRules.GetMOVIL_2IsNull: boolean;
begin
  result := DataTable.Fields[idx_AgentesMOVIL_2].IsNull;
end;

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

function TAgentesDataTableRules.GetFAXValue: String;
begin
  result := DataTable.Fields[idx_AgentesFAX].AsString;
end;

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

function TAgentesDataTableRules.GetFAXIsNull: boolean;
begin
  result := DataTable.Fields[idx_AgentesFAX].IsNull;
end;

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

function TAgentesDataTableRules.GetEMAIL_1Value: String;
begin
  result := DataTable.Fields[idx_AgentesEMAIL_1].AsString;
end;

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

function TAgentesDataTableRules.GetEMAIL_1IsNull: boolean;
begin
  result := DataTable.Fields[idx_AgentesEMAIL_1].IsNull;
end;

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

function TAgentesDataTableRules.GetEMAIL_2Value: String;
begin
  result := DataTable.Fields[idx_AgentesEMAIL_2].AsString;
end;

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

function TAgentesDataTableRules.GetEMAIL_2IsNull: boolean;
begin
  result := DataTable.Fields[idx_AgentesEMAIL_2].IsNull;
end;

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

function TAgentesDataTableRules.GetPAGINA_WEBValue: String;
begin
  result := DataTable.Fields[idx_AgentesPAGINA_WEB].AsString;
end;

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

function TAgentesDataTableRules.GetPAGINA_WEBIsNull: boolean;
begin
  result := DataTable.Fields[idx_AgentesPAGINA_WEB].IsNull;
end;

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

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

function TAgentesDataTableRules.GetNOTASIsNull: boolean;
begin
  result := DataTable.Fields[idx_AgentesNOTAS].IsNull;
end;

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

function TAgentesDataTableRules.GetFECHA_ALTAValue: DateTime;
begin
  result := DataTable.Fields[idx_AgentesFECHA_ALTA].AsDateTime;
end;

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

function TAgentesDataTableRules.GetFECHA_ALTAIsNull: boolean;
begin
  result := DataTable.Fields[idx_AgentesFECHA_ALTA].IsNull;
end;

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

function TAgentesDataTableRules.GetFECHA_MODIFICACIONValue: DateTime;
begin
  result := DataTable.Fields[idx_AgentesFECHA_MODIFICACION].AsDateTime;
end;

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

function TAgentesDataTableRules.GetFECHA_MODIFICACIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_AgentesFECHA_MODIFICACION].IsNull;
end;

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

function TAgentesDataTableRules.GetUSUARIOValue: String;
begin
  result := DataTable.Fields[idx_AgentesUSUARIO].AsString;
end;

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

function TAgentesDataTableRules.GetUSUARIOIsNull: boolean;
begin
  result := DataTable.Fields[idx_AgentesUSUARIO].IsNull;
end;

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

function TAgentesDataTableRules.GetID_EMPRESAValue: Integer;
begin
  result := DataTable.Fields[idx_AgentesID_EMPRESA].AsInteger;
end;

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

function TAgentesDataTableRules.GetID_EMPRESAIsNull: boolean;
begin
  result := DataTable.Fields[idx_AgentesID_EMPRESA].IsNull;
end;

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

function TAgentesDataTableRules.GetREFERENCIAValue: String;
begin
  result := DataTable.Fields[idx_AgentesREFERENCIA].AsString;
end;

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

function TAgentesDataTableRules.GetREFERENCIAIsNull: boolean;
begin
  result := DataTable.Fields[idx_AgentesREFERENCIA].IsNull;
end;

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

function TAgentesDataTableRules.GetFECHA_ALTA_EMPRESAValue: DateTime;
begin
  result := DataTable.Fields[idx_AgentesFECHA_ALTA_EMPRESA].AsDateTime;
end;

procedure TAgentesDataTableRules.SetFECHA_ALTA_EMPRESAValue(const aValue: DateTime);
begin
  DataTable.Fields[idx_AgentesFECHA_ALTA_EMPRESA].AsDateTime := aValue;
end;

function TAgentesDataTableRules.GetFECHA_ALTA_EMPRESAIsNull: boolean;
begin
  result := DataTable.Fields[idx_AgentesFECHA_ALTA_EMPRESA].IsNull;
end;

procedure TAgentesDataTableRules.SetFECHA_ALTA_EMPRESAIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_AgentesFECHA_ALTA_EMPRESA].AsVariant := Null;
end;

function TAgentesDataTableRules.GetFECHA_BAJAValue: DateTime;
begin
  result := DataTable.Fields[idx_AgentesFECHA_BAJA].AsDateTime;
end;

procedure TAgentesDataTableRules.SetFECHA_BAJAValue(const aValue: DateTime);
begin
  DataTable.Fields[idx_AgentesFECHA_BAJA].AsDateTime := aValue;
end;

function TAgentesDataTableRules.GetFECHA_BAJAIsNull: boolean;
begin
  result := DataTable.Fields[idx_AgentesFECHA_BAJA].IsNull;
end;

procedure TAgentesDataTableRules.SetFECHA_BAJAIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_AgentesFECHA_BAJA].AsVariant := Null;
end;

function TAgentesDataTableRules.GetCAUSA_BAJAValue: String;
begin
  result := DataTable.Fields[idx_AgentesCAUSA_BAJA].AsString;
end;

procedure TAgentesDataTableRules.SetCAUSA_BAJAValue(const aValue: String);
begin
  DataTable.Fields[idx_AgentesCAUSA_BAJA].AsString := aValue;
end;

function TAgentesDataTableRules.GetCAUSA_BAJAIsNull: boolean;
begin
  result := DataTable.Fields[idx_AgentesCAUSA_BAJA].IsNull;
end;

procedure TAgentesDataTableRules.SetCAUSA_BAJAIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_AgentesCAUSA_BAJA].AsVariant := Null;
end;


initialization
  RegisterDataTableRules(RID_Contactos, TContactosDataTableRules);
  RegisterDataTableRules(RID_GruposCliente, TGruposClienteDataTableRules);
  RegisterDataTableRules(RID_DatosBancarios, TDatosBancariosDataTableRules);
  RegisterDataTableRules(RID_Clientes, TClientesDataTableRules);
  RegisterDataTableRules(RID_Proveedores, TProveedoresDataTableRules);
  RegisterDataTableRules(RID_Empleados, TEmpleadosDataTableRules);
  RegisterDataTableRules(RID_DireccionesContacto, TDireccionesContactoDataTableRules);
  RegisterDataTableRules(RID_ClientesDescuentos, TClientesDescuentosDataTableRules);
  RegisterDataTableRules(RID_GruposProveedor, TGruposProveedorDataTableRules);
  RegisterDataTableRules(RID_GruposEmpleado, TGruposEmpleadoDataTableRules);
  RegisterDataTableRules(RID_Contactos_Refresh, TContactos_RefreshDataTableRules);
  RegisterDataTableRules(RID_ContratosEmpleados, TContratosEmpleadosDataTableRules);
  RegisterDataTableRules(RID_DescripcionesProveedores, TDescripcionesProveedoresDataTableRules);
  RegisterDataTableRules(RID_PersonalContacto, TPersonalContactoDataTableRules);
  RegisterDataTableRules(RID_Agentes_Comisiones, TAgentes_ComisionesDataTableRules);
  RegisterDataTableRules(RID_Agentes, TAgentesDataTableRules);

end.
