unit schAlbaranesClienteClient_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_ListaAnosAlbaranes = '{2224E19A-A756-4D53-A9A2-AE15DDCA1389}';
  RID_AlbaranesCliente = '{39ACA339-8ED0-4BED-96CB-9D7B3A678CD0}';
  RID_AlbaranesCliente_Detalles = '{B0DB47EE-16AB-4EF3-A31F-B80938F282C1}';

  { Data table names }
  nme_ListaAnosAlbaranes = 'ListaAnosAlbaranes';
  nme_AlbaranesCliente = 'AlbaranesCliente';
  nme_AlbaranesCliente_Detalles = 'AlbaranesCliente_Detalles';

  { ListaAnosAlbaranes fields }
  fld_ListaAnosAlbaranesANO = 'ANO';

  { ListaAnosAlbaranes field indexes }
  idx_ListaAnosAlbaranesANO = 0;

  { AlbaranesCliente fields }
  fld_AlbaranesClienteID = 'ID';
  fld_AlbaranesClienteID_EMPRESA = 'ID_EMPRESA';
  fld_AlbaranesClienteID_CLIENTE = 'ID_CLIENTE';
  fld_AlbaranesClienteNOMBRE = 'NOMBRE';
  fld_AlbaranesClienteFECHA_ALBARAN = 'FECHA_ALBARAN';
  fld_AlbaranesClienteREFERENCIA = 'REFERENCIA';
  fld_AlbaranesClienteREFERENCIA_CLIENTE = 'REFERENCIA_CLIENTE';
  fld_AlbaranesClienteTIPO = 'TIPO';
  fld_AlbaranesClienteID_ALBARAN_DEV = 'ID_ALBARAN_DEV';
  fld_AlbaranesClienteREFERENCIA_ALB_DEV = 'REFERENCIA_ALB_DEV';
  fld_AlbaranesClienteID_FAC_ALB_DEV = 'ID_FAC_ALB_DEV';
  fld_AlbaranesClienteREFERENCIA_FAC_ALB_DEV = 'REFERENCIA_FAC_ALB_DEV';
  fld_AlbaranesClienteSITUACION = 'SITUACION';
  fld_AlbaranesClienteID_ALMACEN = 'ID_ALMACEN';
  fld_AlbaranesClienteNOMBRE_ALMACEN = 'NOMBRE_ALMACEN';
  fld_AlbaranesClienteID_PEDIDO = 'ID_PEDIDO';
  fld_AlbaranesClienteREF_PEDIDO = 'REF_PEDIDO';
  fld_AlbaranesClienteID_FACTURA = 'ID_FACTURA';
  fld_AlbaranesClienteREF_FACTURA = 'REF_FACTURA';
  fld_AlbaranesClienteID_DIRECCION = 'ID_DIRECCION';
  fld_AlbaranesClienteCALLE = 'CALLE';
  fld_AlbaranesClienteCODIGO_POSTAL = 'CODIGO_POSTAL';
  fld_AlbaranesClientePOBLACION = 'POBLACION';
  fld_AlbaranesClientePROVINCIA = 'PROVINCIA';
  fld_AlbaranesClientePERSONA_CONTACTO = 'PERSONA_CONTACTO';
  fld_AlbaranesClienteTELEFONO = 'TELEFONO';
  fld_AlbaranesClienteIMPORTE_NETO = 'IMPORTE_NETO';
  fld_AlbaranesClienteIMPORTE_PORTE = 'IMPORTE_PORTE';
  fld_AlbaranesClienteDESCUENTO = 'DESCUENTO';
  fld_AlbaranesClienteIMPORTE_DESCUENTO = 'IMPORTE_DESCUENTO';
  fld_AlbaranesClienteBASE_IMPONIBLE = 'BASE_IMPONIBLE';
  fld_AlbaranesClienteIVA = 'IVA';
  fld_AlbaranesClienteIMPORTE_IVA = 'IMPORTE_IVA';
  fld_AlbaranesClienteIMPORTE_TOTAL = 'IMPORTE_TOTAL';
  fld_AlbaranesClienteOBSERVACIONES = 'OBSERVACIONES';
  fld_AlbaranesClienteINCIDENCIAS = 'INCIDENCIAS';
  fld_AlbaranesClienteINCIDENCIAS_ACTIVAS = 'INCIDENCIAS_ACTIVAS';
  fld_AlbaranesClienteFECHA_ALTA = 'FECHA_ALTA';
  fld_AlbaranesClienteFECHA_MODIFICACION = 'FECHA_MODIFICACION';
  fld_AlbaranesClienteUSUARIO = 'USUARIO';
  fld_AlbaranesClienteID_FORMA_PAGO = 'ID_FORMA_PAGO';
  fld_AlbaranesClienteFECHA_PREVISTA_ENVIO = 'FECHA_PREVISTA_ENVIO';
  fld_AlbaranesClienteFECHA_ENVIO = 'FECHA_ENVIO';
  fld_AlbaranesClienteFECHA_RECEPCION = 'FECHA_RECEPCION';
  fld_AlbaranesClienteID_AGENTE = 'ID_AGENTE';
  fld_AlbaranesClienteAGENTE = 'AGENTE';
  fld_AlbaranesClienteNUM_COPIAS = 'NUM_COPIAS';
  fld_AlbaranesClienteNUM_CORREOS = 'NUM_CORREOS';
  fld_AlbaranesClienteBLOQUEADO = 'BLOQUEADO';

  { AlbaranesCliente field indexes }
  idx_AlbaranesClienteID = 0;
  idx_AlbaranesClienteID_EMPRESA = 1;
  idx_AlbaranesClienteID_CLIENTE = 2;
  idx_AlbaranesClienteNOMBRE = 3;
  idx_AlbaranesClienteFECHA_ALBARAN = 4;
  idx_AlbaranesClienteREFERENCIA = 5;
  idx_AlbaranesClienteREFERENCIA_CLIENTE = 6;
  idx_AlbaranesClienteTIPO = 7;
  idx_AlbaranesClienteID_ALBARAN_DEV = 8;
  idx_AlbaranesClienteREFERENCIA_ALB_DEV = 9;
  idx_AlbaranesClienteID_FAC_ALB_DEV = 10;
  idx_AlbaranesClienteREFERENCIA_FAC_ALB_DEV = 11;
  idx_AlbaranesClienteSITUACION = 12;
  idx_AlbaranesClienteID_ALMACEN = 13;
  idx_AlbaranesClienteNOMBRE_ALMACEN = 14;
  idx_AlbaranesClienteID_PEDIDO = 15;
  idx_AlbaranesClienteREF_PEDIDO = 16;
  idx_AlbaranesClienteID_FACTURA = 17;
  idx_AlbaranesClienteREF_FACTURA = 18;
  idx_AlbaranesClienteID_DIRECCION = 19;
  idx_AlbaranesClienteCALLE = 20;
  idx_AlbaranesClienteCODIGO_POSTAL = 21;
  idx_AlbaranesClientePOBLACION = 22;
  idx_AlbaranesClientePROVINCIA = 23;
  idx_AlbaranesClientePERSONA_CONTACTO = 24;
  idx_AlbaranesClienteTELEFONO = 25;
  idx_AlbaranesClienteIMPORTE_NETO = 26;
  idx_AlbaranesClienteIMPORTE_PORTE = 27;
  idx_AlbaranesClienteDESCUENTO = 28;
  idx_AlbaranesClienteIMPORTE_DESCUENTO = 29;
  idx_AlbaranesClienteBASE_IMPONIBLE = 30;
  idx_AlbaranesClienteIVA = 31;
  idx_AlbaranesClienteIMPORTE_IVA = 32;
  idx_AlbaranesClienteIMPORTE_TOTAL = 33;
  idx_AlbaranesClienteOBSERVACIONES = 34;
  idx_AlbaranesClienteINCIDENCIAS = 35;
  idx_AlbaranesClienteINCIDENCIAS_ACTIVAS = 36;
  idx_AlbaranesClienteFECHA_ALTA = 37;
  idx_AlbaranesClienteFECHA_MODIFICACION = 38;
  idx_AlbaranesClienteUSUARIO = 39;
  idx_AlbaranesClienteID_FORMA_PAGO = 40;
  idx_AlbaranesClienteFECHA_PREVISTA_ENVIO = 41;
  idx_AlbaranesClienteFECHA_ENVIO = 42;
  idx_AlbaranesClienteFECHA_RECEPCION = 43;
  idx_AlbaranesClienteID_AGENTE = 44;
  idx_AlbaranesClienteAGENTE = 45;
  idx_AlbaranesClienteNUM_COPIAS = 46;
  idx_AlbaranesClienteNUM_CORREOS = 47;
  idx_AlbaranesClienteBLOQUEADO = 48;

  { AlbaranesCliente_Detalles fields }
  fld_AlbaranesCliente_DetallesID = 'ID';
  fld_AlbaranesCliente_DetallesID_ALBARAN = 'ID_ALBARAN';
  fld_AlbaranesCliente_DetallesPOSICION = 'POSICION';
  fld_AlbaranesCliente_DetallesTIPO_DETALLE = 'TIPO_DETALLE';
  fld_AlbaranesCliente_DetallesCONCEPTO = 'CONCEPTO';
  fld_AlbaranesCliente_DetallesCANTIDAD = 'CANTIDAD';
  fld_AlbaranesCliente_DetallesUNIDAD_MEDIDA = 'UNIDAD_MEDIDA';
  fld_AlbaranesCliente_DetallesIMPORTE_UNIDAD = 'IMPORTE_UNIDAD';
  fld_AlbaranesCliente_DetallesDESCUENTO = 'DESCUENTO';
  fld_AlbaranesCliente_DetallesIMPORTE_PORTE = 'IMPORTE_PORTE';
  fld_AlbaranesCliente_DetallesIMPORTE_TOTAL = 'IMPORTE_TOTAL';
  fld_AlbaranesCliente_DetallesVISIBLE = 'VISIBLE';
  fld_AlbaranesCliente_DetallesID_ARTICULO = 'ID_ARTICULO';
  fld_AlbaranesCliente_DetallesREFERENCIA = 'REFERENCIA';
  fld_AlbaranesCliente_DetallesREFERENCIA_PROVEEDOR = 'REFERENCIA_PROVEEDOR';
  fld_AlbaranesCliente_DetallesID_PEDIDO = 'ID_PEDIDO';

  { AlbaranesCliente_Detalles field indexes }
  idx_AlbaranesCliente_DetallesID = 0;
  idx_AlbaranesCliente_DetallesID_ALBARAN = 1;
  idx_AlbaranesCliente_DetallesPOSICION = 2;
  idx_AlbaranesCliente_DetallesTIPO_DETALLE = 3;
  idx_AlbaranesCliente_DetallesCONCEPTO = 4;
  idx_AlbaranesCliente_DetallesCANTIDAD = 5;
  idx_AlbaranesCliente_DetallesUNIDAD_MEDIDA = 6;
  idx_AlbaranesCliente_DetallesIMPORTE_UNIDAD = 7;
  idx_AlbaranesCliente_DetallesDESCUENTO = 8;
  idx_AlbaranesCliente_DetallesIMPORTE_PORTE = 9;
  idx_AlbaranesCliente_DetallesIMPORTE_TOTAL = 10;
  idx_AlbaranesCliente_DetallesVISIBLE = 11;
  idx_AlbaranesCliente_DetallesID_ARTICULO = 12;
  idx_AlbaranesCliente_DetallesREFERENCIA = 13;
  idx_AlbaranesCliente_DetallesREFERENCIA_PROVEEDOR = 14;
  idx_AlbaranesCliente_DetallesID_PEDIDO = 15;

type
  { IListaAnosAlbaranes }
  IListaAnosAlbaranes = interface(IDAStronglyTypedDataTable)
  ['{D2113025-E72A-40FF-BE31-215F4B295B0E}']
    { Property getters and setters }
    function GetANOValue: String;
    procedure SetANOValue(const aValue: String);
    function GetANOIsNull: Boolean;
    procedure SetANOIsNull(const aValue: Boolean);


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

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

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

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

  end;

  { IAlbaranesCliente }
  IAlbaranesCliente = interface(IDAStronglyTypedDataTable)
  ['{C088F3E3-CD58-48F6-A5DA-741CF648444F}']
    { Property getters and setters }
    function GetIDValue: Integer;
    procedure SetIDValue(const aValue: Integer);
    function GetIDIsNull: Boolean;
    procedure SetIDIsNull(const aValue: Boolean);
    function GetID_EMPRESAValue: Integer;
    procedure SetID_EMPRESAValue(const aValue: Integer);
    function GetID_EMPRESAIsNull: Boolean;
    procedure SetID_EMPRESAIsNull(const aValue: Boolean);
    function GetID_CLIENTEValue: Integer;
    procedure SetID_CLIENTEValue(const aValue: Integer);
    function GetID_CLIENTEIsNull: Boolean;
    procedure SetID_CLIENTEIsNull(const aValue: Boolean);
    function GetNOMBREValue: String;
    procedure SetNOMBREValue(const aValue: String);
    function GetNOMBREIsNull: Boolean;
    procedure SetNOMBREIsNull(const aValue: Boolean);
    function GetFECHA_ALBARANValue: DateTime;
    procedure SetFECHA_ALBARANValue(const aValue: DateTime);
    function GetFECHA_ALBARANIsNull: Boolean;
    procedure SetFECHA_ALBARANIsNull(const aValue: Boolean);
    function GetREFERENCIAValue: String;
    procedure SetREFERENCIAValue(const aValue: String);
    function GetREFERENCIAIsNull: Boolean;
    procedure SetREFERENCIAIsNull(const aValue: Boolean);
    function GetREFERENCIA_CLIENTEValue: String;
    procedure SetREFERENCIA_CLIENTEValue(const aValue: String);
    function GetREFERENCIA_CLIENTEIsNull: Boolean;
    procedure SetREFERENCIA_CLIENTEIsNull(const aValue: Boolean);
    function GetTIPOValue: String;
    procedure SetTIPOValue(const aValue: String);
    function GetTIPOIsNull: Boolean;
    procedure SetTIPOIsNull(const aValue: Boolean);
    function GetID_ALBARAN_DEVValue: Integer;
    procedure SetID_ALBARAN_DEVValue(const aValue: Integer);
    function GetID_ALBARAN_DEVIsNull: Boolean;
    procedure SetID_ALBARAN_DEVIsNull(const aValue: Boolean);
    function GetREFERENCIA_ALB_DEVValue: String;
    procedure SetREFERENCIA_ALB_DEVValue(const aValue: String);
    function GetREFERENCIA_ALB_DEVIsNull: Boolean;
    procedure SetREFERENCIA_ALB_DEVIsNull(const aValue: Boolean);
    function GetID_FAC_ALB_DEVValue: Integer;
    procedure SetID_FAC_ALB_DEVValue(const aValue: Integer);
    function GetID_FAC_ALB_DEVIsNull: Boolean;
    procedure SetID_FAC_ALB_DEVIsNull(const aValue: Boolean);
    function GetREFERENCIA_FAC_ALB_DEVValue: String;
    procedure SetREFERENCIA_FAC_ALB_DEVValue(const aValue: String);
    function GetREFERENCIA_FAC_ALB_DEVIsNull: Boolean;
    procedure SetREFERENCIA_FAC_ALB_DEVIsNull(const aValue: Boolean);
    function GetSITUACIONValue: String;
    procedure SetSITUACIONValue(const aValue: String);
    function GetSITUACIONIsNull: Boolean;
    procedure SetSITUACIONIsNull(const aValue: Boolean);
    function GetID_ALMACENValue: Integer;
    procedure SetID_ALMACENValue(const aValue: Integer);
    function GetID_ALMACENIsNull: Boolean;
    procedure SetID_ALMACENIsNull(const aValue: Boolean);
    function GetNOMBRE_ALMACENValue: String;
    procedure SetNOMBRE_ALMACENValue(const aValue: String);
    function GetNOMBRE_ALMACENIsNull: Boolean;
    procedure SetNOMBRE_ALMACENIsNull(const aValue: Boolean);
    function GetID_PEDIDOValue: Integer;
    procedure SetID_PEDIDOValue(const aValue: Integer);
    function GetID_PEDIDOIsNull: Boolean;
    procedure SetID_PEDIDOIsNull(const aValue: Boolean);
    function GetREF_PEDIDOValue: String;
    procedure SetREF_PEDIDOValue(const aValue: String);
    function GetREF_PEDIDOIsNull: Boolean;
    procedure SetREF_PEDIDOIsNull(const aValue: Boolean);
    function GetID_FACTURAValue: Integer;
    procedure SetID_FACTURAValue(const aValue: Integer);
    function GetID_FACTURAIsNull: Boolean;
    procedure SetID_FACTURAIsNull(const aValue: Boolean);
    function GetREF_FACTURAValue: String;
    procedure SetREF_FACTURAValue(const aValue: String);
    function GetREF_FACTURAIsNull: Boolean;
    procedure SetREF_FACTURAIsNull(const aValue: Boolean);
    function GetID_DIRECCIONValue: Integer;
    procedure SetID_DIRECCIONValue(const aValue: Integer);
    function GetID_DIRECCIONIsNull: Boolean;
    procedure SetID_DIRECCIONIsNull(const aValue: Boolean);
    function GetCALLEValue: String;
    procedure SetCALLEValue(const aValue: String);
    function GetCALLEIsNull: Boolean;
    procedure SetCALLEIsNull(const aValue: Boolean);
    function GetCODIGO_POSTALValue: String;
    procedure SetCODIGO_POSTALValue(const aValue: String);
    function GetCODIGO_POSTALIsNull: Boolean;
    procedure SetCODIGO_POSTALIsNull(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 GetPERSONA_CONTACTOValue: String;
    procedure SetPERSONA_CONTACTOValue(const aValue: String);
    function GetPERSONA_CONTACTOIsNull: Boolean;
    procedure SetPERSONA_CONTACTOIsNull(const aValue: Boolean);
    function GetTELEFONOValue: String;
    procedure SetTELEFONOValue(const aValue: String);
    function GetTELEFONOIsNull: Boolean;
    procedure SetTELEFONOIsNull(const aValue: Boolean);
    function GetIMPORTE_NETOValue: Currency;
    procedure SetIMPORTE_NETOValue(const aValue: Currency);
    function GetIMPORTE_NETOIsNull: Boolean;
    procedure SetIMPORTE_NETOIsNull(const aValue: Boolean);
    function GetIMPORTE_PORTEValue: Currency;
    procedure SetIMPORTE_PORTEValue(const aValue: Currency);
    function GetIMPORTE_PORTEIsNull: Boolean;
    procedure SetIMPORTE_PORTEIsNull(const aValue: Boolean);
    function GetDESCUENTOValue: Float;
    procedure SetDESCUENTOValue(const aValue: Float);
    function GetDESCUENTOIsNull: Boolean;
    procedure SetDESCUENTOIsNull(const aValue: Boolean);
    function GetIMPORTE_DESCUENTOValue: Currency;
    procedure SetIMPORTE_DESCUENTOValue(const aValue: Currency);
    function GetIMPORTE_DESCUENTOIsNull: Boolean;
    procedure SetIMPORTE_DESCUENTOIsNull(const aValue: Boolean);
    function GetBASE_IMPONIBLEValue: Currency;
    procedure SetBASE_IMPONIBLEValue(const aValue: Currency);
    function GetBASE_IMPONIBLEIsNull: Boolean;
    procedure SetBASE_IMPONIBLEIsNull(const aValue: Boolean);
    function GetIVAValue: Float;
    procedure SetIVAValue(const aValue: Float);
    function GetIVAIsNull: Boolean;
    procedure SetIVAIsNull(const aValue: Boolean);
    function GetIMPORTE_IVAValue: Currency;
    procedure SetIMPORTE_IVAValue(const aValue: Currency);
    function GetIMPORTE_IVAIsNull: Boolean;
    procedure SetIMPORTE_IVAIsNull(const aValue: Boolean);
    function GetIMPORTE_TOTALValue: Currency;
    procedure SetIMPORTE_TOTALValue(const aValue: Currency);
    function GetIMPORTE_TOTALIsNull: Boolean;
    procedure SetIMPORTE_TOTALIsNull(const aValue: Boolean);
    function GetOBSERVACIONESValue: IROStrings;
    function GetOBSERVACIONESIsNull: Boolean;
    procedure SetOBSERVACIONESIsNull(const aValue: Boolean);
    function GetINCIDENCIASValue: IROStrings;
    function GetINCIDENCIASIsNull: Boolean;
    procedure SetINCIDENCIASIsNull(const aValue: Boolean);
    function GetINCIDENCIAS_ACTIVASValue: Integer;
    procedure SetINCIDENCIAS_ACTIVASValue(const aValue: Integer);
    function GetINCIDENCIAS_ACTIVASIsNull: Boolean;
    procedure SetINCIDENCIAS_ACTIVASIsNull(const aValue: Boolean);
    function GetFECHA_ALTAValue: DateTime;
    procedure SetFECHA_ALTAValue(const aValue: DateTime);
    function GetFECHA_ALTAIsNull: Boolean;
    procedure SetFECHA_ALTAIsNull(const aValue: Boolean);
    function GetFECHA_MODIFICACIONValue: DateTime;
    procedure SetFECHA_MODIFICACIONValue(const aValue: DateTime);
    function GetFECHA_MODIFICACIONIsNull: Boolean;
    procedure SetFECHA_MODIFICACIONIsNull(const aValue: Boolean);
    function GetUSUARIOValue: String;
    procedure SetUSUARIOValue(const aValue: String);
    function GetUSUARIOIsNull: Boolean;
    procedure SetUSUARIOIsNull(const aValue: Boolean);
    function GetID_FORMA_PAGOValue: Integer;
    procedure SetID_FORMA_PAGOValue(const aValue: Integer);
    function GetID_FORMA_PAGOIsNull: Boolean;
    procedure SetID_FORMA_PAGOIsNull(const aValue: Boolean);
    function GetFECHA_PREVISTA_ENVIOValue: DateTime;
    procedure SetFECHA_PREVISTA_ENVIOValue(const aValue: DateTime);
    function GetFECHA_PREVISTA_ENVIOIsNull: Boolean;
    procedure SetFECHA_PREVISTA_ENVIOIsNull(const aValue: Boolean);
    function GetFECHA_ENVIOValue: DateTime;
    procedure SetFECHA_ENVIOValue(const aValue: DateTime);
    function GetFECHA_ENVIOIsNull: Boolean;
    procedure SetFECHA_ENVIOIsNull(const aValue: Boolean);
    function GetFECHA_RECEPCIONValue: DateTime;
    procedure SetFECHA_RECEPCIONValue(const aValue: DateTime);
    function GetFECHA_RECEPCIONIsNull: Boolean;
    procedure SetFECHA_RECEPCIONIsNull(const aValue: Boolean);
    function GetID_AGENTEValue: Integer;
    procedure SetID_AGENTEValue(const aValue: Integer);
    function GetID_AGENTEIsNull: Boolean;
    procedure SetID_AGENTEIsNull(const aValue: Boolean);
    function GetAGENTEValue: String;
    procedure SetAGENTEValue(const aValue: String);
    function GetAGENTEIsNull: Boolean;
    procedure SetAGENTEIsNull(const aValue: Boolean);
    function GetNUM_COPIASValue: SmallInt;
    procedure SetNUM_COPIASValue(const aValue: SmallInt);
    function GetNUM_COPIASIsNull: Boolean;
    procedure SetNUM_COPIASIsNull(const aValue: Boolean);
    function GetNUM_CORREOSValue: SmallInt;
    procedure SetNUM_CORREOSValue(const aValue: SmallInt);
    function GetNUM_CORREOSIsNull: Boolean;
    procedure SetNUM_CORREOSIsNull(const aValue: Boolean);
    function GetBLOQUEADOValue: SmallInt;
    procedure SetBLOQUEADOValue(const aValue: SmallInt);
    function GetBLOQUEADOIsNull: Boolean;
    procedure SetBLOQUEADOIsNull(const aValue: Boolean);


    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property ID_EMPRESA: Integer read GetID_EMPRESAValue write SetID_EMPRESAValue;
    property ID_EMPRESAIsNull: Boolean read GetID_EMPRESAIsNull write SetID_EMPRESAIsNull;
    property ID_CLIENTE: Integer read GetID_CLIENTEValue write SetID_CLIENTEValue;
    property ID_CLIENTEIsNull: Boolean read GetID_CLIENTEIsNull write SetID_CLIENTEIsNull;
    property NOMBRE: String read GetNOMBREValue write SetNOMBREValue;
    property NOMBREIsNull: Boolean read GetNOMBREIsNull write SetNOMBREIsNull;
    property FECHA_ALBARAN: DateTime read GetFECHA_ALBARANValue write SetFECHA_ALBARANValue;
    property FECHA_ALBARANIsNull: Boolean read GetFECHA_ALBARANIsNull write SetFECHA_ALBARANIsNull;
    property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue;
    property REFERENCIAIsNull: Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull;
    property REFERENCIA_CLIENTE: String read GetREFERENCIA_CLIENTEValue write SetREFERENCIA_CLIENTEValue;
    property REFERENCIA_CLIENTEIsNull: Boolean read GetREFERENCIA_CLIENTEIsNull write SetREFERENCIA_CLIENTEIsNull;
    property TIPO: String read GetTIPOValue write SetTIPOValue;
    property TIPOIsNull: Boolean read GetTIPOIsNull write SetTIPOIsNull;
    property ID_ALBARAN_DEV: Integer read GetID_ALBARAN_DEVValue write SetID_ALBARAN_DEVValue;
    property ID_ALBARAN_DEVIsNull: Boolean read GetID_ALBARAN_DEVIsNull write SetID_ALBARAN_DEVIsNull;
    property REFERENCIA_ALB_DEV: String read GetREFERENCIA_ALB_DEVValue write SetREFERENCIA_ALB_DEVValue;
    property REFERENCIA_ALB_DEVIsNull: Boolean read GetREFERENCIA_ALB_DEVIsNull write SetREFERENCIA_ALB_DEVIsNull;
    property ID_FAC_ALB_DEV: Integer read GetID_FAC_ALB_DEVValue write SetID_FAC_ALB_DEVValue;
    property ID_FAC_ALB_DEVIsNull: Boolean read GetID_FAC_ALB_DEVIsNull write SetID_FAC_ALB_DEVIsNull;
    property REFERENCIA_FAC_ALB_DEV: String read GetREFERENCIA_FAC_ALB_DEVValue write SetREFERENCIA_FAC_ALB_DEVValue;
    property REFERENCIA_FAC_ALB_DEVIsNull: Boolean read GetREFERENCIA_FAC_ALB_DEVIsNull write SetREFERENCIA_FAC_ALB_DEVIsNull;
    property SITUACION: String read GetSITUACIONValue write SetSITUACIONValue;
    property SITUACIONIsNull: Boolean read GetSITUACIONIsNull write SetSITUACIONIsNull;
    property ID_ALMACEN: Integer read GetID_ALMACENValue write SetID_ALMACENValue;
    property ID_ALMACENIsNull: Boolean read GetID_ALMACENIsNull write SetID_ALMACENIsNull;
    property NOMBRE_ALMACEN: String read GetNOMBRE_ALMACENValue write SetNOMBRE_ALMACENValue;
    property NOMBRE_ALMACENIsNull: Boolean read GetNOMBRE_ALMACENIsNull write SetNOMBRE_ALMACENIsNull;
    property ID_PEDIDO: Integer read GetID_PEDIDOValue write SetID_PEDIDOValue;
    property ID_PEDIDOIsNull: Boolean read GetID_PEDIDOIsNull write SetID_PEDIDOIsNull;
    property REF_PEDIDO: String read GetREF_PEDIDOValue write SetREF_PEDIDOValue;
    property REF_PEDIDOIsNull: Boolean read GetREF_PEDIDOIsNull write SetREF_PEDIDOIsNull;
    property ID_FACTURA: Integer read GetID_FACTURAValue write SetID_FACTURAValue;
    property ID_FACTURAIsNull: Boolean read GetID_FACTURAIsNull write SetID_FACTURAIsNull;
    property REF_FACTURA: String read GetREF_FACTURAValue write SetREF_FACTURAValue;
    property REF_FACTURAIsNull: Boolean read GetREF_FACTURAIsNull write SetREF_FACTURAIsNull;
    property ID_DIRECCION: Integer read GetID_DIRECCIONValue write SetID_DIRECCIONValue;
    property ID_DIRECCIONIsNull: Boolean read GetID_DIRECCIONIsNull write SetID_DIRECCIONIsNull;
    property CALLE: String read GetCALLEValue write SetCALLEValue;
    property CALLEIsNull: Boolean read GetCALLEIsNull write SetCALLEIsNull;
    property CODIGO_POSTAL: String read GetCODIGO_POSTALValue write SetCODIGO_POSTALValue;
    property CODIGO_POSTALIsNull: Boolean read GetCODIGO_POSTALIsNull write SetCODIGO_POSTALIsNull;
    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 PERSONA_CONTACTO: String read GetPERSONA_CONTACTOValue write SetPERSONA_CONTACTOValue;
    property PERSONA_CONTACTOIsNull: Boolean read GetPERSONA_CONTACTOIsNull write SetPERSONA_CONTACTOIsNull;
    property TELEFONO: String read GetTELEFONOValue write SetTELEFONOValue;
    property TELEFONOIsNull: Boolean read GetTELEFONOIsNull write SetTELEFONOIsNull;
    property IMPORTE_NETO: Currency read GetIMPORTE_NETOValue write SetIMPORTE_NETOValue;
    property IMPORTE_NETOIsNull: Boolean read GetIMPORTE_NETOIsNull write SetIMPORTE_NETOIsNull;
    property IMPORTE_PORTE: Currency read GetIMPORTE_PORTEValue write SetIMPORTE_PORTEValue;
    property IMPORTE_PORTEIsNull: Boolean read GetIMPORTE_PORTEIsNull write SetIMPORTE_PORTEIsNull;
    property DESCUENTO: Float read GetDESCUENTOValue write SetDESCUENTOValue;
    property DESCUENTOIsNull: Boolean read GetDESCUENTOIsNull write SetDESCUENTOIsNull;
    property IMPORTE_DESCUENTO: Currency read GetIMPORTE_DESCUENTOValue write SetIMPORTE_DESCUENTOValue;
    property IMPORTE_DESCUENTOIsNull: Boolean read GetIMPORTE_DESCUENTOIsNull write SetIMPORTE_DESCUENTOIsNull;
    property BASE_IMPONIBLE: Currency read GetBASE_IMPONIBLEValue write SetBASE_IMPONIBLEValue;
    property BASE_IMPONIBLEIsNull: Boolean read GetBASE_IMPONIBLEIsNull write SetBASE_IMPONIBLEIsNull;
    property IVA: Float read GetIVAValue write SetIVAValue;
    property IVAIsNull: Boolean read GetIVAIsNull write SetIVAIsNull;
    property IMPORTE_IVA: Currency read GetIMPORTE_IVAValue write SetIMPORTE_IVAValue;
    property IMPORTE_IVAIsNull: Boolean read GetIMPORTE_IVAIsNull write SetIMPORTE_IVAIsNull;
    property IMPORTE_TOTAL: Currency read GetIMPORTE_TOTALValue write SetIMPORTE_TOTALValue;
    property IMPORTE_TOTALIsNull: Boolean read GetIMPORTE_TOTALIsNull write SetIMPORTE_TOTALIsNull;
    property OBSERVACIONES: IROStrings read GetOBSERVACIONESValue;
    property OBSERVACIONESIsNull: Boolean read GetOBSERVACIONESIsNull write SetOBSERVACIONESIsNull;
    property INCIDENCIAS: IROStrings read GetINCIDENCIASValue;
    property INCIDENCIASIsNull: Boolean read GetINCIDENCIASIsNull write SetINCIDENCIASIsNull;
    property INCIDENCIAS_ACTIVAS: Integer read GetINCIDENCIAS_ACTIVASValue write SetINCIDENCIAS_ACTIVASValue;
    property INCIDENCIAS_ACTIVASIsNull: Boolean read GetINCIDENCIAS_ACTIVASIsNull write SetINCIDENCIAS_ACTIVASIsNull;
    property FECHA_ALTA: DateTime read GetFECHA_ALTAValue write SetFECHA_ALTAValue;
    property FECHA_ALTAIsNull: Boolean read GetFECHA_ALTAIsNull write SetFECHA_ALTAIsNull;
    property FECHA_MODIFICACION: DateTime read GetFECHA_MODIFICACIONValue write SetFECHA_MODIFICACIONValue;
    property FECHA_MODIFICACIONIsNull: Boolean read GetFECHA_MODIFICACIONIsNull write SetFECHA_MODIFICACIONIsNull;
    property USUARIO: String read GetUSUARIOValue write SetUSUARIOValue;
    property USUARIOIsNull: Boolean read GetUSUARIOIsNull write SetUSUARIOIsNull;
    property 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 FECHA_PREVISTA_ENVIO: DateTime read GetFECHA_PREVISTA_ENVIOValue write SetFECHA_PREVISTA_ENVIOValue;
    property FECHA_PREVISTA_ENVIOIsNull: Boolean read GetFECHA_PREVISTA_ENVIOIsNull write SetFECHA_PREVISTA_ENVIOIsNull;
    property FECHA_ENVIO: DateTime read GetFECHA_ENVIOValue write SetFECHA_ENVIOValue;
    property FECHA_ENVIOIsNull: Boolean read GetFECHA_ENVIOIsNull write SetFECHA_ENVIOIsNull;
    property FECHA_RECEPCION: DateTime read GetFECHA_RECEPCIONValue write SetFECHA_RECEPCIONValue;
    property FECHA_RECEPCIONIsNull: Boolean read GetFECHA_RECEPCIONIsNull write SetFECHA_RECEPCIONIsNull;
    property ID_AGENTE: Integer read GetID_AGENTEValue write SetID_AGENTEValue;
    property ID_AGENTEIsNull: Boolean read GetID_AGENTEIsNull write SetID_AGENTEIsNull;
    property AGENTE: String read GetAGENTEValue write SetAGENTEValue;
    property AGENTEIsNull: Boolean read GetAGENTEIsNull write SetAGENTEIsNull;
    property NUM_COPIAS: SmallInt read GetNUM_COPIASValue write SetNUM_COPIASValue;
    property NUM_COPIASIsNull: Boolean read GetNUM_COPIASIsNull write SetNUM_COPIASIsNull;
    property NUM_CORREOS: SmallInt read GetNUM_CORREOSValue write SetNUM_CORREOSValue;
    property NUM_CORREOSIsNull: Boolean read GetNUM_CORREOSIsNull write SetNUM_CORREOSIsNull;
    property BLOQUEADO: SmallInt read GetBLOQUEADOValue write SetBLOQUEADOValue;
    property BLOQUEADOIsNull: Boolean read GetBLOQUEADOIsNull write SetBLOQUEADOIsNull;
  end;

  { TAlbaranesClienteDataTableRules }
  TAlbaranesClienteDataTableRules = class(TIntfObjectDADataTableRules, IAlbaranesCliente)
  private
    f_OBSERVACIONES: IROStrings;
    f_INCIDENCIAS: IROStrings;
    procedure OBSERVACIONES_OnChange(Sender: TObject);
    procedure INCIDENCIAS_OnChange(Sender: TObject);
  protected
    { Property getters and setters }
    function GetIDValue: Integer; virtual;
    procedure SetIDValue(const aValue: Integer); virtual;
    function GetIDIsNull: Boolean; virtual;
    procedure SetIDIsNull(const aValue: Boolean); virtual;
    function GetID_EMPRESAValue: Integer; virtual;
    procedure SetID_EMPRESAValue(const aValue: Integer); virtual;
    function GetID_EMPRESAIsNull: Boolean; virtual;
    procedure SetID_EMPRESAIsNull(const aValue: Boolean); virtual;
    function GetID_CLIENTEValue: Integer; virtual;
    procedure SetID_CLIENTEValue(const aValue: Integer); virtual;
    function GetID_CLIENTEIsNull: Boolean; virtual;
    procedure SetID_CLIENTEIsNull(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 GetFECHA_ALBARANValue: DateTime; virtual;
    procedure SetFECHA_ALBARANValue(const aValue: DateTime); virtual;
    function GetFECHA_ALBARANIsNull: Boolean; virtual;
    procedure SetFECHA_ALBARANIsNull(const aValue: Boolean); virtual;
    function GetREFERENCIAValue: String; virtual;
    procedure SetREFERENCIAValue(const aValue: String); virtual;
    function GetREFERENCIAIsNull: Boolean; virtual;
    procedure SetREFERENCIAIsNull(const aValue: Boolean); virtual;
    function GetREFERENCIA_CLIENTEValue: String; virtual;
    procedure SetREFERENCIA_CLIENTEValue(const aValue: String); virtual;
    function GetREFERENCIA_CLIENTEIsNull: Boolean; virtual;
    procedure SetREFERENCIA_CLIENTEIsNull(const aValue: Boolean); virtual;
    function GetTIPOValue: String; virtual;
    procedure SetTIPOValue(const aValue: String); virtual;
    function GetTIPOIsNull: Boolean; virtual;
    procedure SetTIPOIsNull(const aValue: Boolean); virtual;
    function GetID_ALBARAN_DEVValue: Integer; virtual;
    procedure SetID_ALBARAN_DEVValue(const aValue: Integer); virtual;
    function GetID_ALBARAN_DEVIsNull: Boolean; virtual;
    procedure SetID_ALBARAN_DEVIsNull(const aValue: Boolean); virtual;
    function GetREFERENCIA_ALB_DEVValue: String; virtual;
    procedure SetREFERENCIA_ALB_DEVValue(const aValue: String); virtual;
    function GetREFERENCIA_ALB_DEVIsNull: Boolean; virtual;
    procedure SetREFERENCIA_ALB_DEVIsNull(const aValue: Boolean); virtual;
    function GetID_FAC_ALB_DEVValue: Integer; virtual;
    procedure SetID_FAC_ALB_DEVValue(const aValue: Integer); virtual;
    function GetID_FAC_ALB_DEVIsNull: Boolean; virtual;
    procedure SetID_FAC_ALB_DEVIsNull(const aValue: Boolean); virtual;
    function GetREFERENCIA_FAC_ALB_DEVValue: String; virtual;
    procedure SetREFERENCIA_FAC_ALB_DEVValue(const aValue: String); virtual;
    function GetREFERENCIA_FAC_ALB_DEVIsNull: Boolean; virtual;
    procedure SetREFERENCIA_FAC_ALB_DEVIsNull(const aValue: Boolean); virtual;
    function GetSITUACIONValue: String; virtual;
    procedure SetSITUACIONValue(const aValue: String); virtual;
    function GetSITUACIONIsNull: Boolean; virtual;
    procedure SetSITUACIONIsNull(const aValue: Boolean); virtual;
    function GetID_ALMACENValue: Integer; virtual;
    procedure SetID_ALMACENValue(const aValue: Integer); virtual;
    function GetID_ALMACENIsNull: Boolean; virtual;
    procedure SetID_ALMACENIsNull(const aValue: Boolean); virtual;
    function GetNOMBRE_ALMACENValue: String; virtual;
    procedure SetNOMBRE_ALMACENValue(const aValue: String); virtual;
    function GetNOMBRE_ALMACENIsNull: Boolean; virtual;
    procedure SetNOMBRE_ALMACENIsNull(const aValue: Boolean); virtual;
    function GetID_PEDIDOValue: Integer; virtual;
    procedure SetID_PEDIDOValue(const aValue: Integer); virtual;
    function GetID_PEDIDOIsNull: Boolean; virtual;
    procedure SetID_PEDIDOIsNull(const aValue: Boolean); virtual;
    function GetREF_PEDIDOValue: String; virtual;
    procedure SetREF_PEDIDOValue(const aValue: String); virtual;
    function GetREF_PEDIDOIsNull: Boolean; virtual;
    procedure SetREF_PEDIDOIsNull(const aValue: Boolean); virtual;
    function GetID_FACTURAValue: Integer; virtual;
    procedure SetID_FACTURAValue(const aValue: Integer); virtual;
    function GetID_FACTURAIsNull: Boolean; virtual;
    procedure SetID_FACTURAIsNull(const aValue: Boolean); virtual;
    function GetREF_FACTURAValue: String; virtual;
    procedure SetREF_FACTURAValue(const aValue: String); virtual;
    function GetREF_FACTURAIsNull: Boolean; virtual;
    procedure SetREF_FACTURAIsNull(const aValue: Boolean); virtual;
    function GetID_DIRECCIONValue: Integer; virtual;
    procedure SetID_DIRECCIONValue(const aValue: Integer); virtual;
    function GetID_DIRECCIONIsNull: Boolean; virtual;
    procedure SetID_DIRECCIONIsNull(const aValue: Boolean); virtual;
    function GetCALLEValue: String; virtual;
    procedure SetCALLEValue(const aValue: String); virtual;
    function GetCALLEIsNull: Boolean; virtual;
    procedure SetCALLEIsNull(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 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 GetPERSONA_CONTACTOValue: String; virtual;
    procedure SetPERSONA_CONTACTOValue(const aValue: String); virtual;
    function GetPERSONA_CONTACTOIsNull: Boolean; virtual;
    procedure SetPERSONA_CONTACTOIsNull(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 GetIMPORTE_NETOValue: Currency; virtual;
    procedure SetIMPORTE_NETOValue(const aValue: Currency); virtual;
    function GetIMPORTE_NETOIsNull: Boolean; virtual;
    procedure SetIMPORTE_NETOIsNull(const aValue: Boolean); virtual;
    function GetIMPORTE_PORTEValue: Currency; virtual;
    procedure SetIMPORTE_PORTEValue(const aValue: Currency); virtual;
    function GetIMPORTE_PORTEIsNull: Boolean; virtual;
    procedure SetIMPORTE_PORTEIsNull(const aValue: Boolean); virtual;
    function GetDESCUENTOValue: Float; virtual;
    procedure SetDESCUENTOValue(const aValue: Float); virtual;
    function GetDESCUENTOIsNull: Boolean; virtual;
    procedure SetDESCUENTOIsNull(const aValue: Boolean); virtual;
    function GetIMPORTE_DESCUENTOValue: Currency; virtual;
    procedure SetIMPORTE_DESCUENTOValue(const aValue: Currency); virtual;
    function GetIMPORTE_DESCUENTOIsNull: Boolean; virtual;
    procedure SetIMPORTE_DESCUENTOIsNull(const aValue: Boolean); virtual;
    function GetBASE_IMPONIBLEValue: Currency; virtual;
    procedure SetBASE_IMPONIBLEValue(const aValue: Currency); virtual;
    function GetBASE_IMPONIBLEIsNull: Boolean; virtual;
    procedure SetBASE_IMPONIBLEIsNull(const aValue: Boolean); virtual;
    function GetIVAValue: Float; virtual;
    procedure SetIVAValue(const aValue: Float); virtual;
    function GetIVAIsNull: Boolean; virtual;
    procedure SetIVAIsNull(const aValue: Boolean); virtual;
    function GetIMPORTE_IVAValue: Currency; virtual;
    procedure SetIMPORTE_IVAValue(const aValue: Currency); virtual;
    function GetIMPORTE_IVAIsNull: Boolean; virtual;
    procedure SetIMPORTE_IVAIsNull(const aValue: Boolean); virtual;
    function GetIMPORTE_TOTALValue: Currency; virtual;
    procedure SetIMPORTE_TOTALValue(const aValue: Currency); virtual;
    function GetIMPORTE_TOTALIsNull: Boolean; virtual;
    procedure SetIMPORTE_TOTALIsNull(const aValue: Boolean); virtual;
    function GetOBSERVACIONESValue: IROStrings; virtual;
    function GetOBSERVACIONESIsNull: Boolean; virtual;
    procedure SetOBSERVACIONESIsNull(const aValue: Boolean); virtual;
    function GetINCIDENCIASValue: IROStrings; virtual;
    function GetINCIDENCIASIsNull: Boolean; virtual;
    procedure SetINCIDENCIASIsNull(const aValue: Boolean); virtual;
    function GetINCIDENCIAS_ACTIVASValue: Integer; virtual;
    procedure SetINCIDENCIAS_ACTIVASValue(const aValue: Integer); virtual;
    function GetINCIDENCIAS_ACTIVASIsNull: Boolean; virtual;
    procedure SetINCIDENCIAS_ACTIVASIsNull(const aValue: Boolean); virtual;
    function GetFECHA_ALTAValue: DateTime; virtual;
    procedure SetFECHA_ALTAValue(const aValue: DateTime); virtual;
    function GetFECHA_ALTAIsNull: Boolean; virtual;
    procedure SetFECHA_ALTAIsNull(const aValue: Boolean); virtual;
    function GetFECHA_MODIFICACIONValue: DateTime; virtual;
    procedure SetFECHA_MODIFICACIONValue(const aValue: DateTime); virtual;
    function GetFECHA_MODIFICACIONIsNull: Boolean; virtual;
    procedure SetFECHA_MODIFICACIONIsNull(const aValue: Boolean); virtual;
    function GetUSUARIOValue: String; virtual;
    procedure SetUSUARIOValue(const aValue: String); virtual;
    function GetUSUARIOIsNull: Boolean; virtual;
    procedure SetUSUARIOIsNull(const aValue: Boolean); virtual;
    function 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 GetFECHA_PREVISTA_ENVIOValue: DateTime; virtual;
    procedure SetFECHA_PREVISTA_ENVIOValue(const aValue: DateTime); virtual;
    function GetFECHA_PREVISTA_ENVIOIsNull: Boolean; virtual;
    procedure SetFECHA_PREVISTA_ENVIOIsNull(const aValue: Boolean); virtual;
    function GetFECHA_ENVIOValue: DateTime; virtual;
    procedure SetFECHA_ENVIOValue(const aValue: DateTime); virtual;
    function GetFECHA_ENVIOIsNull: Boolean; virtual;
    procedure SetFECHA_ENVIOIsNull(const aValue: Boolean); virtual;
    function GetFECHA_RECEPCIONValue: DateTime; virtual;
    procedure SetFECHA_RECEPCIONValue(const aValue: DateTime); virtual;
    function GetFECHA_RECEPCIONIsNull: Boolean; virtual;
    procedure SetFECHA_RECEPCIONIsNull(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 GetAGENTEValue: String; virtual;
    procedure SetAGENTEValue(const aValue: String); virtual;
    function GetAGENTEIsNull: Boolean; virtual;
    procedure SetAGENTEIsNull(const aValue: Boolean); virtual;
    function GetNUM_COPIASValue: SmallInt; virtual;
    procedure SetNUM_COPIASValue(const aValue: SmallInt); virtual;
    function GetNUM_COPIASIsNull: Boolean; virtual;
    procedure SetNUM_COPIASIsNull(const aValue: Boolean); virtual;
    function GetNUM_CORREOSValue: SmallInt; virtual;
    procedure SetNUM_CORREOSValue(const aValue: SmallInt); virtual;
    function GetNUM_CORREOSIsNull: Boolean; virtual;
    procedure SetNUM_CORREOSIsNull(const aValue: Boolean); virtual;
    function GetBLOQUEADOValue: SmallInt; virtual;
    procedure SetBLOQUEADOValue(const aValue: SmallInt); virtual;
    function GetBLOQUEADOIsNull: Boolean; virtual;
    procedure SetBLOQUEADOIsNull(const aValue: Boolean); virtual;

    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property ID_EMPRESA: Integer read GetID_EMPRESAValue write SetID_EMPRESAValue;
    property ID_EMPRESAIsNull: Boolean read GetID_EMPRESAIsNull write SetID_EMPRESAIsNull;
    property ID_CLIENTE: Integer read GetID_CLIENTEValue write SetID_CLIENTEValue;
    property ID_CLIENTEIsNull: Boolean read GetID_CLIENTEIsNull write SetID_CLIENTEIsNull;
    property NOMBRE: String read GetNOMBREValue write SetNOMBREValue;
    property NOMBREIsNull: Boolean read GetNOMBREIsNull write SetNOMBREIsNull;
    property FECHA_ALBARAN: DateTime read GetFECHA_ALBARANValue write SetFECHA_ALBARANValue;
    property FECHA_ALBARANIsNull: Boolean read GetFECHA_ALBARANIsNull write SetFECHA_ALBARANIsNull;
    property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue;
    property REFERENCIAIsNull: Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull;
    property REFERENCIA_CLIENTE: String read GetREFERENCIA_CLIENTEValue write SetREFERENCIA_CLIENTEValue;
    property REFERENCIA_CLIENTEIsNull: Boolean read GetREFERENCIA_CLIENTEIsNull write SetREFERENCIA_CLIENTEIsNull;
    property TIPO: String read GetTIPOValue write SetTIPOValue;
    property TIPOIsNull: Boolean read GetTIPOIsNull write SetTIPOIsNull;
    property ID_ALBARAN_DEV: Integer read GetID_ALBARAN_DEVValue write SetID_ALBARAN_DEVValue;
    property ID_ALBARAN_DEVIsNull: Boolean read GetID_ALBARAN_DEVIsNull write SetID_ALBARAN_DEVIsNull;
    property REFERENCIA_ALB_DEV: String read GetREFERENCIA_ALB_DEVValue write SetREFERENCIA_ALB_DEVValue;
    property REFERENCIA_ALB_DEVIsNull: Boolean read GetREFERENCIA_ALB_DEVIsNull write SetREFERENCIA_ALB_DEVIsNull;
    property ID_FAC_ALB_DEV: Integer read GetID_FAC_ALB_DEVValue write SetID_FAC_ALB_DEVValue;
    property ID_FAC_ALB_DEVIsNull: Boolean read GetID_FAC_ALB_DEVIsNull write SetID_FAC_ALB_DEVIsNull;
    property REFERENCIA_FAC_ALB_DEV: String read GetREFERENCIA_FAC_ALB_DEVValue write SetREFERENCIA_FAC_ALB_DEVValue;
    property REFERENCIA_FAC_ALB_DEVIsNull: Boolean read GetREFERENCIA_FAC_ALB_DEVIsNull write SetREFERENCIA_FAC_ALB_DEVIsNull;
    property SITUACION: String read GetSITUACIONValue write SetSITUACIONValue;
    property SITUACIONIsNull: Boolean read GetSITUACIONIsNull write SetSITUACIONIsNull;
    property ID_ALMACEN: Integer read GetID_ALMACENValue write SetID_ALMACENValue;
    property ID_ALMACENIsNull: Boolean read GetID_ALMACENIsNull write SetID_ALMACENIsNull;
    property NOMBRE_ALMACEN: String read GetNOMBRE_ALMACENValue write SetNOMBRE_ALMACENValue;
    property NOMBRE_ALMACENIsNull: Boolean read GetNOMBRE_ALMACENIsNull write SetNOMBRE_ALMACENIsNull;
    property ID_PEDIDO: Integer read GetID_PEDIDOValue write SetID_PEDIDOValue;
    property ID_PEDIDOIsNull: Boolean read GetID_PEDIDOIsNull write SetID_PEDIDOIsNull;
    property REF_PEDIDO: String read GetREF_PEDIDOValue write SetREF_PEDIDOValue;
    property REF_PEDIDOIsNull: Boolean read GetREF_PEDIDOIsNull write SetREF_PEDIDOIsNull;
    property ID_FACTURA: Integer read GetID_FACTURAValue write SetID_FACTURAValue;
    property ID_FACTURAIsNull: Boolean read GetID_FACTURAIsNull write SetID_FACTURAIsNull;
    property REF_FACTURA: String read GetREF_FACTURAValue write SetREF_FACTURAValue;
    property REF_FACTURAIsNull: Boolean read GetREF_FACTURAIsNull write SetREF_FACTURAIsNull;
    property ID_DIRECCION: Integer read GetID_DIRECCIONValue write SetID_DIRECCIONValue;
    property ID_DIRECCIONIsNull: Boolean read GetID_DIRECCIONIsNull write SetID_DIRECCIONIsNull;
    property CALLE: String read GetCALLEValue write SetCALLEValue;
    property CALLEIsNull: Boolean read GetCALLEIsNull write SetCALLEIsNull;
    property CODIGO_POSTAL: String read GetCODIGO_POSTALValue write SetCODIGO_POSTALValue;
    property CODIGO_POSTALIsNull: Boolean read GetCODIGO_POSTALIsNull write SetCODIGO_POSTALIsNull;
    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 PERSONA_CONTACTO: String read GetPERSONA_CONTACTOValue write SetPERSONA_CONTACTOValue;
    property PERSONA_CONTACTOIsNull: Boolean read GetPERSONA_CONTACTOIsNull write SetPERSONA_CONTACTOIsNull;
    property TELEFONO: String read GetTELEFONOValue write SetTELEFONOValue;
    property TELEFONOIsNull: Boolean read GetTELEFONOIsNull write SetTELEFONOIsNull;
    property IMPORTE_NETO: Currency read GetIMPORTE_NETOValue write SetIMPORTE_NETOValue;
    property IMPORTE_NETOIsNull: Boolean read GetIMPORTE_NETOIsNull write SetIMPORTE_NETOIsNull;
    property IMPORTE_PORTE: Currency read GetIMPORTE_PORTEValue write SetIMPORTE_PORTEValue;
    property IMPORTE_PORTEIsNull: Boolean read GetIMPORTE_PORTEIsNull write SetIMPORTE_PORTEIsNull;
    property DESCUENTO: Float read GetDESCUENTOValue write SetDESCUENTOValue;
    property DESCUENTOIsNull: Boolean read GetDESCUENTOIsNull write SetDESCUENTOIsNull;
    property IMPORTE_DESCUENTO: Currency read GetIMPORTE_DESCUENTOValue write SetIMPORTE_DESCUENTOValue;
    property IMPORTE_DESCUENTOIsNull: Boolean read GetIMPORTE_DESCUENTOIsNull write SetIMPORTE_DESCUENTOIsNull;
    property BASE_IMPONIBLE: Currency read GetBASE_IMPONIBLEValue write SetBASE_IMPONIBLEValue;
    property BASE_IMPONIBLEIsNull: Boolean read GetBASE_IMPONIBLEIsNull write SetBASE_IMPONIBLEIsNull;
    property IVA: Float read GetIVAValue write SetIVAValue;
    property IVAIsNull: Boolean read GetIVAIsNull write SetIVAIsNull;
    property IMPORTE_IVA: Currency read GetIMPORTE_IVAValue write SetIMPORTE_IVAValue;
    property IMPORTE_IVAIsNull: Boolean read GetIMPORTE_IVAIsNull write SetIMPORTE_IVAIsNull;
    property IMPORTE_TOTAL: Currency read GetIMPORTE_TOTALValue write SetIMPORTE_TOTALValue;
    property IMPORTE_TOTALIsNull: Boolean read GetIMPORTE_TOTALIsNull write SetIMPORTE_TOTALIsNull;
    property OBSERVACIONES: IROStrings read GetOBSERVACIONESValue;
    property OBSERVACIONESIsNull: Boolean read GetOBSERVACIONESIsNull write SetOBSERVACIONESIsNull;
    property INCIDENCIAS: IROStrings read GetINCIDENCIASValue;
    property INCIDENCIASIsNull: Boolean read GetINCIDENCIASIsNull write SetINCIDENCIASIsNull;
    property INCIDENCIAS_ACTIVAS: Integer read GetINCIDENCIAS_ACTIVASValue write SetINCIDENCIAS_ACTIVASValue;
    property INCIDENCIAS_ACTIVASIsNull: Boolean read GetINCIDENCIAS_ACTIVASIsNull write SetINCIDENCIAS_ACTIVASIsNull;
    property FECHA_ALTA: DateTime read GetFECHA_ALTAValue write SetFECHA_ALTAValue;
    property FECHA_ALTAIsNull: Boolean read GetFECHA_ALTAIsNull write SetFECHA_ALTAIsNull;
    property FECHA_MODIFICACION: DateTime read GetFECHA_MODIFICACIONValue write SetFECHA_MODIFICACIONValue;
    property FECHA_MODIFICACIONIsNull: Boolean read GetFECHA_MODIFICACIONIsNull write SetFECHA_MODIFICACIONIsNull;
    property USUARIO: String read GetUSUARIOValue write SetUSUARIOValue;
    property USUARIOIsNull: Boolean read GetUSUARIOIsNull write SetUSUARIOIsNull;
    property 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 FECHA_PREVISTA_ENVIO: DateTime read GetFECHA_PREVISTA_ENVIOValue write SetFECHA_PREVISTA_ENVIOValue;
    property FECHA_PREVISTA_ENVIOIsNull: Boolean read GetFECHA_PREVISTA_ENVIOIsNull write SetFECHA_PREVISTA_ENVIOIsNull;
    property FECHA_ENVIO: DateTime read GetFECHA_ENVIOValue write SetFECHA_ENVIOValue;
    property FECHA_ENVIOIsNull: Boolean read GetFECHA_ENVIOIsNull write SetFECHA_ENVIOIsNull;
    property FECHA_RECEPCION: DateTime read GetFECHA_RECEPCIONValue write SetFECHA_RECEPCIONValue;
    property FECHA_RECEPCIONIsNull: Boolean read GetFECHA_RECEPCIONIsNull write SetFECHA_RECEPCIONIsNull;
    property ID_AGENTE: Integer read GetID_AGENTEValue write SetID_AGENTEValue;
    property ID_AGENTEIsNull: Boolean read GetID_AGENTEIsNull write SetID_AGENTEIsNull;
    property AGENTE: String read GetAGENTEValue write SetAGENTEValue;
    property AGENTEIsNull: Boolean read GetAGENTEIsNull write SetAGENTEIsNull;
    property NUM_COPIAS: SmallInt read GetNUM_COPIASValue write SetNUM_COPIASValue;
    property NUM_COPIASIsNull: Boolean read GetNUM_COPIASIsNull write SetNUM_COPIASIsNull;
    property NUM_CORREOS: SmallInt read GetNUM_CORREOSValue write SetNUM_CORREOSValue;
    property NUM_CORREOSIsNull: Boolean read GetNUM_CORREOSIsNull write SetNUM_CORREOSIsNull;
    property BLOQUEADO: SmallInt read GetBLOQUEADOValue write SetBLOQUEADOValue;
    property BLOQUEADOIsNull: Boolean read GetBLOQUEADOIsNull write SetBLOQUEADOIsNull;

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

  end;

  { IAlbaranesCliente_Detalles }
  IAlbaranesCliente_Detalles = interface(IDAStronglyTypedDataTable)
  ['{C2506194-A19D-4E52-AF7D-3CB32896437E}']
    { Property getters and setters }
    function GetIDValue: Integer;
    procedure SetIDValue(const aValue: Integer);
    function GetIDIsNull: Boolean;
    procedure SetIDIsNull(const aValue: Boolean);
    function GetID_ALBARANValue: Integer;
    procedure SetID_ALBARANValue(const aValue: Integer);
    function GetID_ALBARANIsNull: Boolean;
    procedure SetID_ALBARANIsNull(const aValue: Boolean);
    function GetPOSICIONValue: Integer;
    procedure SetPOSICIONValue(const aValue: Integer);
    function GetPOSICIONIsNull: Boolean;
    procedure SetPOSICIONIsNull(const aValue: Boolean);
    function GetTIPO_DETALLEValue: String;
    procedure SetTIPO_DETALLEValue(const aValue: String);
    function GetTIPO_DETALLEIsNull: Boolean;
    procedure SetTIPO_DETALLEIsNull(const aValue: Boolean);
    function GetCONCEPTOValue: String;
    procedure SetCONCEPTOValue(const aValue: String);
    function GetCONCEPTOIsNull: Boolean;
    procedure SetCONCEPTOIsNull(const aValue: Boolean);
    function GetCANTIDADValue: Float;
    procedure SetCANTIDADValue(const aValue: Float);
    function GetCANTIDADIsNull: Boolean;
    procedure SetCANTIDADIsNull(const aValue: Boolean);
    function GetUNIDAD_MEDIDAValue: String;
    procedure SetUNIDAD_MEDIDAValue(const aValue: String);
    function GetUNIDAD_MEDIDAIsNull: Boolean;
    procedure SetUNIDAD_MEDIDAIsNull(const aValue: Boolean);
    function GetIMPORTE_UNIDADValue: Currency;
    procedure SetIMPORTE_UNIDADValue(const aValue: Currency);
    function GetIMPORTE_UNIDADIsNull: Boolean;
    procedure SetIMPORTE_UNIDADIsNull(const aValue: Boolean);
    function GetDESCUENTOValue: Float;
    procedure SetDESCUENTOValue(const aValue: Float);
    function GetDESCUENTOIsNull: Boolean;
    procedure SetDESCUENTOIsNull(const aValue: Boolean);
    function GetIMPORTE_PORTEValue: Currency;
    procedure SetIMPORTE_PORTEValue(const aValue: Currency);
    function GetIMPORTE_PORTEIsNull: Boolean;
    procedure SetIMPORTE_PORTEIsNull(const aValue: Boolean);
    function GetIMPORTE_TOTALValue: Currency;
    procedure SetIMPORTE_TOTALValue(const aValue: Currency);
    function GetIMPORTE_TOTALIsNull: Boolean;
    procedure SetIMPORTE_TOTALIsNull(const aValue: Boolean);
    function GetVISIBLEValue: Integer;
    procedure SetVISIBLEValue(const aValue: Integer);
    function GetVISIBLEIsNull: Boolean;
    procedure SetVISIBLEIsNull(const aValue: Boolean);
    function GetID_ARTICULOValue: Integer;
    procedure SetID_ARTICULOValue(const aValue: Integer);
    function GetID_ARTICULOIsNull: Boolean;
    procedure SetID_ARTICULOIsNull(const aValue: Boolean);
    function GetREFERENCIAValue: String;
    procedure SetREFERENCIAValue(const aValue: String);
    function GetREFERENCIAIsNull: Boolean;
    procedure SetREFERENCIAIsNull(const aValue: Boolean);
    function GetREFERENCIA_PROVEEDORValue: String;
    procedure SetREFERENCIA_PROVEEDORValue(const aValue: String);
    function GetREFERENCIA_PROVEEDORIsNull: Boolean;
    procedure SetREFERENCIA_PROVEEDORIsNull(const aValue: Boolean);
    function GetID_PEDIDOValue: Integer;
    procedure SetID_PEDIDOValue(const aValue: Integer);
    function GetID_PEDIDOIsNull: Boolean;
    procedure SetID_PEDIDOIsNull(const aValue: Boolean);


    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property ID_ALBARAN: Integer read GetID_ALBARANValue write SetID_ALBARANValue;
    property ID_ALBARANIsNull: Boolean read GetID_ALBARANIsNull write SetID_ALBARANIsNull;
    property POSICION: Integer read GetPOSICIONValue write SetPOSICIONValue;
    property POSICIONIsNull: Boolean read GetPOSICIONIsNull write SetPOSICIONIsNull;
    property TIPO_DETALLE: String read GetTIPO_DETALLEValue write SetTIPO_DETALLEValue;
    property TIPO_DETALLEIsNull: Boolean read GetTIPO_DETALLEIsNull write SetTIPO_DETALLEIsNull;
    property CONCEPTO: String read GetCONCEPTOValue write SetCONCEPTOValue;
    property CONCEPTOIsNull: Boolean read GetCONCEPTOIsNull write SetCONCEPTOIsNull;
    property CANTIDAD: Float read GetCANTIDADValue write SetCANTIDADValue;
    property CANTIDADIsNull: Boolean read GetCANTIDADIsNull write SetCANTIDADIsNull;
    property UNIDAD_MEDIDA: String read GetUNIDAD_MEDIDAValue write SetUNIDAD_MEDIDAValue;
    property UNIDAD_MEDIDAIsNull: Boolean read GetUNIDAD_MEDIDAIsNull write SetUNIDAD_MEDIDAIsNull;
    property IMPORTE_UNIDAD: Currency read GetIMPORTE_UNIDADValue write SetIMPORTE_UNIDADValue;
    property IMPORTE_UNIDADIsNull: Boolean read GetIMPORTE_UNIDADIsNull write SetIMPORTE_UNIDADIsNull;
    property DESCUENTO: Float read GetDESCUENTOValue write SetDESCUENTOValue;
    property DESCUENTOIsNull: Boolean read GetDESCUENTOIsNull write SetDESCUENTOIsNull;
    property IMPORTE_PORTE: Currency read GetIMPORTE_PORTEValue write SetIMPORTE_PORTEValue;
    property IMPORTE_PORTEIsNull: Boolean read GetIMPORTE_PORTEIsNull write SetIMPORTE_PORTEIsNull;
    property IMPORTE_TOTAL: Currency read GetIMPORTE_TOTALValue write SetIMPORTE_TOTALValue;
    property IMPORTE_TOTALIsNull: Boolean read GetIMPORTE_TOTALIsNull write SetIMPORTE_TOTALIsNull;
    property VISIBLE: Integer read GetVISIBLEValue write SetVISIBLEValue;
    property VISIBLEIsNull: Boolean read GetVISIBLEIsNull write SetVISIBLEIsNull;
    property ID_ARTICULO: Integer read GetID_ARTICULOValue write SetID_ARTICULOValue;
    property ID_ARTICULOIsNull: Boolean read GetID_ARTICULOIsNull write SetID_ARTICULOIsNull;
    property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue;
    property REFERENCIAIsNull: Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull;
    property REFERENCIA_PROVEEDOR: String read GetREFERENCIA_PROVEEDORValue write SetREFERENCIA_PROVEEDORValue;
    property REFERENCIA_PROVEEDORIsNull: Boolean read GetREFERENCIA_PROVEEDORIsNull write SetREFERENCIA_PROVEEDORIsNull;
    property ID_PEDIDO: Integer read GetID_PEDIDOValue write SetID_PEDIDOValue;
    property ID_PEDIDOIsNull: Boolean read GetID_PEDIDOIsNull write SetID_PEDIDOIsNull;
  end;

  { TAlbaranesCliente_DetallesDataTableRules }
  TAlbaranesCliente_DetallesDataTableRules = class(TIntfObjectDADataTableRules, IAlbaranesCliente_Detalles)
  private
  protected
    { Property getters and setters }
    function GetIDValue: Integer; virtual;
    procedure SetIDValue(const aValue: Integer); virtual;
    function GetIDIsNull: Boolean; virtual;
    procedure SetIDIsNull(const aValue: Boolean); virtual;
    function GetID_ALBARANValue: Integer; virtual;
    procedure SetID_ALBARANValue(const aValue: Integer); virtual;
    function GetID_ALBARANIsNull: Boolean; virtual;
    procedure SetID_ALBARANIsNull(const aValue: Boolean); virtual;
    function GetPOSICIONValue: Integer; virtual;
    procedure SetPOSICIONValue(const aValue: Integer); virtual;
    function GetPOSICIONIsNull: Boolean; virtual;
    procedure SetPOSICIONIsNull(const aValue: Boolean); virtual;
    function GetTIPO_DETALLEValue: String; virtual;
    procedure SetTIPO_DETALLEValue(const aValue: String); virtual;
    function GetTIPO_DETALLEIsNull: Boolean; virtual;
    procedure SetTIPO_DETALLEIsNull(const aValue: Boolean); virtual;
    function GetCONCEPTOValue: String; virtual;
    procedure SetCONCEPTOValue(const aValue: String); virtual;
    function GetCONCEPTOIsNull: Boolean; virtual;
    procedure SetCONCEPTOIsNull(const aValue: Boolean); virtual;
    function GetCANTIDADValue: Float; virtual;
    procedure SetCANTIDADValue(const aValue: Float); virtual;
    function GetCANTIDADIsNull: Boolean; virtual;
    procedure SetCANTIDADIsNull(const aValue: Boolean); virtual;
    function GetUNIDAD_MEDIDAValue: String; virtual;
    procedure SetUNIDAD_MEDIDAValue(const aValue: String); virtual;
    function GetUNIDAD_MEDIDAIsNull: Boolean; virtual;
    procedure SetUNIDAD_MEDIDAIsNull(const aValue: Boolean); virtual;
    function GetIMPORTE_UNIDADValue: Currency; virtual;
    procedure SetIMPORTE_UNIDADValue(const aValue: Currency); virtual;
    function GetIMPORTE_UNIDADIsNull: Boolean; virtual;
    procedure SetIMPORTE_UNIDADIsNull(const aValue: Boolean); virtual;
    function GetDESCUENTOValue: Float; virtual;
    procedure SetDESCUENTOValue(const aValue: Float); virtual;
    function GetDESCUENTOIsNull: Boolean; virtual;
    procedure SetDESCUENTOIsNull(const aValue: Boolean); virtual;
    function GetIMPORTE_PORTEValue: Currency; virtual;
    procedure SetIMPORTE_PORTEValue(const aValue: Currency); virtual;
    function GetIMPORTE_PORTEIsNull: Boolean; virtual;
    procedure SetIMPORTE_PORTEIsNull(const aValue: Boolean); virtual;
    function GetIMPORTE_TOTALValue: Currency; virtual;
    procedure SetIMPORTE_TOTALValue(const aValue: Currency); virtual;
    function GetIMPORTE_TOTALIsNull: Boolean; virtual;
    procedure SetIMPORTE_TOTALIsNull(const aValue: Boolean); virtual;
    function GetVISIBLEValue: Integer; virtual;
    procedure SetVISIBLEValue(const aValue: Integer); virtual;
    function GetVISIBLEIsNull: Boolean; virtual;
    procedure SetVISIBLEIsNull(const aValue: Boolean); virtual;
    function GetID_ARTICULOValue: Integer; virtual;
    procedure SetID_ARTICULOValue(const aValue: Integer); virtual;
    function GetID_ARTICULOIsNull: Boolean; virtual;
    procedure SetID_ARTICULOIsNull(const aValue: Boolean); virtual;
    function GetREFERENCIAValue: String; virtual;
    procedure SetREFERENCIAValue(const aValue: String); virtual;
    function GetREFERENCIAIsNull: Boolean; virtual;
    procedure SetREFERENCIAIsNull(const aValue: Boolean); virtual;
    function GetREFERENCIA_PROVEEDORValue: String; virtual;
    procedure SetREFERENCIA_PROVEEDORValue(const aValue: String); virtual;
    function GetREFERENCIA_PROVEEDORIsNull: Boolean; virtual;
    procedure SetREFERENCIA_PROVEEDORIsNull(const aValue: Boolean); virtual;
    function GetID_PEDIDOValue: Integer; virtual;
    procedure SetID_PEDIDOValue(const aValue: Integer); virtual;
    function GetID_PEDIDOIsNull: Boolean; virtual;
    procedure SetID_PEDIDOIsNull(const aValue: Boolean); virtual;

    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property ID_ALBARAN: Integer read GetID_ALBARANValue write SetID_ALBARANValue;
    property ID_ALBARANIsNull: Boolean read GetID_ALBARANIsNull write SetID_ALBARANIsNull;
    property POSICION: Integer read GetPOSICIONValue write SetPOSICIONValue;
    property POSICIONIsNull: Boolean read GetPOSICIONIsNull write SetPOSICIONIsNull;
    property TIPO_DETALLE: String read GetTIPO_DETALLEValue write SetTIPO_DETALLEValue;
    property TIPO_DETALLEIsNull: Boolean read GetTIPO_DETALLEIsNull write SetTIPO_DETALLEIsNull;
    property CONCEPTO: String read GetCONCEPTOValue write SetCONCEPTOValue;
    property CONCEPTOIsNull: Boolean read GetCONCEPTOIsNull write SetCONCEPTOIsNull;
    property CANTIDAD: Float read GetCANTIDADValue write SetCANTIDADValue;
    property CANTIDADIsNull: Boolean read GetCANTIDADIsNull write SetCANTIDADIsNull;
    property UNIDAD_MEDIDA: String read GetUNIDAD_MEDIDAValue write SetUNIDAD_MEDIDAValue;
    property UNIDAD_MEDIDAIsNull: Boolean read GetUNIDAD_MEDIDAIsNull write SetUNIDAD_MEDIDAIsNull;
    property IMPORTE_UNIDAD: Currency read GetIMPORTE_UNIDADValue write SetIMPORTE_UNIDADValue;
    property IMPORTE_UNIDADIsNull: Boolean read GetIMPORTE_UNIDADIsNull write SetIMPORTE_UNIDADIsNull;
    property DESCUENTO: Float read GetDESCUENTOValue write SetDESCUENTOValue;
    property DESCUENTOIsNull: Boolean read GetDESCUENTOIsNull write SetDESCUENTOIsNull;
    property IMPORTE_PORTE: Currency read GetIMPORTE_PORTEValue write SetIMPORTE_PORTEValue;
    property IMPORTE_PORTEIsNull: Boolean read GetIMPORTE_PORTEIsNull write SetIMPORTE_PORTEIsNull;
    property IMPORTE_TOTAL: Currency read GetIMPORTE_TOTALValue write SetIMPORTE_TOTALValue;
    property IMPORTE_TOTALIsNull: Boolean read GetIMPORTE_TOTALIsNull write SetIMPORTE_TOTALIsNull;
    property VISIBLE: Integer read GetVISIBLEValue write SetVISIBLEValue;
    property VISIBLEIsNull: Boolean read GetVISIBLEIsNull write SetVISIBLEIsNull;
    property ID_ARTICULO: Integer read GetID_ARTICULOValue write SetID_ARTICULOValue;
    property ID_ARTICULOIsNull: Boolean read GetID_ARTICULOIsNull write SetID_ARTICULOIsNull;
    property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue;
    property REFERENCIAIsNull: Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull;
    property REFERENCIA_PROVEEDOR: String read GetREFERENCIA_PROVEEDORValue write SetREFERENCIA_PROVEEDORValue;
    property REFERENCIA_PROVEEDORIsNull: Boolean read GetREFERENCIA_PROVEEDORIsNull write SetREFERENCIA_PROVEEDORIsNull;
    property ID_PEDIDO: Integer read GetID_PEDIDOValue write SetID_PEDIDOValue;
    property ID_PEDIDOIsNull: Boolean read GetID_PEDIDOIsNull write SetID_PEDIDOIsNull;

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

  end;

implementation

uses Variants, uROBinaryHelpers;

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

destructor TListaAnosAlbaranesDataTableRules.Destroy;
begin
  inherited;
end;

function TListaAnosAlbaranesDataTableRules.GetANOValue: String;
begin
  result := DataTable.Fields[idx_ListaAnosAlbaranesANO].AsString;
end;

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

function TListaAnosAlbaranesDataTableRules.GetANOIsNull: boolean;
begin
  result := DataTable.Fields[idx_ListaAnosAlbaranesANO].IsNull;
end;

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


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

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

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

destructor TAlbaranesClienteDataTableRules.Destroy;
begin
  inherited;
end;

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

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

function TAlbaranesClienteDataTableRules.GetIDValue: Integer;
begin
  result := DataTable.Fields[idx_AlbaranesClienteID].AsInteger;
end;

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

function TAlbaranesClienteDataTableRules.GetIDIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlbaranesClienteID].IsNull;
end;

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

function TAlbaranesClienteDataTableRules.GetID_EMPRESAValue: Integer;
begin
  result := DataTable.Fields[idx_AlbaranesClienteID_EMPRESA].AsInteger;
end;

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

function TAlbaranesClienteDataTableRules.GetID_EMPRESAIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlbaranesClienteID_EMPRESA].IsNull;
end;

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

function TAlbaranesClienteDataTableRules.GetID_CLIENTEValue: Integer;
begin
  result := DataTable.Fields[idx_AlbaranesClienteID_CLIENTE].AsInteger;
end;

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

function TAlbaranesClienteDataTableRules.GetID_CLIENTEIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlbaranesClienteID_CLIENTE].IsNull;
end;

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

function TAlbaranesClienteDataTableRules.GetNOMBREValue: String;
begin
  result := DataTable.Fields[idx_AlbaranesClienteNOMBRE].AsString;
end;

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

function TAlbaranesClienteDataTableRules.GetNOMBREIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlbaranesClienteNOMBRE].IsNull;
end;

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

function TAlbaranesClienteDataTableRules.GetFECHA_ALBARANValue: DateTime;
begin
  result := DataTable.Fields[idx_AlbaranesClienteFECHA_ALBARAN].AsDateTime;
end;

procedure TAlbaranesClienteDataTableRules.SetFECHA_ALBARANValue(const aValue: DateTime);
begin
  DataTable.Fields[idx_AlbaranesClienteFECHA_ALBARAN].AsDateTime := aValue;
end;

function TAlbaranesClienteDataTableRules.GetFECHA_ALBARANIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlbaranesClienteFECHA_ALBARAN].IsNull;
end;

procedure TAlbaranesClienteDataTableRules.SetFECHA_ALBARANIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_AlbaranesClienteFECHA_ALBARAN].AsVariant := Null;
end;

function TAlbaranesClienteDataTableRules.GetREFERENCIAValue: String;
begin
  result := DataTable.Fields[idx_AlbaranesClienteREFERENCIA].AsString;
end;

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

function TAlbaranesClienteDataTableRules.GetREFERENCIAIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlbaranesClienteREFERENCIA].IsNull;
end;

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

function TAlbaranesClienteDataTableRules.GetREFERENCIA_CLIENTEValue: String;
begin
  result := DataTable.Fields[idx_AlbaranesClienteREFERENCIA_CLIENTE].AsString;
end;

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

function TAlbaranesClienteDataTableRules.GetREFERENCIA_CLIENTEIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlbaranesClienteREFERENCIA_CLIENTE].IsNull;
end;

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

function TAlbaranesClienteDataTableRules.GetTIPOValue: String;
begin
  result := DataTable.Fields[idx_AlbaranesClienteTIPO].AsString;
end;

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

function TAlbaranesClienteDataTableRules.GetTIPOIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlbaranesClienteTIPO].IsNull;
end;

procedure TAlbaranesClienteDataTableRules.SetTIPOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_AlbaranesClienteTIPO].AsVariant := Null;
end;

function TAlbaranesClienteDataTableRules.GetID_ALBARAN_DEVValue: Integer;
begin
  result := DataTable.Fields[idx_AlbaranesClienteID_ALBARAN_DEV].AsInteger;
end;

procedure TAlbaranesClienteDataTableRules.SetID_ALBARAN_DEVValue(const aValue: Integer);
begin
  DataTable.Fields[idx_AlbaranesClienteID_ALBARAN_DEV].AsInteger := aValue;
end;

function TAlbaranesClienteDataTableRules.GetID_ALBARAN_DEVIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlbaranesClienteID_ALBARAN_DEV].IsNull;
end;

procedure TAlbaranesClienteDataTableRules.SetID_ALBARAN_DEVIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_AlbaranesClienteID_ALBARAN_DEV].AsVariant := Null;
end;

function TAlbaranesClienteDataTableRules.GetREFERENCIA_ALB_DEVValue: String;
begin
  result := DataTable.Fields[idx_AlbaranesClienteREFERENCIA_ALB_DEV].AsString;
end;

procedure TAlbaranesClienteDataTableRules.SetREFERENCIA_ALB_DEVValue(const aValue: String);
begin
  DataTable.Fields[idx_AlbaranesClienteREFERENCIA_ALB_DEV].AsString := aValue;
end;

function TAlbaranesClienteDataTableRules.GetREFERENCIA_ALB_DEVIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlbaranesClienteREFERENCIA_ALB_DEV].IsNull;
end;

procedure TAlbaranesClienteDataTableRules.SetREFERENCIA_ALB_DEVIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_AlbaranesClienteREFERENCIA_ALB_DEV].AsVariant := Null;
end;

function TAlbaranesClienteDataTableRules.GetID_FAC_ALB_DEVValue: Integer;
begin
  result := DataTable.Fields[idx_AlbaranesClienteID_FAC_ALB_DEV].AsInteger;
end;

procedure TAlbaranesClienteDataTableRules.SetID_FAC_ALB_DEVValue(const aValue: Integer);
begin
  DataTable.Fields[idx_AlbaranesClienteID_FAC_ALB_DEV].AsInteger := aValue;
end;

function TAlbaranesClienteDataTableRules.GetID_FAC_ALB_DEVIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlbaranesClienteID_FAC_ALB_DEV].IsNull;
end;

procedure TAlbaranesClienteDataTableRules.SetID_FAC_ALB_DEVIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_AlbaranesClienteID_FAC_ALB_DEV].AsVariant := Null;
end;

function TAlbaranesClienteDataTableRules.GetREFERENCIA_FAC_ALB_DEVValue: String;
begin
  result := DataTable.Fields[idx_AlbaranesClienteREFERENCIA_FAC_ALB_DEV].AsString;
end;

procedure TAlbaranesClienteDataTableRules.SetREFERENCIA_FAC_ALB_DEVValue(const aValue: String);
begin
  DataTable.Fields[idx_AlbaranesClienteREFERENCIA_FAC_ALB_DEV].AsString := aValue;
end;

function TAlbaranesClienteDataTableRules.GetREFERENCIA_FAC_ALB_DEVIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlbaranesClienteREFERENCIA_FAC_ALB_DEV].IsNull;
end;

procedure TAlbaranesClienteDataTableRules.SetREFERENCIA_FAC_ALB_DEVIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_AlbaranesClienteREFERENCIA_FAC_ALB_DEV].AsVariant := Null;
end;

function TAlbaranesClienteDataTableRules.GetSITUACIONValue: String;
begin
  result := DataTable.Fields[idx_AlbaranesClienteSITUACION].AsString;
end;

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

function TAlbaranesClienteDataTableRules.GetSITUACIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlbaranesClienteSITUACION].IsNull;
end;

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

function TAlbaranesClienteDataTableRules.GetID_ALMACENValue: Integer;
begin
  result := DataTable.Fields[idx_AlbaranesClienteID_ALMACEN].AsInteger;
end;

procedure TAlbaranesClienteDataTableRules.SetID_ALMACENValue(const aValue: Integer);
begin
  DataTable.Fields[idx_AlbaranesClienteID_ALMACEN].AsInteger := aValue;
end;

function TAlbaranesClienteDataTableRules.GetID_ALMACENIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlbaranesClienteID_ALMACEN].IsNull;
end;

procedure TAlbaranesClienteDataTableRules.SetID_ALMACENIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_AlbaranesClienteID_ALMACEN].AsVariant := Null;
end;

function TAlbaranesClienteDataTableRules.GetNOMBRE_ALMACENValue: String;
begin
  result := DataTable.Fields[idx_AlbaranesClienteNOMBRE_ALMACEN].AsString;
end;

procedure TAlbaranesClienteDataTableRules.SetNOMBRE_ALMACENValue(const aValue: String);
begin
  DataTable.Fields[idx_AlbaranesClienteNOMBRE_ALMACEN].AsString := aValue;
end;

function TAlbaranesClienteDataTableRules.GetNOMBRE_ALMACENIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlbaranesClienteNOMBRE_ALMACEN].IsNull;
end;

procedure TAlbaranesClienteDataTableRules.SetNOMBRE_ALMACENIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_AlbaranesClienteNOMBRE_ALMACEN].AsVariant := Null;
end;

function TAlbaranesClienteDataTableRules.GetID_PEDIDOValue: Integer;
begin
  result := DataTable.Fields[idx_AlbaranesClienteID_PEDIDO].AsInteger;
end;

procedure TAlbaranesClienteDataTableRules.SetID_PEDIDOValue(const aValue: Integer);
begin
  DataTable.Fields[idx_AlbaranesClienteID_PEDIDO].AsInteger := aValue;
end;

function TAlbaranesClienteDataTableRules.GetID_PEDIDOIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlbaranesClienteID_PEDIDO].IsNull;
end;

procedure TAlbaranesClienteDataTableRules.SetID_PEDIDOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_AlbaranesClienteID_PEDIDO].AsVariant := Null;
end;

function TAlbaranesClienteDataTableRules.GetREF_PEDIDOValue: String;
begin
  result := DataTable.Fields[idx_AlbaranesClienteREF_PEDIDO].AsString;
end;

procedure TAlbaranesClienteDataTableRules.SetREF_PEDIDOValue(const aValue: String);
begin
  DataTable.Fields[idx_AlbaranesClienteREF_PEDIDO].AsString := aValue;
end;

function TAlbaranesClienteDataTableRules.GetREF_PEDIDOIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlbaranesClienteREF_PEDIDO].IsNull;
end;

procedure TAlbaranesClienteDataTableRules.SetREF_PEDIDOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_AlbaranesClienteREF_PEDIDO].AsVariant := Null;
end;

function TAlbaranesClienteDataTableRules.GetID_FACTURAValue: Integer;
begin
  result := DataTable.Fields[idx_AlbaranesClienteID_FACTURA].AsInteger;
end;

procedure TAlbaranesClienteDataTableRules.SetID_FACTURAValue(const aValue: Integer);
begin
  DataTable.Fields[idx_AlbaranesClienteID_FACTURA].AsInteger := aValue;
end;

function TAlbaranesClienteDataTableRules.GetID_FACTURAIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlbaranesClienteID_FACTURA].IsNull;
end;

procedure TAlbaranesClienteDataTableRules.SetID_FACTURAIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_AlbaranesClienteID_FACTURA].AsVariant := Null;
end;

function TAlbaranesClienteDataTableRules.GetREF_FACTURAValue: String;
begin
  result := DataTable.Fields[idx_AlbaranesClienteREF_FACTURA].AsString;
end;

procedure TAlbaranesClienteDataTableRules.SetREF_FACTURAValue(const aValue: String);
begin
  DataTable.Fields[idx_AlbaranesClienteREF_FACTURA].AsString := aValue;
end;

function TAlbaranesClienteDataTableRules.GetREF_FACTURAIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlbaranesClienteREF_FACTURA].IsNull;
end;

procedure TAlbaranesClienteDataTableRules.SetREF_FACTURAIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_AlbaranesClienteREF_FACTURA].AsVariant := Null;
end;

function TAlbaranesClienteDataTableRules.GetID_DIRECCIONValue: Integer;
begin
  result := DataTable.Fields[idx_AlbaranesClienteID_DIRECCION].AsInteger;
end;

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

function TAlbaranesClienteDataTableRules.GetID_DIRECCIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlbaranesClienteID_DIRECCION].IsNull;
end;

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

function TAlbaranesClienteDataTableRules.GetCALLEValue: String;
begin
  result := DataTable.Fields[idx_AlbaranesClienteCALLE].AsString;
end;

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

function TAlbaranesClienteDataTableRules.GetCALLEIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlbaranesClienteCALLE].IsNull;
end;

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

function TAlbaranesClienteDataTableRules.GetCODIGO_POSTALValue: String;
begin
  result := DataTable.Fields[idx_AlbaranesClienteCODIGO_POSTAL].AsString;
end;

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

function TAlbaranesClienteDataTableRules.GetCODIGO_POSTALIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlbaranesClienteCODIGO_POSTAL].IsNull;
end;

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

function TAlbaranesClienteDataTableRules.GetPOBLACIONValue: String;
begin
  result := DataTable.Fields[idx_AlbaranesClientePOBLACION].AsString;
end;

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

function TAlbaranesClienteDataTableRules.GetPOBLACIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlbaranesClientePOBLACION].IsNull;
end;

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

function TAlbaranesClienteDataTableRules.GetPROVINCIAValue: String;
begin
  result := DataTable.Fields[idx_AlbaranesClientePROVINCIA].AsString;
end;

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

function TAlbaranesClienteDataTableRules.GetPROVINCIAIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlbaranesClientePROVINCIA].IsNull;
end;

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

function TAlbaranesClienteDataTableRules.GetPERSONA_CONTACTOValue: String;
begin
  result := DataTable.Fields[idx_AlbaranesClientePERSONA_CONTACTO].AsString;
end;

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

function TAlbaranesClienteDataTableRules.GetPERSONA_CONTACTOIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlbaranesClientePERSONA_CONTACTO].IsNull;
end;

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

function TAlbaranesClienteDataTableRules.GetTELEFONOValue: String;
begin
  result := DataTable.Fields[idx_AlbaranesClienteTELEFONO].AsString;
end;

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

function TAlbaranesClienteDataTableRules.GetTELEFONOIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlbaranesClienteTELEFONO].IsNull;
end;

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

function TAlbaranesClienteDataTableRules.GetIMPORTE_NETOValue: Currency;
begin
  result := DataTable.Fields[idx_AlbaranesClienteIMPORTE_NETO].AsCurrency;
end;

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

function TAlbaranesClienteDataTableRules.GetIMPORTE_NETOIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlbaranesClienteIMPORTE_NETO].IsNull;
end;

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

function TAlbaranesClienteDataTableRules.GetIMPORTE_PORTEValue: Currency;
begin
  result := DataTable.Fields[idx_AlbaranesClienteIMPORTE_PORTE].AsCurrency;
end;

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

function TAlbaranesClienteDataTableRules.GetIMPORTE_PORTEIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlbaranesClienteIMPORTE_PORTE].IsNull;
end;

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

function TAlbaranesClienteDataTableRules.GetDESCUENTOValue: Float;
begin
  result := DataTable.Fields[idx_AlbaranesClienteDESCUENTO].AsFloat;
end;

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

function TAlbaranesClienteDataTableRules.GetDESCUENTOIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlbaranesClienteDESCUENTO].IsNull;
end;

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

function TAlbaranesClienteDataTableRules.GetIMPORTE_DESCUENTOValue: Currency;
begin
  result := DataTable.Fields[idx_AlbaranesClienteIMPORTE_DESCUENTO].AsCurrency;
end;

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

function TAlbaranesClienteDataTableRules.GetIMPORTE_DESCUENTOIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlbaranesClienteIMPORTE_DESCUENTO].IsNull;
end;

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

function TAlbaranesClienteDataTableRules.GetBASE_IMPONIBLEValue: Currency;
begin
  result := DataTable.Fields[idx_AlbaranesClienteBASE_IMPONIBLE].AsCurrency;
end;

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

function TAlbaranesClienteDataTableRules.GetBASE_IMPONIBLEIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlbaranesClienteBASE_IMPONIBLE].IsNull;
end;

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

function TAlbaranesClienteDataTableRules.GetIVAValue: Float;
begin
  result := DataTable.Fields[idx_AlbaranesClienteIVA].AsFloat;
end;

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

function TAlbaranesClienteDataTableRules.GetIVAIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlbaranesClienteIVA].IsNull;
end;

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

function TAlbaranesClienteDataTableRules.GetIMPORTE_IVAValue: Currency;
begin
  result := DataTable.Fields[idx_AlbaranesClienteIMPORTE_IVA].AsCurrency;
end;

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

function TAlbaranesClienteDataTableRules.GetIMPORTE_IVAIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlbaranesClienteIMPORTE_IVA].IsNull;
end;

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

function TAlbaranesClienteDataTableRules.GetIMPORTE_TOTALValue: Currency;
begin
  result := DataTable.Fields[idx_AlbaranesClienteIMPORTE_TOTAL].AsCurrency;
end;

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

function TAlbaranesClienteDataTableRules.GetIMPORTE_TOTALIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlbaranesClienteIMPORTE_TOTAL].IsNull;
end;

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

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

function TAlbaranesClienteDataTableRules.GetOBSERVACIONESIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlbaranesClienteOBSERVACIONES].IsNull;
end;

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

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

function TAlbaranesClienteDataTableRules.GetINCIDENCIASIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlbaranesClienteINCIDENCIAS].IsNull;
end;

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

function TAlbaranesClienteDataTableRules.GetINCIDENCIAS_ACTIVASValue: Integer;
begin
  result := DataTable.Fields[idx_AlbaranesClienteINCIDENCIAS_ACTIVAS].AsInteger;
end;

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

function TAlbaranesClienteDataTableRules.GetINCIDENCIAS_ACTIVASIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlbaranesClienteINCIDENCIAS_ACTIVAS].IsNull;
end;

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

function TAlbaranesClienteDataTableRules.GetFECHA_ALTAValue: DateTime;
begin
  result := DataTable.Fields[idx_AlbaranesClienteFECHA_ALTA].AsDateTime;
end;

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

function TAlbaranesClienteDataTableRules.GetFECHA_ALTAIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlbaranesClienteFECHA_ALTA].IsNull;
end;

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

function TAlbaranesClienteDataTableRules.GetFECHA_MODIFICACIONValue: DateTime;
begin
  result := DataTable.Fields[idx_AlbaranesClienteFECHA_MODIFICACION].AsDateTime;
end;

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

function TAlbaranesClienteDataTableRules.GetFECHA_MODIFICACIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlbaranesClienteFECHA_MODIFICACION].IsNull;
end;

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

function TAlbaranesClienteDataTableRules.GetUSUARIOValue: String;
begin
  result := DataTable.Fields[idx_AlbaranesClienteUSUARIO].AsString;
end;

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

function TAlbaranesClienteDataTableRules.GetUSUARIOIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlbaranesClienteUSUARIO].IsNull;
end;

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

function TAlbaranesClienteDataTableRules.GetID_FORMA_PAGOValue: Integer;
begin
  result := DataTable.Fields[idx_AlbaranesClienteID_FORMA_PAGO].AsInteger;
end;

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

function TAlbaranesClienteDataTableRules.GetID_FORMA_PAGOIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlbaranesClienteID_FORMA_PAGO].IsNull;
end;

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

function TAlbaranesClienteDataTableRules.GetFECHA_PREVISTA_ENVIOValue: DateTime;
begin
  result := DataTable.Fields[idx_AlbaranesClienteFECHA_PREVISTA_ENVIO].AsDateTime;
end;

procedure TAlbaranesClienteDataTableRules.SetFECHA_PREVISTA_ENVIOValue(const aValue: DateTime);
begin
  DataTable.Fields[idx_AlbaranesClienteFECHA_PREVISTA_ENVIO].AsDateTime := aValue;
end;

function TAlbaranesClienteDataTableRules.GetFECHA_PREVISTA_ENVIOIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlbaranesClienteFECHA_PREVISTA_ENVIO].IsNull;
end;

procedure TAlbaranesClienteDataTableRules.SetFECHA_PREVISTA_ENVIOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_AlbaranesClienteFECHA_PREVISTA_ENVIO].AsVariant := Null;
end;

function TAlbaranesClienteDataTableRules.GetFECHA_ENVIOValue: DateTime;
begin
  result := DataTable.Fields[idx_AlbaranesClienteFECHA_ENVIO].AsDateTime;
end;

procedure TAlbaranesClienteDataTableRules.SetFECHA_ENVIOValue(const aValue: DateTime);
begin
  DataTable.Fields[idx_AlbaranesClienteFECHA_ENVIO].AsDateTime := aValue;
end;

function TAlbaranesClienteDataTableRules.GetFECHA_ENVIOIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlbaranesClienteFECHA_ENVIO].IsNull;
end;

procedure TAlbaranesClienteDataTableRules.SetFECHA_ENVIOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_AlbaranesClienteFECHA_ENVIO].AsVariant := Null;
end;

function TAlbaranesClienteDataTableRules.GetFECHA_RECEPCIONValue: DateTime;
begin
  result := DataTable.Fields[idx_AlbaranesClienteFECHA_RECEPCION].AsDateTime;
end;

procedure TAlbaranesClienteDataTableRules.SetFECHA_RECEPCIONValue(const aValue: DateTime);
begin
  DataTable.Fields[idx_AlbaranesClienteFECHA_RECEPCION].AsDateTime := aValue;
end;

function TAlbaranesClienteDataTableRules.GetFECHA_RECEPCIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlbaranesClienteFECHA_RECEPCION].IsNull;
end;

procedure TAlbaranesClienteDataTableRules.SetFECHA_RECEPCIONIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_AlbaranesClienteFECHA_RECEPCION].AsVariant := Null;
end;

function TAlbaranesClienteDataTableRules.GetID_AGENTEValue: Integer;
begin
  result := DataTable.Fields[idx_AlbaranesClienteID_AGENTE].AsInteger;
end;

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

function TAlbaranesClienteDataTableRules.GetID_AGENTEIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlbaranesClienteID_AGENTE].IsNull;
end;

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

function TAlbaranesClienteDataTableRules.GetAGENTEValue: String;
begin
  result := DataTable.Fields[idx_AlbaranesClienteAGENTE].AsString;
end;

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

function TAlbaranesClienteDataTableRules.GetAGENTEIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlbaranesClienteAGENTE].IsNull;
end;

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

function TAlbaranesClienteDataTableRules.GetNUM_COPIASValue: SmallInt;
begin
  result := DataTable.Fields[idx_AlbaranesClienteNUM_COPIAS].AsSmallInt;
end;

procedure TAlbaranesClienteDataTableRules.SetNUM_COPIASValue(const aValue: SmallInt);
begin
  DataTable.Fields[idx_AlbaranesClienteNUM_COPIAS].AsSmallInt := aValue;
end;

function TAlbaranesClienteDataTableRules.GetNUM_COPIASIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlbaranesClienteNUM_COPIAS].IsNull;
end;

procedure TAlbaranesClienteDataTableRules.SetNUM_COPIASIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_AlbaranesClienteNUM_COPIAS].AsVariant := Null;
end;

function TAlbaranesClienteDataTableRules.GetNUM_CORREOSValue: SmallInt;
begin
  result := DataTable.Fields[idx_AlbaranesClienteNUM_CORREOS].AsSmallInt;
end;

procedure TAlbaranesClienteDataTableRules.SetNUM_CORREOSValue(const aValue: SmallInt);
begin
  DataTable.Fields[idx_AlbaranesClienteNUM_CORREOS].AsSmallInt := aValue;
end;

function TAlbaranesClienteDataTableRules.GetNUM_CORREOSIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlbaranesClienteNUM_CORREOS].IsNull;
end;

procedure TAlbaranesClienteDataTableRules.SetNUM_CORREOSIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_AlbaranesClienteNUM_CORREOS].AsVariant := Null;
end;

function TAlbaranesClienteDataTableRules.GetBLOQUEADOValue: SmallInt;
begin
  result := DataTable.Fields[idx_AlbaranesClienteBLOQUEADO].AsSmallInt;
end;

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

function TAlbaranesClienteDataTableRules.GetBLOQUEADOIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlbaranesClienteBLOQUEADO].IsNull;
end;

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


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

destructor TAlbaranesCliente_DetallesDataTableRules.Destroy;
begin
  inherited;
end;

function TAlbaranesCliente_DetallesDataTableRules.GetIDValue: Integer;
begin
  result := DataTable.Fields[idx_AlbaranesCliente_DetallesID].AsInteger;
end;

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

function TAlbaranesCliente_DetallesDataTableRules.GetIDIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlbaranesCliente_DetallesID].IsNull;
end;

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

function TAlbaranesCliente_DetallesDataTableRules.GetID_ALBARANValue: Integer;
begin
  result := DataTable.Fields[idx_AlbaranesCliente_DetallesID_ALBARAN].AsInteger;
end;

procedure TAlbaranesCliente_DetallesDataTableRules.SetID_ALBARANValue(const aValue: Integer);
begin
  DataTable.Fields[idx_AlbaranesCliente_DetallesID_ALBARAN].AsInteger := aValue;
end;

function TAlbaranesCliente_DetallesDataTableRules.GetID_ALBARANIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlbaranesCliente_DetallesID_ALBARAN].IsNull;
end;

procedure TAlbaranesCliente_DetallesDataTableRules.SetID_ALBARANIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_AlbaranesCliente_DetallesID_ALBARAN].AsVariant := Null;
end;

function TAlbaranesCliente_DetallesDataTableRules.GetPOSICIONValue: Integer;
begin
  result := DataTable.Fields[idx_AlbaranesCliente_DetallesPOSICION].AsInteger;
end;

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

function TAlbaranesCliente_DetallesDataTableRules.GetPOSICIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlbaranesCliente_DetallesPOSICION].IsNull;
end;

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

function TAlbaranesCliente_DetallesDataTableRules.GetTIPO_DETALLEValue: String;
begin
  result := DataTable.Fields[idx_AlbaranesCliente_DetallesTIPO_DETALLE].AsString;
end;

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

function TAlbaranesCliente_DetallesDataTableRules.GetTIPO_DETALLEIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlbaranesCliente_DetallesTIPO_DETALLE].IsNull;
end;

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

function TAlbaranesCliente_DetallesDataTableRules.GetCONCEPTOValue: String;
begin
  result := DataTable.Fields[idx_AlbaranesCliente_DetallesCONCEPTO].AsString;
end;

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

function TAlbaranesCliente_DetallesDataTableRules.GetCONCEPTOIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlbaranesCliente_DetallesCONCEPTO].IsNull;
end;

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

function TAlbaranesCliente_DetallesDataTableRules.GetCANTIDADValue: Float;
begin
  result := DataTable.Fields[idx_AlbaranesCliente_DetallesCANTIDAD].AsFloat;
end;

procedure TAlbaranesCliente_DetallesDataTableRules.SetCANTIDADValue(const aValue: Float);
begin
  DataTable.Fields[idx_AlbaranesCliente_DetallesCANTIDAD].AsFloat := aValue;
end;

function TAlbaranesCliente_DetallesDataTableRules.GetCANTIDADIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlbaranesCliente_DetallesCANTIDAD].IsNull;
end;

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

function TAlbaranesCliente_DetallesDataTableRules.GetUNIDAD_MEDIDAValue: String;
begin
  result := DataTable.Fields[idx_AlbaranesCliente_DetallesUNIDAD_MEDIDA].AsString;
end;

procedure TAlbaranesCliente_DetallesDataTableRules.SetUNIDAD_MEDIDAValue(const aValue: String);
begin
  DataTable.Fields[idx_AlbaranesCliente_DetallesUNIDAD_MEDIDA].AsString := aValue;
end;

function TAlbaranesCliente_DetallesDataTableRules.GetUNIDAD_MEDIDAIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlbaranesCliente_DetallesUNIDAD_MEDIDA].IsNull;
end;

procedure TAlbaranesCliente_DetallesDataTableRules.SetUNIDAD_MEDIDAIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_AlbaranesCliente_DetallesUNIDAD_MEDIDA].AsVariant := Null;
end;

function TAlbaranesCliente_DetallesDataTableRules.GetIMPORTE_UNIDADValue: Currency;
begin
  result := DataTable.Fields[idx_AlbaranesCliente_DetallesIMPORTE_UNIDAD].AsCurrency;
end;

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

function TAlbaranesCliente_DetallesDataTableRules.GetIMPORTE_UNIDADIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlbaranesCliente_DetallesIMPORTE_UNIDAD].IsNull;
end;

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

function TAlbaranesCliente_DetallesDataTableRules.GetDESCUENTOValue: Float;
begin
  result := DataTable.Fields[idx_AlbaranesCliente_DetallesDESCUENTO].AsFloat;
end;

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

function TAlbaranesCliente_DetallesDataTableRules.GetDESCUENTOIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlbaranesCliente_DetallesDESCUENTO].IsNull;
end;

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

function TAlbaranesCliente_DetallesDataTableRules.GetIMPORTE_PORTEValue: Currency;
begin
  result := DataTable.Fields[idx_AlbaranesCliente_DetallesIMPORTE_PORTE].AsCurrency;
end;

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

function TAlbaranesCliente_DetallesDataTableRules.GetIMPORTE_PORTEIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlbaranesCliente_DetallesIMPORTE_PORTE].IsNull;
end;

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

function TAlbaranesCliente_DetallesDataTableRules.GetIMPORTE_TOTALValue: Currency;
begin
  result := DataTable.Fields[idx_AlbaranesCliente_DetallesIMPORTE_TOTAL].AsCurrency;
end;

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

function TAlbaranesCliente_DetallesDataTableRules.GetIMPORTE_TOTALIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlbaranesCliente_DetallesIMPORTE_TOTAL].IsNull;
end;

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

function TAlbaranesCliente_DetallesDataTableRules.GetVISIBLEValue: Integer;
begin
  result := DataTable.Fields[idx_AlbaranesCliente_DetallesVISIBLE].AsInteger;
end;

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

function TAlbaranesCliente_DetallesDataTableRules.GetVISIBLEIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlbaranesCliente_DetallesVISIBLE].IsNull;
end;

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

function TAlbaranesCliente_DetallesDataTableRules.GetID_ARTICULOValue: Integer;
begin
  result := DataTable.Fields[idx_AlbaranesCliente_DetallesID_ARTICULO].AsInteger;
end;

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

function TAlbaranesCliente_DetallesDataTableRules.GetID_ARTICULOIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlbaranesCliente_DetallesID_ARTICULO].IsNull;
end;

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

function TAlbaranesCliente_DetallesDataTableRules.GetREFERENCIAValue: String;
begin
  result := DataTable.Fields[idx_AlbaranesCliente_DetallesREFERENCIA].AsString;
end;

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

function TAlbaranesCliente_DetallesDataTableRules.GetREFERENCIAIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlbaranesCliente_DetallesREFERENCIA].IsNull;
end;

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

function TAlbaranesCliente_DetallesDataTableRules.GetREFERENCIA_PROVEEDORValue: String;
begin
  result := DataTable.Fields[idx_AlbaranesCliente_DetallesREFERENCIA_PROVEEDOR].AsString;
end;

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

function TAlbaranesCliente_DetallesDataTableRules.GetREFERENCIA_PROVEEDORIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlbaranesCliente_DetallesREFERENCIA_PROVEEDOR].IsNull;
end;

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

function TAlbaranesCliente_DetallesDataTableRules.GetID_PEDIDOValue: Integer;
begin
  result := DataTable.Fields[idx_AlbaranesCliente_DetallesID_PEDIDO].AsInteger;
end;

procedure TAlbaranesCliente_DetallesDataTableRules.SetID_PEDIDOValue(const aValue: Integer);
begin
  DataTable.Fields[idx_AlbaranesCliente_DetallesID_PEDIDO].AsInteger := aValue;
end;

function TAlbaranesCliente_DetallesDataTableRules.GetID_PEDIDOIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlbaranesCliente_DetallesID_PEDIDO].IsNull;
end;

procedure TAlbaranesCliente_DetallesDataTableRules.SetID_PEDIDOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_AlbaranesCliente_DetallesID_PEDIDO].AsVariant := Null;
end;


initialization
  RegisterDataTableRules(RID_ListaAnosAlbaranes, TListaAnosAlbaranesDataTableRules);
  RegisterDataTableRules(RID_AlbaranesCliente, TAlbaranesClienteDataTableRules);
  RegisterDataTableRules(RID_AlbaranesCliente_Detalles, TAlbaranesCliente_DetallesDataTableRules);

end.
