unit schInventarioClient_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_Inventario = '{0BE4852B-9A3A-41C0-A474-E53C55D135B2}';
  RID_DetalleReservas = '{FC79490D-CB5A-41A4-8163-92EC6F2DA49D}';

  { Data table names }
  nme_Inventario = 'Inventario';
  nme_DetalleReservas = 'DetalleReservas';

  { Inventario fields }
  fld_InventarioID_ALMACEN = 'ID_ALMACEN';
  fld_InventarioID_ARTICULO = 'ID_ARTICULO';
  fld_InventarioALMACEN = 'ALMACEN';
  fld_InventarioID_EMPRESA = 'ID_EMPRESA';
  fld_InventarioREFERENCIA = 'REFERENCIA';
  fld_InventarioFAMILIA = 'FAMILIA';
  fld_InventarioDESCRIPCION = 'DESCRIPCION';
  fld_InventarioREFERENCIA_PROVEEDOR = 'REFERENCIA_PROVEEDOR';
  fld_InventarioPRECIO_NETO = 'PRECIO_NETO';
  fld_InventarioSTOCK = 'STOCK';
  fld_InventarioUNIDADES_ALMACEN = 'UNIDADES_ALMACEN';
  fld_InventarioCOSTE_UNIDADES = 'COSTE_UNIDADES';
  fld_InventarioRESERVA = 'RESERVA';
  fld_InventarioPENDIENTE_RECEPCION = 'PENDIENTE_RECEPCION';
  fld_InventarioID = 'ID';
  fld_InventarioCANTIDAD = 'CANTIDAD';
  fld_InventarioFECHA_MOVIMIENTO = 'FECHA_MOVIMIENTO';
  fld_InventarioCAUSA = 'CAUSA';
  fld_InventarioTIPO = 'TIPO';

  { Inventario field indexes }
  idx_InventarioID_ALMACEN = 0;
  idx_InventarioID_ARTICULO = 1;
  idx_InventarioALMACEN = 2;
  idx_InventarioID_EMPRESA = 3;
  idx_InventarioREFERENCIA = 4;
  idx_InventarioFAMILIA = 5;
  idx_InventarioDESCRIPCION = 6;
  idx_InventarioREFERENCIA_PROVEEDOR = 7;
  idx_InventarioPRECIO_NETO = 8;
  idx_InventarioSTOCK = 9;
  idx_InventarioUNIDADES_ALMACEN = 10;
  idx_InventarioCOSTE_UNIDADES = 11;
  idx_InventarioRESERVA = 12;
  idx_InventarioPENDIENTE_RECEPCION = 13;
  idx_InventarioID = 14;
  idx_InventarioCANTIDAD = 15;
  idx_InventarioFECHA_MOVIMIENTO = 16;
  idx_InventarioCAUSA = 17;
  idx_InventarioTIPO = 18;

  { DetalleReservas fields }
  fld_DetalleReservasID_ALB = 'ID_ALB';
  fld_DetalleReservasID_EMPRESA = 'ID_EMPRESA';
  fld_DetalleReservasREFERENCIA_ALB = 'REFERENCIA_ALB';
  fld_DetalleReservasSITUACION_ALB = 'SITUACION_ALB';
  fld_DetalleReservasFECHA_PREVISTA_ENVIO_ALB = 'FECHA_PREVISTA_ENVIO_ALB';
  fld_DetalleReservasID_ALMACEN_ALB = 'ID_ALMACEN_ALB';
  fld_DetalleReservasALMACEN_ALB = 'ALMACEN_ALB';
  fld_DetalleReservasID_CLIENTE_ALB = 'ID_CLIENTE_ALB';
  fld_DetalleReservasCLIENTE_ALB = 'CLIENTE_ALB';
  fld_DetalleReservasID_ART = 'ID_ART';
  fld_DetalleReservasFAMILIA_ART = 'FAMILIA_ART';
  fld_DetalleReservasREFERENCIA_ART = 'REFERENCIA_ART';
  fld_DetalleReservasREFERENCIA_PROV_ART = 'REFERENCIA_PROV_ART';
  fld_DetalleReservasDESCRIPCION_ART = 'DESCRIPCION_ART';
  fld_DetalleReservasCANTIDAD_ART = 'CANTIDAD_ART';

  { DetalleReservas field indexes }
  idx_DetalleReservasID_ALB = 0;
  idx_DetalleReservasID_EMPRESA = 1;
  idx_DetalleReservasREFERENCIA_ALB = 2;
  idx_DetalleReservasSITUACION_ALB = 3;
  idx_DetalleReservasFECHA_PREVISTA_ENVIO_ALB = 4;
  idx_DetalleReservasID_ALMACEN_ALB = 5;
  idx_DetalleReservasALMACEN_ALB = 6;
  idx_DetalleReservasID_CLIENTE_ALB = 7;
  idx_DetalleReservasCLIENTE_ALB = 8;
  idx_DetalleReservasID_ART = 9;
  idx_DetalleReservasFAMILIA_ART = 10;
  idx_DetalleReservasREFERENCIA_ART = 11;
  idx_DetalleReservasREFERENCIA_PROV_ART = 12;
  idx_DetalleReservasDESCRIPCION_ART = 13;
  idx_DetalleReservasCANTIDAD_ART = 14;

type
  { IInventario }
  IInventario = interface(IDAStronglyTypedDataTable)
  ['{E24DF110-88BD-4BB9-AE2D-17BEEE4EE1A3}']
    { Property getters and setters }
    function GetID_ALMACENValue: Integer;
    procedure SetID_ALMACENValue(const aValue: Integer);
    function GetID_ALMACENIsNull: Boolean;
    procedure SetID_ALMACENIsNull(const aValue: Boolean);
    function GetID_ARTICULOValue: Integer;
    procedure SetID_ARTICULOValue(const aValue: Integer);
    function GetID_ARTICULOIsNull: Boolean;
    procedure SetID_ARTICULOIsNull(const aValue: Boolean);
    function GetALMACENValue: String;
    procedure SetALMACENValue(const aValue: String);
    function GetALMACENIsNull: Boolean;
    procedure SetALMACENIsNull(const aValue: Boolean);
    function GetID_EMPRESAValue: Integer;
    procedure SetID_EMPRESAValue(const aValue: Integer);
    function GetID_EMPRESAIsNull: Boolean;
    procedure SetID_EMPRESAIsNull(const aValue: Boolean);
    function GetREFERENCIAValue: String;
    procedure SetREFERENCIAValue(const aValue: String);
    function GetREFERENCIAIsNull: Boolean;
    procedure SetREFERENCIAIsNull(const aValue: Boolean);
    function GetFAMILIAValue: String;
    procedure SetFAMILIAValue(const aValue: String);
    function GetFAMILIAIsNull: Boolean;
    procedure SetFAMILIAIsNull(const aValue: Boolean);
    function GetDESCRIPCIONValue: String;
    procedure SetDESCRIPCIONValue(const aValue: String);
    function GetDESCRIPCIONIsNull: Boolean;
    procedure SetDESCRIPCIONIsNull(const aValue: Boolean);
    function GetREFERENCIA_PROVEEDORValue: String;
    procedure SetREFERENCIA_PROVEEDORValue(const aValue: String);
    function GetREFERENCIA_PROVEEDORIsNull: Boolean;
    procedure SetREFERENCIA_PROVEEDORIsNull(const aValue: Boolean);
    function GetPRECIO_NETOValue: Currency;
    procedure SetPRECIO_NETOValue(const aValue: Currency);
    function GetPRECIO_NETOIsNull: Boolean;
    procedure SetPRECIO_NETOIsNull(const aValue: Boolean);
    function GetSTOCKValue: Float;
    procedure SetSTOCKValue(const aValue: Float);
    function GetSTOCKIsNull: Boolean;
    procedure SetSTOCKIsNull(const aValue: Boolean);
    function GetUNIDADES_ALMACENValue: Float;
    procedure SetUNIDADES_ALMACENValue(const aValue: Float);
    function GetUNIDADES_ALMACENIsNull: Boolean;
    procedure SetUNIDADES_ALMACENIsNull(const aValue: Boolean);
    function GetCOSTE_UNIDADESValue: Currency;
    procedure SetCOSTE_UNIDADESValue(const aValue: Currency);
    function GetCOSTE_UNIDADESIsNull: Boolean;
    procedure SetCOSTE_UNIDADESIsNull(const aValue: Boolean);
    function GetRESERVAValue: Float;
    procedure SetRESERVAValue(const aValue: Float);
    function GetRESERVAIsNull: Boolean;
    procedure SetRESERVAIsNull(const aValue: Boolean);
    function GetPENDIENTE_RECEPCIONValue: Float;
    procedure SetPENDIENTE_RECEPCIONValue(const aValue: Float);
    function GetPENDIENTE_RECEPCIONIsNull: Boolean;
    procedure SetPENDIENTE_RECEPCIONIsNull(const aValue: Boolean);
    function GetIDValue: Integer;
    procedure SetIDValue(const aValue: Integer);
    function GetIDIsNull: Boolean;
    procedure SetIDIsNull(const aValue: Boolean);
    function GetCANTIDADValue: Float;
    procedure SetCANTIDADValue(const aValue: Float);
    function GetCANTIDADIsNull: Boolean;
    procedure SetCANTIDADIsNull(const aValue: Boolean);
    function GetFECHA_MOVIMIENTOValue: DateTime;
    procedure SetFECHA_MOVIMIENTOValue(const aValue: DateTime);
    function GetFECHA_MOVIMIENTOIsNull: Boolean;
    procedure SetFECHA_MOVIMIENTOIsNull(const aValue: Boolean);
    function GetCAUSAValue: String;
    procedure SetCAUSAValue(const aValue: String);
    function GetCAUSAIsNull: Boolean;
    procedure SetCAUSAIsNull(const aValue: Boolean);
    function GetTIPOValue: String;
    procedure SetTIPOValue(const aValue: String);
    function GetTIPOIsNull: Boolean;
    procedure SetTIPOIsNull(const aValue: Boolean);


    { Properties }
    property ID_ALMACEN: Integer read GetID_ALMACENValue write SetID_ALMACENValue;
    property ID_ALMACENIsNull: Boolean read GetID_ALMACENIsNull write SetID_ALMACENIsNull;
    property ID_ARTICULO: Integer read GetID_ARTICULOValue write SetID_ARTICULOValue;
    property ID_ARTICULOIsNull: Boolean read GetID_ARTICULOIsNull write SetID_ARTICULOIsNull;
    property ALMACEN: String read GetALMACENValue write SetALMACENValue;
    property ALMACENIsNull: Boolean read GetALMACENIsNull write SetALMACENIsNull;
    property ID_EMPRESA: Integer read GetID_EMPRESAValue write SetID_EMPRESAValue;
    property ID_EMPRESAIsNull: Boolean read GetID_EMPRESAIsNull write SetID_EMPRESAIsNull;
    property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue;
    property REFERENCIAIsNull: Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull;
    property FAMILIA: String read GetFAMILIAValue write SetFAMILIAValue;
    property FAMILIAIsNull: Boolean read GetFAMILIAIsNull write SetFAMILIAIsNull;
    property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue;
    property DESCRIPCIONIsNull: Boolean read GetDESCRIPCIONIsNull write SetDESCRIPCIONIsNull;
    property REFERENCIA_PROVEEDOR: String read GetREFERENCIA_PROVEEDORValue write SetREFERENCIA_PROVEEDORValue;
    property REFERENCIA_PROVEEDORIsNull: Boolean read GetREFERENCIA_PROVEEDORIsNull write SetREFERENCIA_PROVEEDORIsNull;
    property PRECIO_NETO: Currency read GetPRECIO_NETOValue write SetPRECIO_NETOValue;
    property PRECIO_NETOIsNull: Boolean read GetPRECIO_NETOIsNull write SetPRECIO_NETOIsNull;
    property STOCK: Float read GetSTOCKValue write SetSTOCKValue;
    property STOCKIsNull: Boolean read GetSTOCKIsNull write SetSTOCKIsNull;
    property UNIDADES_ALMACEN: Float read GetUNIDADES_ALMACENValue write SetUNIDADES_ALMACENValue;
    property UNIDADES_ALMACENIsNull: Boolean read GetUNIDADES_ALMACENIsNull write SetUNIDADES_ALMACENIsNull;
    property COSTE_UNIDADES: Currency read GetCOSTE_UNIDADESValue write SetCOSTE_UNIDADESValue;
    property COSTE_UNIDADESIsNull: Boolean read GetCOSTE_UNIDADESIsNull write SetCOSTE_UNIDADESIsNull;
    property RESERVA: Float read GetRESERVAValue write SetRESERVAValue;
    property RESERVAIsNull: Boolean read GetRESERVAIsNull write SetRESERVAIsNull;
    property PENDIENTE_RECEPCION: Float read GetPENDIENTE_RECEPCIONValue write SetPENDIENTE_RECEPCIONValue;
    property PENDIENTE_RECEPCIONIsNull: Boolean read GetPENDIENTE_RECEPCIONIsNull write SetPENDIENTE_RECEPCIONIsNull;
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property CANTIDAD: Float read GetCANTIDADValue write SetCANTIDADValue;
    property CANTIDADIsNull: Boolean read GetCANTIDADIsNull write SetCANTIDADIsNull;
    property FECHA_MOVIMIENTO: DateTime read GetFECHA_MOVIMIENTOValue write SetFECHA_MOVIMIENTOValue;
    property FECHA_MOVIMIENTOIsNull: Boolean read GetFECHA_MOVIMIENTOIsNull write SetFECHA_MOVIMIENTOIsNull;
    property CAUSA: String read GetCAUSAValue write SetCAUSAValue;
    property CAUSAIsNull: Boolean read GetCAUSAIsNull write SetCAUSAIsNull;
    property TIPO: String read GetTIPOValue write SetTIPOValue;
    property TIPOIsNull: Boolean read GetTIPOIsNull write SetTIPOIsNull;
  end;

  { TInventarioDataTableRules }
  TInventarioDataTableRules = class(TIntfObjectDADataTableRules, IInventario)
  private
  protected
    { Property getters and setters }
    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 GetID_ARTICULOValue: Integer; virtual;
    procedure SetID_ARTICULOValue(const aValue: Integer); virtual;
    function GetID_ARTICULOIsNull: Boolean; virtual;
    procedure SetID_ARTICULOIsNull(const aValue: Boolean); virtual;
    function GetALMACENValue: String; virtual;
    procedure SetALMACENValue(const aValue: String); virtual;
    function GetALMACENIsNull: Boolean; virtual;
    procedure SetALMACENIsNull(const aValue: Boolean); virtual;
    function GetID_EMPRESAValue: Integer; virtual;
    procedure SetID_EMPRESAValue(const aValue: Integer); virtual;
    function GetID_EMPRESAIsNull: Boolean; virtual;
    procedure SetID_EMPRESAIsNull(const aValue: Boolean); virtual;
    function GetREFERENCIAValue: String; virtual;
    procedure SetREFERENCIAValue(const aValue: String); virtual;
    function GetREFERENCIAIsNull: Boolean; virtual;
    procedure SetREFERENCIAIsNull(const aValue: Boolean); virtual;
    function GetFAMILIAValue: String; virtual;
    procedure SetFAMILIAValue(const aValue: String); virtual;
    function GetFAMILIAIsNull: Boolean; virtual;
    procedure SetFAMILIAIsNull(const aValue: Boolean); virtual;
    function GetDESCRIPCIONValue: String; virtual;
    procedure SetDESCRIPCIONValue(const aValue: String); virtual;
    function GetDESCRIPCIONIsNull: Boolean; virtual;
    procedure SetDESCRIPCIONIsNull(const aValue: Boolean); virtual;
    function GetREFERENCIA_PROVEEDORValue: String; virtual;
    procedure SetREFERENCIA_PROVEEDORValue(const aValue: String); virtual;
    function GetREFERENCIA_PROVEEDORIsNull: Boolean; virtual;
    procedure SetREFERENCIA_PROVEEDORIsNull(const aValue: Boolean); virtual;
    function GetPRECIO_NETOValue: Currency; virtual;
    procedure SetPRECIO_NETOValue(const aValue: Currency); virtual;
    function GetPRECIO_NETOIsNull: Boolean; virtual;
    procedure SetPRECIO_NETOIsNull(const aValue: Boolean); virtual;
    function GetSTOCKValue: Float; virtual;
    procedure SetSTOCKValue(const aValue: Float); virtual;
    function GetSTOCKIsNull: Boolean; virtual;
    procedure SetSTOCKIsNull(const aValue: Boolean); virtual;
    function GetUNIDADES_ALMACENValue: Float; virtual;
    procedure SetUNIDADES_ALMACENValue(const aValue: Float); virtual;
    function GetUNIDADES_ALMACENIsNull: Boolean; virtual;
    procedure SetUNIDADES_ALMACENIsNull(const aValue: Boolean); virtual;
    function GetCOSTE_UNIDADESValue: Currency; virtual;
    procedure SetCOSTE_UNIDADESValue(const aValue: Currency); virtual;
    function GetCOSTE_UNIDADESIsNull: Boolean; virtual;
    procedure SetCOSTE_UNIDADESIsNull(const aValue: Boolean); virtual;
    function GetRESERVAValue: Float; virtual;
    procedure SetRESERVAValue(const aValue: Float); virtual;
    function GetRESERVAIsNull: Boolean; virtual;
    procedure SetRESERVAIsNull(const aValue: Boolean); virtual;
    function GetPENDIENTE_RECEPCIONValue: Float; virtual;
    procedure SetPENDIENTE_RECEPCIONValue(const aValue: Float); virtual;
    function GetPENDIENTE_RECEPCIONIsNull: Boolean; virtual;
    procedure SetPENDIENTE_RECEPCIONIsNull(const aValue: Boolean); virtual;
    function GetIDValue: Integer; virtual;
    procedure SetIDValue(const aValue: Integer); virtual;
    function GetIDIsNull: Boolean; virtual;
    procedure SetIDIsNull(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 GetFECHA_MOVIMIENTOValue: DateTime; virtual;
    procedure SetFECHA_MOVIMIENTOValue(const aValue: DateTime); virtual;
    function GetFECHA_MOVIMIENTOIsNull: Boolean; virtual;
    procedure SetFECHA_MOVIMIENTOIsNull(const aValue: Boolean); virtual;
    function GetCAUSAValue: String; virtual;
    procedure SetCAUSAValue(const aValue: String); virtual;
    function GetCAUSAIsNull: Boolean; virtual;
    procedure SetCAUSAIsNull(const aValue: Boolean); virtual;
    function GetTIPOValue: String; virtual;
    procedure SetTIPOValue(const aValue: String); virtual;
    function GetTIPOIsNull: Boolean; virtual;
    procedure SetTIPOIsNull(const aValue: Boolean); virtual;

    { Properties }
    property ID_ALMACEN: Integer read GetID_ALMACENValue write SetID_ALMACENValue;
    property ID_ALMACENIsNull: Boolean read GetID_ALMACENIsNull write SetID_ALMACENIsNull;
    property ID_ARTICULO: Integer read GetID_ARTICULOValue write SetID_ARTICULOValue;
    property ID_ARTICULOIsNull: Boolean read GetID_ARTICULOIsNull write SetID_ARTICULOIsNull;
    property ALMACEN: String read GetALMACENValue write SetALMACENValue;
    property ALMACENIsNull: Boolean read GetALMACENIsNull write SetALMACENIsNull;
    property ID_EMPRESA: Integer read GetID_EMPRESAValue write SetID_EMPRESAValue;
    property ID_EMPRESAIsNull: Boolean read GetID_EMPRESAIsNull write SetID_EMPRESAIsNull;
    property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue;
    property REFERENCIAIsNull: Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull;
    property FAMILIA: String read GetFAMILIAValue write SetFAMILIAValue;
    property FAMILIAIsNull: Boolean read GetFAMILIAIsNull write SetFAMILIAIsNull;
    property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue;
    property DESCRIPCIONIsNull: Boolean read GetDESCRIPCIONIsNull write SetDESCRIPCIONIsNull;
    property REFERENCIA_PROVEEDOR: String read GetREFERENCIA_PROVEEDORValue write SetREFERENCIA_PROVEEDORValue;
    property REFERENCIA_PROVEEDORIsNull: Boolean read GetREFERENCIA_PROVEEDORIsNull write SetREFERENCIA_PROVEEDORIsNull;
    property PRECIO_NETO: Currency read GetPRECIO_NETOValue write SetPRECIO_NETOValue;
    property PRECIO_NETOIsNull: Boolean read GetPRECIO_NETOIsNull write SetPRECIO_NETOIsNull;
    property STOCK: Float read GetSTOCKValue write SetSTOCKValue;
    property STOCKIsNull: Boolean read GetSTOCKIsNull write SetSTOCKIsNull;
    property UNIDADES_ALMACEN: Float read GetUNIDADES_ALMACENValue write SetUNIDADES_ALMACENValue;
    property UNIDADES_ALMACENIsNull: Boolean read GetUNIDADES_ALMACENIsNull write SetUNIDADES_ALMACENIsNull;
    property COSTE_UNIDADES: Currency read GetCOSTE_UNIDADESValue write SetCOSTE_UNIDADESValue;
    property COSTE_UNIDADESIsNull: Boolean read GetCOSTE_UNIDADESIsNull write SetCOSTE_UNIDADESIsNull;
    property RESERVA: Float read GetRESERVAValue write SetRESERVAValue;
    property RESERVAIsNull: Boolean read GetRESERVAIsNull write SetRESERVAIsNull;
    property PENDIENTE_RECEPCION: Float read GetPENDIENTE_RECEPCIONValue write SetPENDIENTE_RECEPCIONValue;
    property PENDIENTE_RECEPCIONIsNull: Boolean read GetPENDIENTE_RECEPCIONIsNull write SetPENDIENTE_RECEPCIONIsNull;
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property CANTIDAD: Float read GetCANTIDADValue write SetCANTIDADValue;
    property CANTIDADIsNull: Boolean read GetCANTIDADIsNull write SetCANTIDADIsNull;
    property FECHA_MOVIMIENTO: DateTime read GetFECHA_MOVIMIENTOValue write SetFECHA_MOVIMIENTOValue;
    property FECHA_MOVIMIENTOIsNull: Boolean read GetFECHA_MOVIMIENTOIsNull write SetFECHA_MOVIMIENTOIsNull;
    property CAUSA: String read GetCAUSAValue write SetCAUSAValue;
    property CAUSAIsNull: Boolean read GetCAUSAIsNull write SetCAUSAIsNull;
    property TIPO: String read GetTIPOValue write SetTIPOValue;
    property TIPOIsNull: Boolean read GetTIPOIsNull write SetTIPOIsNull;

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

  end;

  { IDetalleReservas }
  IDetalleReservas = interface(IDAStronglyTypedDataTable)
  ['{93FBB98C-4B7B-49C0-8615-8FB28E9AB01D}']
    { Property getters and setters }
    function GetID_ALBValue: Integer;
    procedure SetID_ALBValue(const aValue: Integer);
    function GetID_ALBIsNull: Boolean;
    procedure SetID_ALBIsNull(const aValue: Boolean);
    function GetID_EMPRESAValue: Integer;
    procedure SetID_EMPRESAValue(const aValue: Integer);
    function GetID_EMPRESAIsNull: Boolean;
    procedure SetID_EMPRESAIsNull(const aValue: Boolean);
    function GetREFERENCIA_ALBValue: String;
    procedure SetREFERENCIA_ALBValue(const aValue: String);
    function GetREFERENCIA_ALBIsNull: Boolean;
    procedure SetREFERENCIA_ALBIsNull(const aValue: Boolean);
    function GetSITUACION_ALBValue: String;
    procedure SetSITUACION_ALBValue(const aValue: String);
    function GetSITUACION_ALBIsNull: Boolean;
    procedure SetSITUACION_ALBIsNull(const aValue: Boolean);
    function GetFECHA_PREVISTA_ENVIO_ALBValue: DateTime;
    procedure SetFECHA_PREVISTA_ENVIO_ALBValue(const aValue: DateTime);
    function GetFECHA_PREVISTA_ENVIO_ALBIsNull: Boolean;
    procedure SetFECHA_PREVISTA_ENVIO_ALBIsNull(const aValue: Boolean);
    function GetID_ALMACEN_ALBValue: Integer;
    procedure SetID_ALMACEN_ALBValue(const aValue: Integer);
    function GetID_ALMACEN_ALBIsNull: Boolean;
    procedure SetID_ALMACEN_ALBIsNull(const aValue: Boolean);
    function GetALMACEN_ALBValue: String;
    procedure SetALMACEN_ALBValue(const aValue: String);
    function GetALMACEN_ALBIsNull: Boolean;
    procedure SetALMACEN_ALBIsNull(const aValue: Boolean);
    function GetID_CLIENTE_ALBValue: Integer;
    procedure SetID_CLIENTE_ALBValue(const aValue: Integer);
    function GetID_CLIENTE_ALBIsNull: Boolean;
    procedure SetID_CLIENTE_ALBIsNull(const aValue: Boolean);
    function GetCLIENTE_ALBValue: String;
    procedure SetCLIENTE_ALBValue(const aValue: String);
    function GetCLIENTE_ALBIsNull: Boolean;
    procedure SetCLIENTE_ALBIsNull(const aValue: Boolean);
    function GetID_ARTValue: Integer;
    procedure SetID_ARTValue(const aValue: Integer);
    function GetID_ARTIsNull: Boolean;
    procedure SetID_ARTIsNull(const aValue: Boolean);
    function GetFAMILIA_ARTValue: String;
    procedure SetFAMILIA_ARTValue(const aValue: String);
    function GetFAMILIA_ARTIsNull: Boolean;
    procedure SetFAMILIA_ARTIsNull(const aValue: Boolean);
    function GetREFERENCIA_ARTValue: String;
    procedure SetREFERENCIA_ARTValue(const aValue: String);
    function GetREFERENCIA_ARTIsNull: Boolean;
    procedure SetREFERENCIA_ARTIsNull(const aValue: Boolean);
    function GetREFERENCIA_PROV_ARTValue: String;
    procedure SetREFERENCIA_PROV_ARTValue(const aValue: String);
    function GetREFERENCIA_PROV_ARTIsNull: Boolean;
    procedure SetREFERENCIA_PROV_ARTIsNull(const aValue: Boolean);
    function GetDESCRIPCION_ARTValue: String;
    procedure SetDESCRIPCION_ARTValue(const aValue: String);
    function GetDESCRIPCION_ARTIsNull: Boolean;
    procedure SetDESCRIPCION_ARTIsNull(const aValue: Boolean);
    function GetCANTIDAD_ARTValue: Float;
    procedure SetCANTIDAD_ARTValue(const aValue: Float);
    function GetCANTIDAD_ARTIsNull: Boolean;
    procedure SetCANTIDAD_ARTIsNull(const aValue: Boolean);


    { Properties }
    property ID_ALB: Integer read GetID_ALBValue write SetID_ALBValue;
    property ID_ALBIsNull: Boolean read GetID_ALBIsNull write SetID_ALBIsNull;
    property ID_EMPRESA: Integer read GetID_EMPRESAValue write SetID_EMPRESAValue;
    property ID_EMPRESAIsNull: Boolean read GetID_EMPRESAIsNull write SetID_EMPRESAIsNull;
    property REFERENCIA_ALB: String read GetREFERENCIA_ALBValue write SetREFERENCIA_ALBValue;
    property REFERENCIA_ALBIsNull: Boolean read GetREFERENCIA_ALBIsNull write SetREFERENCIA_ALBIsNull;
    property SITUACION_ALB: String read GetSITUACION_ALBValue write SetSITUACION_ALBValue;
    property SITUACION_ALBIsNull: Boolean read GetSITUACION_ALBIsNull write SetSITUACION_ALBIsNull;
    property FECHA_PREVISTA_ENVIO_ALB: DateTime read GetFECHA_PREVISTA_ENVIO_ALBValue write SetFECHA_PREVISTA_ENVIO_ALBValue;
    property FECHA_PREVISTA_ENVIO_ALBIsNull: Boolean read GetFECHA_PREVISTA_ENVIO_ALBIsNull write SetFECHA_PREVISTA_ENVIO_ALBIsNull;
    property ID_ALMACEN_ALB: Integer read GetID_ALMACEN_ALBValue write SetID_ALMACEN_ALBValue;
    property ID_ALMACEN_ALBIsNull: Boolean read GetID_ALMACEN_ALBIsNull write SetID_ALMACEN_ALBIsNull;
    property ALMACEN_ALB: String read GetALMACEN_ALBValue write SetALMACEN_ALBValue;
    property ALMACEN_ALBIsNull: Boolean read GetALMACEN_ALBIsNull write SetALMACEN_ALBIsNull;
    property ID_CLIENTE_ALB: Integer read GetID_CLIENTE_ALBValue write SetID_CLIENTE_ALBValue;
    property ID_CLIENTE_ALBIsNull: Boolean read GetID_CLIENTE_ALBIsNull write SetID_CLIENTE_ALBIsNull;
    property CLIENTE_ALB: String read GetCLIENTE_ALBValue write SetCLIENTE_ALBValue;
    property CLIENTE_ALBIsNull: Boolean read GetCLIENTE_ALBIsNull write SetCLIENTE_ALBIsNull;
    property ID_ART: Integer read GetID_ARTValue write SetID_ARTValue;
    property ID_ARTIsNull: Boolean read GetID_ARTIsNull write SetID_ARTIsNull;
    property FAMILIA_ART: String read GetFAMILIA_ARTValue write SetFAMILIA_ARTValue;
    property FAMILIA_ARTIsNull: Boolean read GetFAMILIA_ARTIsNull write SetFAMILIA_ARTIsNull;
    property REFERENCIA_ART: String read GetREFERENCIA_ARTValue write SetREFERENCIA_ARTValue;
    property REFERENCIA_ARTIsNull: Boolean read GetREFERENCIA_ARTIsNull write SetREFERENCIA_ARTIsNull;
    property REFERENCIA_PROV_ART: String read GetREFERENCIA_PROV_ARTValue write SetREFERENCIA_PROV_ARTValue;
    property REFERENCIA_PROV_ARTIsNull: Boolean read GetREFERENCIA_PROV_ARTIsNull write SetREFERENCIA_PROV_ARTIsNull;
    property DESCRIPCION_ART: String read GetDESCRIPCION_ARTValue write SetDESCRIPCION_ARTValue;
    property DESCRIPCION_ARTIsNull: Boolean read GetDESCRIPCION_ARTIsNull write SetDESCRIPCION_ARTIsNull;
    property CANTIDAD_ART: Float read GetCANTIDAD_ARTValue write SetCANTIDAD_ARTValue;
    property CANTIDAD_ARTIsNull: Boolean read GetCANTIDAD_ARTIsNull write SetCANTIDAD_ARTIsNull;
  end;

  { TDetalleReservasDataTableRules }
  TDetalleReservasDataTableRules = class(TIntfObjectDADataTableRules, IDetalleReservas)
  private
  protected
    { Property getters and setters }
    function GetID_ALBValue: Integer; virtual;
    procedure SetID_ALBValue(const aValue: Integer); virtual;
    function GetID_ALBIsNull: Boolean; virtual;
    procedure SetID_ALBIsNull(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 GetREFERENCIA_ALBValue: String; virtual;
    procedure SetREFERENCIA_ALBValue(const aValue: String); virtual;
    function GetREFERENCIA_ALBIsNull: Boolean; virtual;
    procedure SetREFERENCIA_ALBIsNull(const aValue: Boolean); virtual;
    function GetSITUACION_ALBValue: String; virtual;
    procedure SetSITUACION_ALBValue(const aValue: String); virtual;
    function GetSITUACION_ALBIsNull: Boolean; virtual;
    procedure SetSITUACION_ALBIsNull(const aValue: Boolean); virtual;
    function GetFECHA_PREVISTA_ENVIO_ALBValue: DateTime; virtual;
    procedure SetFECHA_PREVISTA_ENVIO_ALBValue(const aValue: DateTime); virtual;
    function GetFECHA_PREVISTA_ENVIO_ALBIsNull: Boolean; virtual;
    procedure SetFECHA_PREVISTA_ENVIO_ALBIsNull(const aValue: Boolean); virtual;
    function GetID_ALMACEN_ALBValue: Integer; virtual;
    procedure SetID_ALMACEN_ALBValue(const aValue: Integer); virtual;
    function GetID_ALMACEN_ALBIsNull: Boolean; virtual;
    procedure SetID_ALMACEN_ALBIsNull(const aValue: Boolean); virtual;
    function GetALMACEN_ALBValue: String; virtual;
    procedure SetALMACEN_ALBValue(const aValue: String); virtual;
    function GetALMACEN_ALBIsNull: Boolean; virtual;
    procedure SetALMACEN_ALBIsNull(const aValue: Boolean); virtual;
    function GetID_CLIENTE_ALBValue: Integer; virtual;
    procedure SetID_CLIENTE_ALBValue(const aValue: Integer); virtual;
    function GetID_CLIENTE_ALBIsNull: Boolean; virtual;
    procedure SetID_CLIENTE_ALBIsNull(const aValue: Boolean); virtual;
    function GetCLIENTE_ALBValue: String; virtual;
    procedure SetCLIENTE_ALBValue(const aValue: String); virtual;
    function GetCLIENTE_ALBIsNull: Boolean; virtual;
    procedure SetCLIENTE_ALBIsNull(const aValue: Boolean); virtual;
    function GetID_ARTValue: Integer; virtual;
    procedure SetID_ARTValue(const aValue: Integer); virtual;
    function GetID_ARTIsNull: Boolean; virtual;
    procedure SetID_ARTIsNull(const aValue: Boolean); virtual;
    function GetFAMILIA_ARTValue: String; virtual;
    procedure SetFAMILIA_ARTValue(const aValue: String); virtual;
    function GetFAMILIA_ARTIsNull: Boolean; virtual;
    procedure SetFAMILIA_ARTIsNull(const aValue: Boolean); virtual;
    function GetREFERENCIA_ARTValue: String; virtual;
    procedure SetREFERENCIA_ARTValue(const aValue: String); virtual;
    function GetREFERENCIA_ARTIsNull: Boolean; virtual;
    procedure SetREFERENCIA_ARTIsNull(const aValue: Boolean); virtual;
    function GetREFERENCIA_PROV_ARTValue: String; virtual;
    procedure SetREFERENCIA_PROV_ARTValue(const aValue: String); virtual;
    function GetREFERENCIA_PROV_ARTIsNull: Boolean; virtual;
    procedure SetREFERENCIA_PROV_ARTIsNull(const aValue: Boolean); virtual;
    function GetDESCRIPCION_ARTValue: String; virtual;
    procedure SetDESCRIPCION_ARTValue(const aValue: String); virtual;
    function GetDESCRIPCION_ARTIsNull: Boolean; virtual;
    procedure SetDESCRIPCION_ARTIsNull(const aValue: Boolean); virtual;
    function GetCANTIDAD_ARTValue: Float; virtual;
    procedure SetCANTIDAD_ARTValue(const aValue: Float); virtual;
    function GetCANTIDAD_ARTIsNull: Boolean; virtual;
    procedure SetCANTIDAD_ARTIsNull(const aValue: Boolean); virtual;

    { Properties }
    property ID_ALB: Integer read GetID_ALBValue write SetID_ALBValue;
    property ID_ALBIsNull: Boolean read GetID_ALBIsNull write SetID_ALBIsNull;
    property ID_EMPRESA: Integer read GetID_EMPRESAValue write SetID_EMPRESAValue;
    property ID_EMPRESAIsNull: Boolean read GetID_EMPRESAIsNull write SetID_EMPRESAIsNull;
    property REFERENCIA_ALB: String read GetREFERENCIA_ALBValue write SetREFERENCIA_ALBValue;
    property REFERENCIA_ALBIsNull: Boolean read GetREFERENCIA_ALBIsNull write SetREFERENCIA_ALBIsNull;
    property SITUACION_ALB: String read GetSITUACION_ALBValue write SetSITUACION_ALBValue;
    property SITUACION_ALBIsNull: Boolean read GetSITUACION_ALBIsNull write SetSITUACION_ALBIsNull;
    property FECHA_PREVISTA_ENVIO_ALB: DateTime read GetFECHA_PREVISTA_ENVIO_ALBValue write SetFECHA_PREVISTA_ENVIO_ALBValue;
    property FECHA_PREVISTA_ENVIO_ALBIsNull: Boolean read GetFECHA_PREVISTA_ENVIO_ALBIsNull write SetFECHA_PREVISTA_ENVIO_ALBIsNull;
    property ID_ALMACEN_ALB: Integer read GetID_ALMACEN_ALBValue write SetID_ALMACEN_ALBValue;
    property ID_ALMACEN_ALBIsNull: Boolean read GetID_ALMACEN_ALBIsNull write SetID_ALMACEN_ALBIsNull;
    property ALMACEN_ALB: String read GetALMACEN_ALBValue write SetALMACEN_ALBValue;
    property ALMACEN_ALBIsNull: Boolean read GetALMACEN_ALBIsNull write SetALMACEN_ALBIsNull;
    property ID_CLIENTE_ALB: Integer read GetID_CLIENTE_ALBValue write SetID_CLIENTE_ALBValue;
    property ID_CLIENTE_ALBIsNull: Boolean read GetID_CLIENTE_ALBIsNull write SetID_CLIENTE_ALBIsNull;
    property CLIENTE_ALB: String read GetCLIENTE_ALBValue write SetCLIENTE_ALBValue;
    property CLIENTE_ALBIsNull: Boolean read GetCLIENTE_ALBIsNull write SetCLIENTE_ALBIsNull;
    property ID_ART: Integer read GetID_ARTValue write SetID_ARTValue;
    property ID_ARTIsNull: Boolean read GetID_ARTIsNull write SetID_ARTIsNull;
    property FAMILIA_ART: String read GetFAMILIA_ARTValue write SetFAMILIA_ARTValue;
    property FAMILIA_ARTIsNull: Boolean read GetFAMILIA_ARTIsNull write SetFAMILIA_ARTIsNull;
    property REFERENCIA_ART: String read GetREFERENCIA_ARTValue write SetREFERENCIA_ARTValue;
    property REFERENCIA_ARTIsNull: Boolean read GetREFERENCIA_ARTIsNull write SetREFERENCIA_ARTIsNull;
    property REFERENCIA_PROV_ART: String read GetREFERENCIA_PROV_ARTValue write SetREFERENCIA_PROV_ARTValue;
    property REFERENCIA_PROV_ARTIsNull: Boolean read GetREFERENCIA_PROV_ARTIsNull write SetREFERENCIA_PROV_ARTIsNull;
    property DESCRIPCION_ART: String read GetDESCRIPCION_ARTValue write SetDESCRIPCION_ARTValue;
    property DESCRIPCION_ARTIsNull: Boolean read GetDESCRIPCION_ARTIsNull write SetDESCRIPCION_ARTIsNull;
    property CANTIDAD_ART: Float read GetCANTIDAD_ARTValue write SetCANTIDAD_ARTValue;
    property CANTIDAD_ARTIsNull: Boolean read GetCANTIDAD_ARTIsNull write SetCANTIDAD_ARTIsNull;

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

  end;

implementation

uses Variants, uROBinaryHelpers;

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

destructor TInventarioDataTableRules.Destroy;
begin
  inherited;
end;

function TInventarioDataTableRules.GetID_ALMACENValue: Integer;
begin
  result := DataTable.Fields[idx_InventarioID_ALMACEN].AsInteger;
end;

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

function TInventarioDataTableRules.GetID_ALMACENIsNull: boolean;
begin
  result := DataTable.Fields[idx_InventarioID_ALMACEN].IsNull;
end;

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

function TInventarioDataTableRules.GetID_ARTICULOValue: Integer;
begin
  result := DataTable.Fields[idx_InventarioID_ARTICULO].AsInteger;
end;

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

function TInventarioDataTableRules.GetID_ARTICULOIsNull: boolean;
begin
  result := DataTable.Fields[idx_InventarioID_ARTICULO].IsNull;
end;

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

function TInventarioDataTableRules.GetALMACENValue: String;
begin
  result := DataTable.Fields[idx_InventarioALMACEN].AsString;
end;

procedure TInventarioDataTableRules.SetALMACENValue(const aValue: String);
begin
  DataTable.Fields[idx_InventarioALMACEN].AsString := aValue;
end;

function TInventarioDataTableRules.GetALMACENIsNull: boolean;
begin
  result := DataTable.Fields[idx_InventarioALMACEN].IsNull;
end;

procedure TInventarioDataTableRules.SetALMACENIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_InventarioALMACEN].AsVariant := Null;
end;

function TInventarioDataTableRules.GetID_EMPRESAValue: Integer;
begin
  result := DataTable.Fields[idx_InventarioID_EMPRESA].AsInteger;
end;

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

function TInventarioDataTableRules.GetID_EMPRESAIsNull: boolean;
begin
  result := DataTable.Fields[idx_InventarioID_EMPRESA].IsNull;
end;

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

function TInventarioDataTableRules.GetREFERENCIAValue: String;
begin
  result := DataTable.Fields[idx_InventarioREFERENCIA].AsString;
end;

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

function TInventarioDataTableRules.GetREFERENCIAIsNull: boolean;
begin
  result := DataTable.Fields[idx_InventarioREFERENCIA].IsNull;
end;

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

function TInventarioDataTableRules.GetFAMILIAValue: String;
begin
  result := DataTable.Fields[idx_InventarioFAMILIA].AsString;
end;

procedure TInventarioDataTableRules.SetFAMILIAValue(const aValue: String);
begin
  DataTable.Fields[idx_InventarioFAMILIA].AsString := aValue;
end;

function TInventarioDataTableRules.GetFAMILIAIsNull: boolean;
begin
  result := DataTable.Fields[idx_InventarioFAMILIA].IsNull;
end;

procedure TInventarioDataTableRules.SetFAMILIAIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_InventarioFAMILIA].AsVariant := Null;
end;

function TInventarioDataTableRules.GetDESCRIPCIONValue: String;
begin
  result := DataTable.Fields[idx_InventarioDESCRIPCION].AsString;
end;

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

function TInventarioDataTableRules.GetDESCRIPCIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_InventarioDESCRIPCION].IsNull;
end;

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

function TInventarioDataTableRules.GetREFERENCIA_PROVEEDORValue: String;
begin
  result := DataTable.Fields[idx_InventarioREFERENCIA_PROVEEDOR].AsString;
end;

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

function TInventarioDataTableRules.GetREFERENCIA_PROVEEDORIsNull: boolean;
begin
  result := DataTable.Fields[idx_InventarioREFERENCIA_PROVEEDOR].IsNull;
end;

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

function TInventarioDataTableRules.GetPRECIO_NETOValue: Currency;
begin
  result := DataTable.Fields[idx_InventarioPRECIO_NETO].AsCurrency;
end;

procedure TInventarioDataTableRules.SetPRECIO_NETOValue(const aValue: Currency);
begin
  DataTable.Fields[idx_InventarioPRECIO_NETO].AsCurrency := aValue;
end;

function TInventarioDataTableRules.GetPRECIO_NETOIsNull: boolean;
begin
  result := DataTable.Fields[idx_InventarioPRECIO_NETO].IsNull;
end;

procedure TInventarioDataTableRules.SetPRECIO_NETOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_InventarioPRECIO_NETO].AsVariant := Null;
end;

function TInventarioDataTableRules.GetSTOCKValue: Float;
begin
  result := DataTable.Fields[idx_InventarioSTOCK].AsFloat;
end;

procedure TInventarioDataTableRules.SetSTOCKValue(const aValue: Float);
begin
  DataTable.Fields[idx_InventarioSTOCK].AsFloat := aValue;
end;

function TInventarioDataTableRules.GetSTOCKIsNull: boolean;
begin
  result := DataTable.Fields[idx_InventarioSTOCK].IsNull;
end;

procedure TInventarioDataTableRules.SetSTOCKIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_InventarioSTOCK].AsVariant := Null;
end;

function TInventarioDataTableRules.GetUNIDADES_ALMACENValue: Float;
begin
  result := DataTable.Fields[idx_InventarioUNIDADES_ALMACEN].AsFloat;
end;

procedure TInventarioDataTableRules.SetUNIDADES_ALMACENValue(const aValue: Float);
begin
  DataTable.Fields[idx_InventarioUNIDADES_ALMACEN].AsFloat := aValue;
end;

function TInventarioDataTableRules.GetUNIDADES_ALMACENIsNull: boolean;
begin
  result := DataTable.Fields[idx_InventarioUNIDADES_ALMACEN].IsNull;
end;

procedure TInventarioDataTableRules.SetUNIDADES_ALMACENIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_InventarioUNIDADES_ALMACEN].AsVariant := Null;
end;

function TInventarioDataTableRules.GetCOSTE_UNIDADESValue: Currency;
begin
  result := DataTable.Fields[idx_InventarioCOSTE_UNIDADES].AsCurrency;
end;

procedure TInventarioDataTableRules.SetCOSTE_UNIDADESValue(const aValue: Currency);
begin
  DataTable.Fields[idx_InventarioCOSTE_UNIDADES].AsCurrency := aValue;
end;

function TInventarioDataTableRules.GetCOSTE_UNIDADESIsNull: boolean;
begin
  result := DataTable.Fields[idx_InventarioCOSTE_UNIDADES].IsNull;
end;

procedure TInventarioDataTableRules.SetCOSTE_UNIDADESIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_InventarioCOSTE_UNIDADES].AsVariant := Null;
end;

function TInventarioDataTableRules.GetRESERVAValue: Float;
begin
  result := DataTable.Fields[idx_InventarioRESERVA].AsFloat;
end;

procedure TInventarioDataTableRules.SetRESERVAValue(const aValue: Float);
begin
  DataTable.Fields[idx_InventarioRESERVA].AsFloat := aValue;
end;

function TInventarioDataTableRules.GetRESERVAIsNull: boolean;
begin
  result := DataTable.Fields[idx_InventarioRESERVA].IsNull;
end;

procedure TInventarioDataTableRules.SetRESERVAIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_InventarioRESERVA].AsVariant := Null;
end;

function TInventarioDataTableRules.GetPENDIENTE_RECEPCIONValue: Float;
begin
  result := DataTable.Fields[idx_InventarioPENDIENTE_RECEPCION].AsFloat;
end;

procedure TInventarioDataTableRules.SetPENDIENTE_RECEPCIONValue(const aValue: Float);
begin
  DataTable.Fields[idx_InventarioPENDIENTE_RECEPCION].AsFloat := aValue;
end;

function TInventarioDataTableRules.GetPENDIENTE_RECEPCIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_InventarioPENDIENTE_RECEPCION].IsNull;
end;

procedure TInventarioDataTableRules.SetPENDIENTE_RECEPCIONIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_InventarioPENDIENTE_RECEPCION].AsVariant := Null;
end;

function TInventarioDataTableRules.GetIDValue: Integer;
begin
  result := DataTable.Fields[idx_InventarioID].AsInteger;
end;

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

function TInventarioDataTableRules.GetIDIsNull: boolean;
begin
  result := DataTable.Fields[idx_InventarioID].IsNull;
end;

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

function TInventarioDataTableRules.GetCANTIDADValue: Float;
begin
  result := DataTable.Fields[idx_InventarioCANTIDAD].AsFloat;
end;

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

function TInventarioDataTableRules.GetCANTIDADIsNull: boolean;
begin
  result := DataTable.Fields[idx_InventarioCANTIDAD].IsNull;
end;

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

function TInventarioDataTableRules.GetFECHA_MOVIMIENTOValue: DateTime;
begin
  result := DataTable.Fields[idx_InventarioFECHA_MOVIMIENTO].AsDateTime;
end;

procedure TInventarioDataTableRules.SetFECHA_MOVIMIENTOValue(const aValue: DateTime);
begin
  DataTable.Fields[idx_InventarioFECHA_MOVIMIENTO].AsDateTime := aValue;
end;

function TInventarioDataTableRules.GetFECHA_MOVIMIENTOIsNull: boolean;
begin
  result := DataTable.Fields[idx_InventarioFECHA_MOVIMIENTO].IsNull;
end;

procedure TInventarioDataTableRules.SetFECHA_MOVIMIENTOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_InventarioFECHA_MOVIMIENTO].AsVariant := Null;
end;

function TInventarioDataTableRules.GetCAUSAValue: String;
begin
  result := DataTable.Fields[idx_InventarioCAUSA].AsString;
end;

procedure TInventarioDataTableRules.SetCAUSAValue(const aValue: String);
begin
  DataTable.Fields[idx_InventarioCAUSA].AsString := aValue;
end;

function TInventarioDataTableRules.GetCAUSAIsNull: boolean;
begin
  result := DataTable.Fields[idx_InventarioCAUSA].IsNull;
end;

procedure TInventarioDataTableRules.SetCAUSAIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_InventarioCAUSA].AsVariant := Null;
end;

function TInventarioDataTableRules.GetTIPOValue: String;
begin
  result := DataTable.Fields[idx_InventarioTIPO].AsString;
end;

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

function TInventarioDataTableRules.GetTIPOIsNull: boolean;
begin
  result := DataTable.Fields[idx_InventarioTIPO].IsNull;
end;

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


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

destructor TDetalleReservasDataTableRules.Destroy;
begin
  inherited;
end;

function TDetalleReservasDataTableRules.GetID_ALBValue: Integer;
begin
  result := DataTable.Fields[idx_DetalleReservasID_ALB].AsInteger;
end;

procedure TDetalleReservasDataTableRules.SetID_ALBValue(const aValue: Integer);
begin
  DataTable.Fields[idx_DetalleReservasID_ALB].AsInteger := aValue;
end;

function TDetalleReservasDataTableRules.GetID_ALBIsNull: boolean;
begin
  result := DataTable.Fields[idx_DetalleReservasID_ALB].IsNull;
end;

procedure TDetalleReservasDataTableRules.SetID_ALBIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_DetalleReservasID_ALB].AsVariant := Null;
end;

function TDetalleReservasDataTableRules.GetID_EMPRESAValue: Integer;
begin
  result := DataTable.Fields[idx_DetalleReservasID_EMPRESA].AsInteger;
end;

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

function TDetalleReservasDataTableRules.GetID_EMPRESAIsNull: boolean;
begin
  result := DataTable.Fields[idx_DetalleReservasID_EMPRESA].IsNull;
end;

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

function TDetalleReservasDataTableRules.GetREFERENCIA_ALBValue: String;
begin
  result := DataTable.Fields[idx_DetalleReservasREFERENCIA_ALB].AsString;
end;

procedure TDetalleReservasDataTableRules.SetREFERENCIA_ALBValue(const aValue: String);
begin
  DataTable.Fields[idx_DetalleReservasREFERENCIA_ALB].AsString := aValue;
end;

function TDetalleReservasDataTableRules.GetREFERENCIA_ALBIsNull: boolean;
begin
  result := DataTable.Fields[idx_DetalleReservasREFERENCIA_ALB].IsNull;
end;

procedure TDetalleReservasDataTableRules.SetREFERENCIA_ALBIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_DetalleReservasREFERENCIA_ALB].AsVariant := Null;
end;

function TDetalleReservasDataTableRules.GetSITUACION_ALBValue: String;
begin
  result := DataTable.Fields[idx_DetalleReservasSITUACION_ALB].AsString;
end;

procedure TDetalleReservasDataTableRules.SetSITUACION_ALBValue(const aValue: String);
begin
  DataTable.Fields[idx_DetalleReservasSITUACION_ALB].AsString := aValue;
end;

function TDetalleReservasDataTableRules.GetSITUACION_ALBIsNull: boolean;
begin
  result := DataTable.Fields[idx_DetalleReservasSITUACION_ALB].IsNull;
end;

procedure TDetalleReservasDataTableRules.SetSITUACION_ALBIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_DetalleReservasSITUACION_ALB].AsVariant := Null;
end;

function TDetalleReservasDataTableRules.GetFECHA_PREVISTA_ENVIO_ALBValue: DateTime;
begin
  result := DataTable.Fields[idx_DetalleReservasFECHA_PREVISTA_ENVIO_ALB].AsDateTime;
end;

procedure TDetalleReservasDataTableRules.SetFECHA_PREVISTA_ENVIO_ALBValue(const aValue: DateTime);
begin
  DataTable.Fields[idx_DetalleReservasFECHA_PREVISTA_ENVIO_ALB].AsDateTime := aValue;
end;

function TDetalleReservasDataTableRules.GetFECHA_PREVISTA_ENVIO_ALBIsNull: boolean;
begin
  result := DataTable.Fields[idx_DetalleReservasFECHA_PREVISTA_ENVIO_ALB].IsNull;
end;

procedure TDetalleReservasDataTableRules.SetFECHA_PREVISTA_ENVIO_ALBIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_DetalleReservasFECHA_PREVISTA_ENVIO_ALB].AsVariant := Null;
end;

function TDetalleReservasDataTableRules.GetID_ALMACEN_ALBValue: Integer;
begin
  result := DataTable.Fields[idx_DetalleReservasID_ALMACEN_ALB].AsInteger;
end;

procedure TDetalleReservasDataTableRules.SetID_ALMACEN_ALBValue(const aValue: Integer);
begin
  DataTable.Fields[idx_DetalleReservasID_ALMACEN_ALB].AsInteger := aValue;
end;

function TDetalleReservasDataTableRules.GetID_ALMACEN_ALBIsNull: boolean;
begin
  result := DataTable.Fields[idx_DetalleReservasID_ALMACEN_ALB].IsNull;
end;

procedure TDetalleReservasDataTableRules.SetID_ALMACEN_ALBIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_DetalleReservasID_ALMACEN_ALB].AsVariant := Null;
end;

function TDetalleReservasDataTableRules.GetALMACEN_ALBValue: String;
begin
  result := DataTable.Fields[idx_DetalleReservasALMACEN_ALB].AsString;
end;

procedure TDetalleReservasDataTableRules.SetALMACEN_ALBValue(const aValue: String);
begin
  DataTable.Fields[idx_DetalleReservasALMACEN_ALB].AsString := aValue;
end;

function TDetalleReservasDataTableRules.GetALMACEN_ALBIsNull: boolean;
begin
  result := DataTable.Fields[idx_DetalleReservasALMACEN_ALB].IsNull;
end;

procedure TDetalleReservasDataTableRules.SetALMACEN_ALBIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_DetalleReservasALMACEN_ALB].AsVariant := Null;
end;

function TDetalleReservasDataTableRules.GetID_CLIENTE_ALBValue: Integer;
begin
  result := DataTable.Fields[idx_DetalleReservasID_CLIENTE_ALB].AsInteger;
end;

procedure TDetalleReservasDataTableRules.SetID_CLIENTE_ALBValue(const aValue: Integer);
begin
  DataTable.Fields[idx_DetalleReservasID_CLIENTE_ALB].AsInteger := aValue;
end;

function TDetalleReservasDataTableRules.GetID_CLIENTE_ALBIsNull: boolean;
begin
  result := DataTable.Fields[idx_DetalleReservasID_CLIENTE_ALB].IsNull;
end;

procedure TDetalleReservasDataTableRules.SetID_CLIENTE_ALBIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_DetalleReservasID_CLIENTE_ALB].AsVariant := Null;
end;

function TDetalleReservasDataTableRules.GetCLIENTE_ALBValue: String;
begin
  result := DataTable.Fields[idx_DetalleReservasCLIENTE_ALB].AsString;
end;

procedure TDetalleReservasDataTableRules.SetCLIENTE_ALBValue(const aValue: String);
begin
  DataTable.Fields[idx_DetalleReservasCLIENTE_ALB].AsString := aValue;
end;

function TDetalleReservasDataTableRules.GetCLIENTE_ALBIsNull: boolean;
begin
  result := DataTable.Fields[idx_DetalleReservasCLIENTE_ALB].IsNull;
end;

procedure TDetalleReservasDataTableRules.SetCLIENTE_ALBIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_DetalleReservasCLIENTE_ALB].AsVariant := Null;
end;

function TDetalleReservasDataTableRules.GetID_ARTValue: Integer;
begin
  result := DataTable.Fields[idx_DetalleReservasID_ART].AsInteger;
end;

procedure TDetalleReservasDataTableRules.SetID_ARTValue(const aValue: Integer);
begin
  DataTable.Fields[idx_DetalleReservasID_ART].AsInteger := aValue;
end;

function TDetalleReservasDataTableRules.GetID_ARTIsNull: boolean;
begin
  result := DataTable.Fields[idx_DetalleReservasID_ART].IsNull;
end;

procedure TDetalleReservasDataTableRules.SetID_ARTIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_DetalleReservasID_ART].AsVariant := Null;
end;

function TDetalleReservasDataTableRules.GetFAMILIA_ARTValue: String;
begin
  result := DataTable.Fields[idx_DetalleReservasFAMILIA_ART].AsString;
end;

procedure TDetalleReservasDataTableRules.SetFAMILIA_ARTValue(const aValue: String);
begin
  DataTable.Fields[idx_DetalleReservasFAMILIA_ART].AsString := aValue;
end;

function TDetalleReservasDataTableRules.GetFAMILIA_ARTIsNull: boolean;
begin
  result := DataTable.Fields[idx_DetalleReservasFAMILIA_ART].IsNull;
end;

procedure TDetalleReservasDataTableRules.SetFAMILIA_ARTIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_DetalleReservasFAMILIA_ART].AsVariant := Null;
end;

function TDetalleReservasDataTableRules.GetREFERENCIA_ARTValue: String;
begin
  result := DataTable.Fields[idx_DetalleReservasREFERENCIA_ART].AsString;
end;

procedure TDetalleReservasDataTableRules.SetREFERENCIA_ARTValue(const aValue: String);
begin
  DataTable.Fields[idx_DetalleReservasREFERENCIA_ART].AsString := aValue;
end;

function TDetalleReservasDataTableRules.GetREFERENCIA_ARTIsNull: boolean;
begin
  result := DataTable.Fields[idx_DetalleReservasREFERENCIA_ART].IsNull;
end;

procedure TDetalleReservasDataTableRules.SetREFERENCIA_ARTIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_DetalleReservasREFERENCIA_ART].AsVariant := Null;
end;

function TDetalleReservasDataTableRules.GetREFERENCIA_PROV_ARTValue: String;
begin
  result := DataTable.Fields[idx_DetalleReservasREFERENCIA_PROV_ART].AsString;
end;

procedure TDetalleReservasDataTableRules.SetREFERENCIA_PROV_ARTValue(const aValue: String);
begin
  DataTable.Fields[idx_DetalleReservasREFERENCIA_PROV_ART].AsString := aValue;
end;

function TDetalleReservasDataTableRules.GetREFERENCIA_PROV_ARTIsNull: boolean;
begin
  result := DataTable.Fields[idx_DetalleReservasREFERENCIA_PROV_ART].IsNull;
end;

procedure TDetalleReservasDataTableRules.SetREFERENCIA_PROV_ARTIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_DetalleReservasREFERENCIA_PROV_ART].AsVariant := Null;
end;

function TDetalleReservasDataTableRules.GetDESCRIPCION_ARTValue: String;
begin
  result := DataTable.Fields[idx_DetalleReservasDESCRIPCION_ART].AsString;
end;

procedure TDetalleReservasDataTableRules.SetDESCRIPCION_ARTValue(const aValue: String);
begin
  DataTable.Fields[idx_DetalleReservasDESCRIPCION_ART].AsString := aValue;
end;

function TDetalleReservasDataTableRules.GetDESCRIPCION_ARTIsNull: boolean;
begin
  result := DataTable.Fields[idx_DetalleReservasDESCRIPCION_ART].IsNull;
end;

procedure TDetalleReservasDataTableRules.SetDESCRIPCION_ARTIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_DetalleReservasDESCRIPCION_ART].AsVariant := Null;
end;

function TDetalleReservasDataTableRules.GetCANTIDAD_ARTValue: Float;
begin
  result := DataTable.Fields[idx_DetalleReservasCANTIDAD_ART].AsFloat;
end;

procedure TDetalleReservasDataTableRules.SetCANTIDAD_ARTValue(const aValue: Float);
begin
  DataTable.Fields[idx_DetalleReservasCANTIDAD_ART].AsFloat := aValue;
end;

function TDetalleReservasDataTableRules.GetCANTIDAD_ARTIsNull: boolean;
begin
  result := DataTable.Fields[idx_DetalleReservasCANTIDAD_ART].IsNull;
end;

procedure TDetalleReservasDataTableRules.SetCANTIDAD_ARTIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_DetalleReservasCANTIDAD_ART].AsVariant := Null;
end;


initialization
  RegisterDataTableRules(RID_Inventario, TInventarioDataTableRules);
  RegisterDataTableRules(RID_DetalleReservas, TDetalleReservasDataTableRules);

end.
