unit schFacturasProveedorClient_Intf;

interface

uses
  Classes, DB, schBase_Intf, SysUtils, uROClasses, 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_ListaAnosFacturas = '{B75825C2-3B8D-4DF1-AF22-024910F5FBD9}';
  RID_FacturasProveedor = '{44FD4DE6-500F-4F58-A58C-97CF98028CD2}';
  RID_FacturasProveedor_Detalles = '{1CB49BE9-8421-4FD5-80E8-12FFC6360422}';
  RID_FacturasProveedor_Pedidos = '{961FA245-B4B9-478F-8B57-34025D5C9EEB}';

  { Data table names }
  nme_ListaAnosFacturas = 'ListaAnosFacturas';
  nme_FacturasProveedor = 'FacturasProveedor';
  nme_FacturasProveedor_Detalles = 'FacturasProveedor_Detalles';
  nme_FacturasProveedor_Pedidos = 'FacturasProveedor_Pedidos';

  { ListaAnosFacturas fields }
  fld_ListaAnosFacturasANO = 'ANO';

  { ListaAnosFacturas field indexes }
  idx_ListaAnosFacturasANO = 0;

  { FacturasProveedor fields }
  fld_FacturasProveedorID = 'ID';
  fld_FacturasProveedorID_EMPRESA = 'ID_EMPRESA';
  fld_FacturasProveedorREFERENCIA = 'REFERENCIA';
  fld_FacturasProveedorTIPO = 'TIPO';
  fld_FacturasProveedorREFERENCIA_PROVEEDOR = 'REFERENCIA_PROVEEDOR';
  fld_FacturasProveedorFECHA_FACTURA = 'FECHA_FACTURA';
  fld_FacturasProveedorFECHA_VENCIMIENTO = 'FECHA_VENCIMIENTO';
  fld_FacturasProveedorSITUACION = 'SITUACION';
  fld_FacturasProveedorBASE_IMPONIBLE = 'BASE_IMPONIBLE';
  fld_FacturasProveedorDESCUENTO = 'DESCUENTO';
  fld_FacturasProveedorIMPORTE_DESCUENTO = 'IMPORTE_DESCUENTO';
  fld_FacturasProveedorIVA = 'IVA';
  fld_FacturasProveedorIMPORTE_IVA = 'IMPORTE_IVA';
  fld_FacturasProveedorRE = 'RE';
  fld_FacturasProveedorIMPORTE_RE = 'IMPORTE_RE';
  fld_FacturasProveedorIMPORTE_TOTAL = 'IMPORTE_TOTAL';
  fld_FacturasProveedorOBSERVACIONES = 'OBSERVACIONES';
  fld_FacturasProveedorID_PROVEEDOR = 'ID_PROVEEDOR';
  fld_FacturasProveedorNIF_CIF = 'NIF_CIF';
  fld_FacturasProveedorNOMBRE = 'NOMBRE';
  fld_FacturasProveedorCALLE = 'CALLE';
  fld_FacturasProveedorPOBLACION = 'POBLACION';
  fld_FacturasProveedorPROVINCIA = 'PROVINCIA';
  fld_FacturasProveedorCODIGO_POSTAL = 'CODIGO_POSTAL';
  fld_FacturasProveedorFECHA_ALTA = 'FECHA_ALTA';
  fld_FacturasProveedorFECHA_MODIFICACION = 'FECHA_MODIFICACION';
  fld_FacturasProveedorUSUARIO = 'USUARIO';
  fld_FacturasProveedorID_FORMA_PAGO = 'ID_FORMA_PAGO';
  fld_FacturasProveedorRECARGO_EQUIVALENCIA = 'RECARGO_EQUIVALENCIA';
  fld_FacturasProveedorID_TIPO_IVA = 'ID_TIPO_IVA';
  fld_FacturasProveedorIMPORTE_NETO = 'IMPORTE_NETO';
  fld_FacturasProveedorIMPORTE_PORTE = 'IMPORTE_PORTE';
  fld_FacturasProveedorDATOS_BANCARIOS = 'DATOS_BANCARIOS';

  { FacturasProveedor field indexes }
  idx_FacturasProveedorID = 0;
  idx_FacturasProveedorID_EMPRESA = 1;
  idx_FacturasProveedorREFERENCIA = 2;
  idx_FacturasProveedorTIPO = 3;
  idx_FacturasProveedorREFERENCIA_PROVEEDOR = 4;
  idx_FacturasProveedorFECHA_FACTURA = 5;
  idx_FacturasProveedorFECHA_VENCIMIENTO = 6;
  idx_FacturasProveedorSITUACION = 7;
  idx_FacturasProveedorBASE_IMPONIBLE = 8;
  idx_FacturasProveedorDESCUENTO = 9;
  idx_FacturasProveedorIMPORTE_DESCUENTO = 10;
  idx_FacturasProveedorIVA = 11;
  idx_FacturasProveedorIMPORTE_IVA = 12;
  idx_FacturasProveedorRE = 13;
  idx_FacturasProveedorIMPORTE_RE = 14;
  idx_FacturasProveedorIMPORTE_TOTAL = 15;
  idx_FacturasProveedorOBSERVACIONES = 16;
  idx_FacturasProveedorID_PROVEEDOR = 17;
  idx_FacturasProveedorNIF_CIF = 18;
  idx_FacturasProveedorNOMBRE = 19;
  idx_FacturasProveedorCALLE = 20;
  idx_FacturasProveedorPOBLACION = 21;
  idx_FacturasProveedorPROVINCIA = 22;
  idx_FacturasProveedorCODIGO_POSTAL = 23;
  idx_FacturasProveedorFECHA_ALTA = 24;
  idx_FacturasProveedorFECHA_MODIFICACION = 25;
  idx_FacturasProveedorUSUARIO = 26;
  idx_FacturasProveedorID_FORMA_PAGO = 27;
  idx_FacturasProveedorRECARGO_EQUIVALENCIA = 28;
  idx_FacturasProveedorID_TIPO_IVA = 29;
  idx_FacturasProveedorIMPORTE_NETO = 30;
  idx_FacturasProveedorIMPORTE_PORTE = 31;
  idx_FacturasProveedorDATOS_BANCARIOS = 32;

  { FacturasProveedor_Detalles fields }
  fld_FacturasProveedor_DetallesID = 'ID';
  fld_FacturasProveedor_DetallesID_FACTURA = 'ID_FACTURA';
  fld_FacturasProveedor_DetallesPOSICION = 'POSICION';
  fld_FacturasProveedor_DetallesTIPO_DETALLE = 'TIPO_DETALLE';
  fld_FacturasProveedor_DetallesCONCEPTO = 'CONCEPTO';
  fld_FacturasProveedor_DetallesCANTIDAD = 'CANTIDAD';
  fld_FacturasProveedor_DetallesUNIDAD_MEDIDA = 'UNIDAD_MEDIDA';
  fld_FacturasProveedor_DetallesIMPORTE_UNIDAD = 'IMPORTE_UNIDAD';
  fld_FacturasProveedor_DetallesIMPORTE_TOTAL = 'IMPORTE_TOTAL';
  fld_FacturasProveedor_DetallesVISIBLE = 'VISIBLE';
  fld_FacturasProveedor_DetallesID_ARTICULO = 'ID_ARTICULO';
  fld_FacturasProveedor_DetallesDESCUENTO = 'DESCUENTO';
  fld_FacturasProveedor_DetallesIMPORTE_PORTE = 'IMPORTE_PORTE';
  fld_FacturasProveedor_DetallesREFERENCIA = 'REFERENCIA';
  fld_FacturasProveedor_DetallesREFERENCIA_PROVEEDOR = 'REFERENCIA_PROVEEDOR';
  fld_FacturasProveedor_DetallesREFERENCIA_FABRICANTE = 'REFERENCIA_FABRICANTE';

  { FacturasProveedor_Detalles field indexes }
  idx_FacturasProveedor_DetallesID = 0;
  idx_FacturasProveedor_DetallesID_FACTURA = 1;
  idx_FacturasProveedor_DetallesPOSICION = 2;
  idx_FacturasProveedor_DetallesTIPO_DETALLE = 3;
  idx_FacturasProveedor_DetallesCONCEPTO = 4;
  idx_FacturasProveedor_DetallesCANTIDAD = 5;
  idx_FacturasProveedor_DetallesUNIDAD_MEDIDA = 6;
  idx_FacturasProveedor_DetallesIMPORTE_UNIDAD = 7;
  idx_FacturasProveedor_DetallesIMPORTE_TOTAL = 8;
  idx_FacturasProveedor_DetallesVISIBLE = 9;
  idx_FacturasProveedor_DetallesID_ARTICULO = 10;
  idx_FacturasProveedor_DetallesDESCUENTO = 11;
  idx_FacturasProveedor_DetallesIMPORTE_PORTE = 12;
  idx_FacturasProveedor_DetallesREFERENCIA = 13;
  idx_FacturasProveedor_DetallesREFERENCIA_PROVEEDOR = 14;
  idx_FacturasProveedor_DetallesREFERENCIA_FABRICANTE = 15;

  { FacturasProveedor_Pedidos fields }
  fld_FacturasProveedor_PedidosID = 'ID';
  fld_FacturasProveedor_PedidosID_FACTURA = 'ID_FACTURA';
  fld_FacturasProveedor_PedidosIMPORTE_TOTAL = 'IMPORTE_TOTAL';
  fld_FacturasProveedor_PedidosID_PEDIDO = 'ID_PEDIDO';
  fld_FacturasProveedor_PedidosREFERENCIA = 'REFERENCIA';
  fld_FacturasProveedor_PedidosFECHA_PEDIDO = 'FECHA_PEDIDO';
  fld_FacturasProveedor_PedidosPROVEEDOR = 'PROVEEDOR';

  { FacturasProveedor_Pedidos field indexes }
  idx_FacturasProveedor_PedidosID = 0;
  idx_FacturasProveedor_PedidosID_FACTURA = 1;
  idx_FacturasProveedor_PedidosIMPORTE_TOTAL = 2;
  idx_FacturasProveedor_PedidosID_PEDIDO = 3;
  idx_FacturasProveedor_PedidosREFERENCIA = 4;
  idx_FacturasProveedor_PedidosFECHA_PEDIDO = 5;
  idx_FacturasProveedor_PedidosPROVEEDOR = 6;

type
  { IListaAnosFacturas }
  IListaAnosFacturas = interface(IDAStronglyTypedDataTable)
  ['{CB673572-AD31-405A-9EF0-0FC870012A4E}']
    { 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;

  { TListaAnosFacturasDataTableRules }
  TListaAnosFacturasDataTableRules = class(TIntfObjectDADataTableRules, IListaAnosFacturas)
  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;

  { IFacturasProveedor }
  IFacturasProveedor = interface(IDAStronglyTypedDataTable)
  ['{20CB371E-32B4-45B7-B925-7DAF93C6F093}']
    { 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 GetREFERENCIAValue: String;
    procedure SetREFERENCIAValue(const aValue: String);
    function GetREFERENCIAIsNull: Boolean;
    procedure SetREFERENCIAIsNull(const aValue: Boolean);
    function GetTIPOValue: String;
    procedure SetTIPOValue(const aValue: String);
    function GetTIPOIsNull: Boolean;
    procedure SetTIPOIsNull(const aValue: Boolean);
    function GetREFERENCIA_PROVEEDORValue: String;
    procedure SetREFERENCIA_PROVEEDORValue(const aValue: String);
    function GetREFERENCIA_PROVEEDORIsNull: Boolean;
    procedure SetREFERENCIA_PROVEEDORIsNull(const aValue: Boolean);
    function GetFECHA_FACTURAValue: DateTime;
    procedure SetFECHA_FACTURAValue(const aValue: DateTime);
    function GetFECHA_FACTURAIsNull: Boolean;
    procedure SetFECHA_FACTURAIsNull(const aValue: Boolean);
    function GetFECHA_VENCIMIENTOValue: DateTime;
    procedure SetFECHA_VENCIMIENTOValue(const aValue: DateTime);
    function GetFECHA_VENCIMIENTOIsNull: Boolean;
    procedure SetFECHA_VENCIMIENTOIsNull(const aValue: Boolean);
    function GetSITUACIONValue: String;
    procedure SetSITUACIONValue(const aValue: String);
    function GetSITUACIONIsNull: Boolean;
    procedure SetSITUACIONIsNull(const aValue: Boolean);
    function GetBASE_IMPONIBLEValue: Currency;
    procedure SetBASE_IMPONIBLEValue(const aValue: Currency);
    function GetBASE_IMPONIBLEIsNull: Boolean;
    procedure SetBASE_IMPONIBLEIsNull(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 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 GetREValue: Float;
    procedure SetREValue(const aValue: Float);
    function GetREIsNull: Boolean;
    procedure SetREIsNull(const aValue: Boolean);
    function GetIMPORTE_REValue: Currency;
    procedure SetIMPORTE_REValue(const aValue: Currency);
    function GetIMPORTE_REIsNull: Boolean;
    procedure SetIMPORTE_REIsNull(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 GetID_PROVEEDORValue: Integer;
    procedure SetID_PROVEEDORValue(const aValue: Integer);
    function GetID_PROVEEDORIsNull: Boolean;
    procedure SetID_PROVEEDORIsNull(const aValue: Boolean);
    function GetNIF_CIFValue: String;
    procedure SetNIF_CIFValue(const aValue: String);
    function GetNIF_CIFIsNull: Boolean;
    procedure SetNIF_CIFIsNull(const aValue: Boolean);
    function GetNOMBREValue: String;
    procedure SetNOMBREValue(const aValue: String);
    function GetNOMBREIsNull: Boolean;
    procedure SetNOMBREIsNull(const aValue: Boolean);
    function GetCALLEValue: String;
    procedure SetCALLEValue(const aValue: String);
    function GetCALLEIsNull: Boolean;
    procedure SetCALLEIsNull(const aValue: Boolean);
    function GetPOBLACIONValue: String;
    procedure SetPOBLACIONValue(const aValue: String);
    function GetPOBLACIONIsNull: Boolean;
    procedure SetPOBLACIONIsNull(const aValue: Boolean);
    function GetPROVINCIAValue: String;
    procedure SetPROVINCIAValue(const aValue: String);
    function GetPROVINCIAIsNull: Boolean;
    procedure SetPROVINCIAIsNull(const aValue: Boolean);
    function GetCODIGO_POSTALValue: String;
    procedure SetCODIGO_POSTALValue(const aValue: String);
    function GetCODIGO_POSTALIsNull: Boolean;
    procedure SetCODIGO_POSTALIsNull(const aValue: Boolean);
    function 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 GetRECARGO_EQUIVALENCIAValue: SmallInt;
    procedure SetRECARGO_EQUIVALENCIAValue(const aValue: SmallInt);
    function GetRECARGO_EQUIVALENCIAIsNull: Boolean;
    procedure SetRECARGO_EQUIVALENCIAIsNull(const aValue: Boolean);
    function GetID_TIPO_IVAValue: Integer;
    procedure SetID_TIPO_IVAValue(const aValue: Integer);
    function GetID_TIPO_IVAIsNull: Boolean;
    procedure SetID_TIPO_IVAIsNull(const aValue: Boolean);
    function 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 GetDATOS_BANCARIOSValue: String;
    procedure SetDATOS_BANCARIOSValue(const aValue: String);
    function GetDATOS_BANCARIOSIsNull: Boolean;
    procedure SetDATOS_BANCARIOSIsNull(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 REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue;
    property REFERENCIAIsNull: Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull;
    property TIPO: String read GetTIPOValue write SetTIPOValue;
    property TIPOIsNull: Boolean read GetTIPOIsNull write SetTIPOIsNull;
    property REFERENCIA_PROVEEDOR: String read GetREFERENCIA_PROVEEDORValue write SetREFERENCIA_PROVEEDORValue;
    property REFERENCIA_PROVEEDORIsNull: Boolean read GetREFERENCIA_PROVEEDORIsNull write SetREFERENCIA_PROVEEDORIsNull;
    property FECHA_FACTURA: DateTime read GetFECHA_FACTURAValue write SetFECHA_FACTURAValue;
    property FECHA_FACTURAIsNull: Boolean read GetFECHA_FACTURAIsNull write SetFECHA_FACTURAIsNull;
    property FECHA_VENCIMIENTO: DateTime read GetFECHA_VENCIMIENTOValue write SetFECHA_VENCIMIENTOValue;
    property FECHA_VENCIMIENTOIsNull: Boolean read GetFECHA_VENCIMIENTOIsNull write SetFECHA_VENCIMIENTOIsNull;
    property SITUACION: String read GetSITUACIONValue write SetSITUACIONValue;
    property SITUACIONIsNull: Boolean read GetSITUACIONIsNull write SetSITUACIONIsNull;
    property BASE_IMPONIBLE: Currency read GetBASE_IMPONIBLEValue write SetBASE_IMPONIBLEValue;
    property BASE_IMPONIBLEIsNull: Boolean read GetBASE_IMPONIBLEIsNull write SetBASE_IMPONIBLEIsNull;
    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 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 RE: Float read GetREValue write SetREValue;
    property REIsNull: Boolean read GetREIsNull write SetREIsNull;
    property IMPORTE_RE: Currency read GetIMPORTE_REValue write SetIMPORTE_REValue;
    property IMPORTE_REIsNull: Boolean read GetIMPORTE_REIsNull write SetIMPORTE_REIsNull;
    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 ID_PROVEEDOR: Integer read GetID_PROVEEDORValue write SetID_PROVEEDORValue;
    property ID_PROVEEDORIsNull: Boolean read GetID_PROVEEDORIsNull write SetID_PROVEEDORIsNull;
    property NIF_CIF: String read GetNIF_CIFValue write SetNIF_CIFValue;
    property NIF_CIFIsNull: Boolean read GetNIF_CIFIsNull write SetNIF_CIFIsNull;
    property NOMBRE: String read GetNOMBREValue write SetNOMBREValue;
    property NOMBREIsNull: Boolean read GetNOMBREIsNull write SetNOMBREIsNull;
    property CALLE: String read GetCALLEValue write SetCALLEValue;
    property CALLEIsNull: Boolean read GetCALLEIsNull write SetCALLEIsNull;
    property POBLACION: String read GetPOBLACIONValue write SetPOBLACIONValue;
    property POBLACIONIsNull: Boolean read GetPOBLACIONIsNull write SetPOBLACIONIsNull;
    property PROVINCIA: String read GetPROVINCIAValue write SetPROVINCIAValue;
    property PROVINCIAIsNull: Boolean read GetPROVINCIAIsNull write SetPROVINCIAIsNull;
    property CODIGO_POSTAL: String read GetCODIGO_POSTALValue write SetCODIGO_POSTALValue;
    property CODIGO_POSTALIsNull: Boolean read GetCODIGO_POSTALIsNull write SetCODIGO_POSTALIsNull;
    property 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 RECARGO_EQUIVALENCIA: SmallInt read GetRECARGO_EQUIVALENCIAValue write SetRECARGO_EQUIVALENCIAValue;
    property RECARGO_EQUIVALENCIAIsNull: Boolean read GetRECARGO_EQUIVALENCIAIsNull write SetRECARGO_EQUIVALENCIAIsNull;
    property ID_TIPO_IVA: Integer read GetID_TIPO_IVAValue write SetID_TIPO_IVAValue;
    property ID_TIPO_IVAIsNull: Boolean read GetID_TIPO_IVAIsNull write SetID_TIPO_IVAIsNull;
    property 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 DATOS_BANCARIOS: String read GetDATOS_BANCARIOSValue write SetDATOS_BANCARIOSValue;
    property DATOS_BANCARIOSIsNull: Boolean read GetDATOS_BANCARIOSIsNull write SetDATOS_BANCARIOSIsNull;
  end;

  { TFacturasProveedorDataTableRules }
  TFacturasProveedorDataTableRules = class(TIntfObjectDADataTableRules, IFacturasProveedor)
  private
    f_OBSERVACIONES: IROStrings;
    procedure OBSERVACIONES_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 GetREFERENCIAValue: String; virtual;
    procedure SetREFERENCIAValue(const aValue: String); virtual;
    function GetREFERENCIAIsNull: Boolean; virtual;
    procedure SetREFERENCIAIsNull(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 GetREFERENCIA_PROVEEDORValue: String; virtual;
    procedure SetREFERENCIA_PROVEEDORValue(const aValue: String); virtual;
    function GetREFERENCIA_PROVEEDORIsNull: Boolean; virtual;
    procedure SetREFERENCIA_PROVEEDORIsNull(const aValue: Boolean); virtual;
    function GetFECHA_FACTURAValue: DateTime; virtual;
    procedure SetFECHA_FACTURAValue(const aValue: DateTime); virtual;
    function GetFECHA_FACTURAIsNull: Boolean; virtual;
    procedure SetFECHA_FACTURAIsNull(const aValue: Boolean); virtual;
    function GetFECHA_VENCIMIENTOValue: DateTime; virtual;
    procedure SetFECHA_VENCIMIENTOValue(const aValue: DateTime); virtual;
    function GetFECHA_VENCIMIENTOIsNull: Boolean; virtual;
    procedure SetFECHA_VENCIMIENTOIsNull(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 GetBASE_IMPONIBLEValue: Currency; virtual;
    procedure SetBASE_IMPONIBLEValue(const aValue: Currency); virtual;
    function GetBASE_IMPONIBLEIsNull: Boolean; virtual;
    procedure SetBASE_IMPONIBLEIsNull(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 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 GetREValue: Float; virtual;
    procedure SetREValue(const aValue: Float); virtual;
    function GetREIsNull: Boolean; virtual;
    procedure SetREIsNull(const aValue: Boolean); virtual;
    function GetIMPORTE_REValue: Currency; virtual;
    procedure SetIMPORTE_REValue(const aValue: Currency); virtual;
    function GetIMPORTE_REIsNull: Boolean; virtual;
    procedure SetIMPORTE_REIsNull(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 GetID_PROVEEDORValue: Integer; virtual;
    procedure SetID_PROVEEDORValue(const aValue: Integer); virtual;
    function GetID_PROVEEDORIsNull: Boolean; virtual;
    procedure SetID_PROVEEDORIsNull(const aValue: Boolean); virtual;
    function GetNIF_CIFValue: String; virtual;
    procedure SetNIF_CIFValue(const aValue: String); virtual;
    function GetNIF_CIFIsNull: Boolean; virtual;
    procedure SetNIF_CIFIsNull(const aValue: Boolean); virtual;
    function GetNOMBREValue: String; virtual;
    procedure SetNOMBREValue(const aValue: String); virtual;
    function GetNOMBREIsNull: Boolean; virtual;
    procedure SetNOMBREIsNull(const aValue: Boolean); virtual;
    function GetCALLEValue: String; virtual;
    procedure SetCALLEValue(const aValue: String); virtual;
    function GetCALLEIsNull: Boolean; virtual;
    procedure SetCALLEIsNull(const aValue: Boolean); virtual;
    function GetPOBLACIONValue: String; virtual;
    procedure SetPOBLACIONValue(const aValue: String); virtual;
    function GetPOBLACIONIsNull: Boolean; virtual;
    procedure SetPOBLACIONIsNull(const aValue: Boolean); virtual;
    function GetPROVINCIAValue: String; virtual;
    procedure SetPROVINCIAValue(const aValue: String); virtual;
    function GetPROVINCIAIsNull: Boolean; virtual;
    procedure SetPROVINCIAIsNull(const aValue: Boolean); virtual;
    function GetCODIGO_POSTALValue: String; virtual;
    procedure SetCODIGO_POSTALValue(const aValue: String); virtual;
    function GetCODIGO_POSTALIsNull: Boolean; virtual;
    procedure SetCODIGO_POSTALIsNull(const aValue: Boolean); virtual;
    function 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 GetRECARGO_EQUIVALENCIAValue: SmallInt; virtual;
    procedure SetRECARGO_EQUIVALENCIAValue(const aValue: SmallInt); virtual;
    function GetRECARGO_EQUIVALENCIAIsNull: Boolean; virtual;
    procedure SetRECARGO_EQUIVALENCIAIsNull(const aValue: Boolean); virtual;
    function GetID_TIPO_IVAValue: Integer; virtual;
    procedure SetID_TIPO_IVAValue(const aValue: Integer); virtual;
    function GetID_TIPO_IVAIsNull: Boolean; virtual;
    procedure SetID_TIPO_IVAIsNull(const aValue: Boolean); virtual;
    function 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 GetDATOS_BANCARIOSValue: String; virtual;
    procedure SetDATOS_BANCARIOSValue(const aValue: String); virtual;
    function GetDATOS_BANCARIOSIsNull: Boolean; virtual;
    procedure SetDATOS_BANCARIOSIsNull(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 REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue;
    property REFERENCIAIsNull: Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull;
    property TIPO: String read GetTIPOValue write SetTIPOValue;
    property TIPOIsNull: Boolean read GetTIPOIsNull write SetTIPOIsNull;
    property REFERENCIA_PROVEEDOR: String read GetREFERENCIA_PROVEEDORValue write SetREFERENCIA_PROVEEDORValue;
    property REFERENCIA_PROVEEDORIsNull: Boolean read GetREFERENCIA_PROVEEDORIsNull write SetREFERENCIA_PROVEEDORIsNull;
    property FECHA_FACTURA: DateTime read GetFECHA_FACTURAValue write SetFECHA_FACTURAValue;
    property FECHA_FACTURAIsNull: Boolean read GetFECHA_FACTURAIsNull write SetFECHA_FACTURAIsNull;
    property FECHA_VENCIMIENTO: DateTime read GetFECHA_VENCIMIENTOValue write SetFECHA_VENCIMIENTOValue;
    property FECHA_VENCIMIENTOIsNull: Boolean read GetFECHA_VENCIMIENTOIsNull write SetFECHA_VENCIMIENTOIsNull;
    property SITUACION: String read GetSITUACIONValue write SetSITUACIONValue;
    property SITUACIONIsNull: Boolean read GetSITUACIONIsNull write SetSITUACIONIsNull;
    property BASE_IMPONIBLE: Currency read GetBASE_IMPONIBLEValue write SetBASE_IMPONIBLEValue;
    property BASE_IMPONIBLEIsNull: Boolean read GetBASE_IMPONIBLEIsNull write SetBASE_IMPONIBLEIsNull;
    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 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 RE: Float read GetREValue write SetREValue;
    property REIsNull: Boolean read GetREIsNull write SetREIsNull;
    property IMPORTE_RE: Currency read GetIMPORTE_REValue write SetIMPORTE_REValue;
    property IMPORTE_REIsNull: Boolean read GetIMPORTE_REIsNull write SetIMPORTE_REIsNull;
    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 ID_PROVEEDOR: Integer read GetID_PROVEEDORValue write SetID_PROVEEDORValue;
    property ID_PROVEEDORIsNull: Boolean read GetID_PROVEEDORIsNull write SetID_PROVEEDORIsNull;
    property NIF_CIF: String read GetNIF_CIFValue write SetNIF_CIFValue;
    property NIF_CIFIsNull: Boolean read GetNIF_CIFIsNull write SetNIF_CIFIsNull;
    property NOMBRE: String read GetNOMBREValue write SetNOMBREValue;
    property NOMBREIsNull: Boolean read GetNOMBREIsNull write SetNOMBREIsNull;
    property CALLE: String read GetCALLEValue write SetCALLEValue;
    property CALLEIsNull: Boolean read GetCALLEIsNull write SetCALLEIsNull;
    property POBLACION: String read GetPOBLACIONValue write SetPOBLACIONValue;
    property POBLACIONIsNull: Boolean read GetPOBLACIONIsNull write SetPOBLACIONIsNull;
    property PROVINCIA: String read GetPROVINCIAValue write SetPROVINCIAValue;
    property PROVINCIAIsNull: Boolean read GetPROVINCIAIsNull write SetPROVINCIAIsNull;
    property CODIGO_POSTAL: String read GetCODIGO_POSTALValue write SetCODIGO_POSTALValue;
    property CODIGO_POSTALIsNull: Boolean read GetCODIGO_POSTALIsNull write SetCODIGO_POSTALIsNull;
    property 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 RECARGO_EQUIVALENCIA: SmallInt read GetRECARGO_EQUIVALENCIAValue write SetRECARGO_EQUIVALENCIAValue;
    property RECARGO_EQUIVALENCIAIsNull: Boolean read GetRECARGO_EQUIVALENCIAIsNull write SetRECARGO_EQUIVALENCIAIsNull;
    property ID_TIPO_IVA: Integer read GetID_TIPO_IVAValue write SetID_TIPO_IVAValue;
    property ID_TIPO_IVAIsNull: Boolean read GetID_TIPO_IVAIsNull write SetID_TIPO_IVAIsNull;
    property 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 DATOS_BANCARIOS: String read GetDATOS_BANCARIOSValue write SetDATOS_BANCARIOSValue;
    property DATOS_BANCARIOSIsNull: Boolean read GetDATOS_BANCARIOSIsNull write SetDATOS_BANCARIOSIsNull;

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

  end;

  { IFacturasProveedor_Detalles }
  IFacturasProveedor_Detalles = interface(IDAStronglyTypedDataTable)
  ['{AE1A2F3E-33E1-4593-A397-EF5B9520D17E}']
    { Property getters and setters }
    function GetIDValue: Integer;
    procedure SetIDValue(const aValue: Integer);
    function GetIDIsNull: Boolean;
    procedure SetIDIsNull(const aValue: Boolean);
    function GetID_FACTURAValue: Integer;
    procedure SetID_FACTURAValue(const aValue: Integer);
    function GetID_FACTURAIsNull: Boolean;
    procedure SetID_FACTURAIsNull(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 GetIMPORTE_TOTALValue: Currency;
    procedure SetIMPORTE_TOTALValue(const aValue: Currency);
    function GetIMPORTE_TOTALIsNull: Boolean;
    procedure SetIMPORTE_TOTALIsNull(const aValue: Boolean);
    function GetVISIBLEValue: SmallInt;
    procedure SetVISIBLEValue(const aValue: SmallInt);
    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 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 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 GetREFERENCIA_FABRICANTEValue: String;
    procedure SetREFERENCIA_FABRICANTEValue(const aValue: String);
    function GetREFERENCIA_FABRICANTEIsNull: Boolean;
    procedure SetREFERENCIA_FABRICANTEIsNull(const aValue: Boolean);


    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property ID_FACTURA: Integer read GetID_FACTURAValue write SetID_FACTURAValue;
    property ID_FACTURAIsNull: Boolean read GetID_FACTURAIsNull write SetID_FACTURAIsNull;
    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 IMPORTE_TOTAL: Currency read GetIMPORTE_TOTALValue write SetIMPORTE_TOTALValue;
    property IMPORTE_TOTALIsNull: Boolean read GetIMPORTE_TOTALIsNull write SetIMPORTE_TOTALIsNull;
    property VISIBLE: SmallInt 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 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 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 REFERENCIA_FABRICANTE: String read GetREFERENCIA_FABRICANTEValue write SetREFERENCIA_FABRICANTEValue;
    property REFERENCIA_FABRICANTEIsNull: Boolean read GetREFERENCIA_FABRICANTEIsNull write SetREFERENCIA_FABRICANTEIsNull;
  end;

  { TFacturasProveedor_DetallesDataTableRules }
  TFacturasProveedor_DetallesDataTableRules = class(TIntfObjectDADataTableRules, IFacturasProveedor_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_FACTURAValue: Integer; virtual;
    procedure SetID_FACTURAValue(const aValue: Integer); virtual;
    function GetID_FACTURAIsNull: Boolean; virtual;
    procedure SetID_FACTURAIsNull(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 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: SmallInt; virtual;
    procedure SetVISIBLEValue(const aValue: SmallInt); 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 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 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 GetREFERENCIA_FABRICANTEValue: String; virtual;
    procedure SetREFERENCIA_FABRICANTEValue(const aValue: String); virtual;
    function GetREFERENCIA_FABRICANTEIsNull: Boolean; virtual;
    procedure SetREFERENCIA_FABRICANTEIsNull(const aValue: Boolean); virtual;

    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property ID_FACTURA: Integer read GetID_FACTURAValue write SetID_FACTURAValue;
    property ID_FACTURAIsNull: Boolean read GetID_FACTURAIsNull write SetID_FACTURAIsNull;
    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 IMPORTE_TOTAL: Currency read GetIMPORTE_TOTALValue write SetIMPORTE_TOTALValue;
    property IMPORTE_TOTALIsNull: Boolean read GetIMPORTE_TOTALIsNull write SetIMPORTE_TOTALIsNull;
    property VISIBLE: SmallInt 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 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 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 REFERENCIA_FABRICANTE: String read GetREFERENCIA_FABRICANTEValue write SetREFERENCIA_FABRICANTEValue;
    property REFERENCIA_FABRICANTEIsNull: Boolean read GetREFERENCIA_FABRICANTEIsNull write SetREFERENCIA_FABRICANTEIsNull;

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

  end;

  { IFacturasProveedor_Pedidos }
  IFacturasProveedor_Pedidos = interface(IDAStronglyTypedDataTable)
  ['{00E2CBCC-20FA-40E8-A713-06794CC6A2B1}']
    { Property getters and setters }
    function GetIDValue: Integer;
    procedure SetIDValue(const aValue: Integer);
    function GetIDIsNull: Boolean;
    procedure SetIDIsNull(const aValue: Boolean);
    function GetID_FACTURAValue: Integer;
    procedure SetID_FACTURAValue(const aValue: Integer);
    function GetID_FACTURAIsNull: Boolean;
    procedure SetID_FACTURAIsNull(const aValue: Boolean);
    function GetIMPORTE_TOTALValue: Currency;
    procedure SetIMPORTE_TOTALValue(const aValue: Currency);
    function GetIMPORTE_TOTALIsNull: Boolean;
    procedure SetIMPORTE_TOTALIsNull(const aValue: Boolean);
    function GetID_PEDIDOValue: Integer;
    procedure SetID_PEDIDOValue(const aValue: Integer);
    function GetID_PEDIDOIsNull: Boolean;
    procedure SetID_PEDIDOIsNull(const aValue: Boolean);
    function GetREFERENCIAValue: String;
    procedure SetREFERENCIAValue(const aValue: String);
    function GetREFERENCIAIsNull: Boolean;
    procedure SetREFERENCIAIsNull(const aValue: Boolean);
    function GetFECHA_PEDIDOValue: DateTime;
    procedure SetFECHA_PEDIDOValue(const aValue: DateTime);
    function GetFECHA_PEDIDOIsNull: Boolean;
    procedure SetFECHA_PEDIDOIsNull(const aValue: Boolean);
    function GetPROVEEDORValue: String;
    procedure SetPROVEEDORValue(const aValue: String);
    function GetPROVEEDORIsNull: Boolean;
    procedure SetPROVEEDORIsNull(const aValue: Boolean);


    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property ID_FACTURA: Integer read GetID_FACTURAValue write SetID_FACTURAValue;
    property ID_FACTURAIsNull: Boolean read GetID_FACTURAIsNull write SetID_FACTURAIsNull;
    property IMPORTE_TOTAL: Currency read GetIMPORTE_TOTALValue write SetIMPORTE_TOTALValue;
    property IMPORTE_TOTALIsNull: Boolean read GetIMPORTE_TOTALIsNull write SetIMPORTE_TOTALIsNull;
    property ID_PEDIDO: Integer read GetID_PEDIDOValue write SetID_PEDIDOValue;
    property ID_PEDIDOIsNull: Boolean read GetID_PEDIDOIsNull write SetID_PEDIDOIsNull;
    property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue;
    property REFERENCIAIsNull: Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull;
    property FECHA_PEDIDO: DateTime read GetFECHA_PEDIDOValue write SetFECHA_PEDIDOValue;
    property FECHA_PEDIDOIsNull: Boolean read GetFECHA_PEDIDOIsNull write SetFECHA_PEDIDOIsNull;
    property PROVEEDOR: String read GetPROVEEDORValue write SetPROVEEDORValue;
    property PROVEEDORIsNull: Boolean read GetPROVEEDORIsNull write SetPROVEEDORIsNull;
  end;

  { TFacturasProveedor_PedidosDataTableRules }
  TFacturasProveedor_PedidosDataTableRules = class(TIntfObjectDADataTableRules, IFacturasProveedor_Pedidos)
  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_FACTURAValue: Integer; virtual;
    procedure SetID_FACTURAValue(const aValue: Integer); virtual;
    function GetID_FACTURAIsNull: Boolean; virtual;
    procedure SetID_FACTURAIsNull(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 GetID_PEDIDOValue: Integer; virtual;
    procedure SetID_PEDIDOValue(const aValue: Integer); virtual;
    function GetID_PEDIDOIsNull: Boolean; virtual;
    procedure SetID_PEDIDOIsNull(const aValue: Boolean); virtual;
    function GetREFERENCIAValue: String; virtual;
    procedure SetREFERENCIAValue(const aValue: String); virtual;
    function GetREFERENCIAIsNull: Boolean; virtual;
    procedure SetREFERENCIAIsNull(const aValue: Boolean); virtual;
    function GetFECHA_PEDIDOValue: DateTime; virtual;
    procedure SetFECHA_PEDIDOValue(const aValue: DateTime); virtual;
    function GetFECHA_PEDIDOIsNull: Boolean; virtual;
    procedure SetFECHA_PEDIDOIsNull(const aValue: Boolean); virtual;
    function GetPROVEEDORValue: String; virtual;
    procedure SetPROVEEDORValue(const aValue: String); virtual;
    function GetPROVEEDORIsNull: Boolean; virtual;
    procedure SetPROVEEDORIsNull(const aValue: Boolean); virtual;

    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property ID_FACTURA: Integer read GetID_FACTURAValue write SetID_FACTURAValue;
    property ID_FACTURAIsNull: Boolean read GetID_FACTURAIsNull write SetID_FACTURAIsNull;
    property IMPORTE_TOTAL: Currency read GetIMPORTE_TOTALValue write SetIMPORTE_TOTALValue;
    property IMPORTE_TOTALIsNull: Boolean read GetIMPORTE_TOTALIsNull write SetIMPORTE_TOTALIsNull;
    property ID_PEDIDO: Integer read GetID_PEDIDOValue write SetID_PEDIDOValue;
    property ID_PEDIDOIsNull: Boolean read GetID_PEDIDOIsNull write SetID_PEDIDOIsNull;
    property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue;
    property REFERENCIAIsNull: Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull;
    property FECHA_PEDIDO: DateTime read GetFECHA_PEDIDOValue write SetFECHA_PEDIDOValue;
    property FECHA_PEDIDOIsNull: Boolean read GetFECHA_PEDIDOIsNull write SetFECHA_PEDIDOIsNull;
    property PROVEEDOR: String read GetPROVEEDORValue write SetPROVEEDORValue;
    property PROVEEDORIsNull: Boolean read GetPROVEEDORIsNull write SetPROVEEDORIsNull;

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

  end;

implementation

uses Variants, uROBinaryHelpers;

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

destructor TListaAnosFacturasDataTableRules.Destroy;
begin
  inherited;
end;

function TListaAnosFacturasDataTableRules.GetANOValue: String;
begin
  result := DataTable.Fields[idx_ListaAnosFacturasANO].AsString;
end;

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

function TListaAnosFacturasDataTableRules.GetANOIsNull: boolean;
begin
  result := DataTable.Fields[idx_ListaAnosFacturasANO].IsNull;
end;

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


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

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

destructor TFacturasProveedorDataTableRules.Destroy;
begin
  inherited;
end;

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

function TFacturasProveedorDataTableRules.GetIDValue: Integer;
begin
  result := DataTable.Fields[idx_FacturasProveedorID].AsInteger;
end;

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

function TFacturasProveedorDataTableRules.GetIDIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasProveedorID].IsNull;
end;

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

function TFacturasProveedorDataTableRules.GetID_EMPRESAValue: Integer;
begin
  result := DataTable.Fields[idx_FacturasProveedorID_EMPRESA].AsInteger;
end;

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

function TFacturasProveedorDataTableRules.GetID_EMPRESAIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasProveedorID_EMPRESA].IsNull;
end;

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

function TFacturasProveedorDataTableRules.GetREFERENCIAValue: String;
begin
  result := DataTable.Fields[idx_FacturasProveedorREFERENCIA].AsString;
end;

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

function TFacturasProveedorDataTableRules.GetREFERENCIAIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasProveedorREFERENCIA].IsNull;
end;

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

function TFacturasProveedorDataTableRules.GetTIPOValue: String;
begin
  result := DataTable.Fields[idx_FacturasProveedorTIPO].AsString;
end;

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

function TFacturasProveedorDataTableRules.GetTIPOIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasProveedorTIPO].IsNull;
end;

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

function TFacturasProveedorDataTableRules.GetREFERENCIA_PROVEEDORValue: String;
begin
  result := DataTable.Fields[idx_FacturasProveedorREFERENCIA_PROVEEDOR].AsString;
end;

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

function TFacturasProveedorDataTableRules.GetREFERENCIA_PROVEEDORIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasProveedorREFERENCIA_PROVEEDOR].IsNull;
end;

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

function TFacturasProveedorDataTableRules.GetFECHA_FACTURAValue: DateTime;
begin
  result := DataTable.Fields[idx_FacturasProveedorFECHA_FACTURA].AsDateTime;
end;

procedure TFacturasProveedorDataTableRules.SetFECHA_FACTURAValue(const aValue: DateTime);
begin
  DataTable.Fields[idx_FacturasProveedorFECHA_FACTURA].AsDateTime := aValue;
end;

function TFacturasProveedorDataTableRules.GetFECHA_FACTURAIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasProveedorFECHA_FACTURA].IsNull;
end;

procedure TFacturasProveedorDataTableRules.SetFECHA_FACTURAIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_FacturasProveedorFECHA_FACTURA].AsVariant := Null;
end;

function TFacturasProveedorDataTableRules.GetFECHA_VENCIMIENTOValue: DateTime;
begin
  result := DataTable.Fields[idx_FacturasProveedorFECHA_VENCIMIENTO].AsDateTime;
end;

procedure TFacturasProveedorDataTableRules.SetFECHA_VENCIMIENTOValue(const aValue: DateTime);
begin
  DataTable.Fields[idx_FacturasProveedorFECHA_VENCIMIENTO].AsDateTime := aValue;
end;

function TFacturasProveedorDataTableRules.GetFECHA_VENCIMIENTOIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasProveedorFECHA_VENCIMIENTO].IsNull;
end;

procedure TFacturasProveedorDataTableRules.SetFECHA_VENCIMIENTOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_FacturasProveedorFECHA_VENCIMIENTO].AsVariant := Null;
end;

function TFacturasProveedorDataTableRules.GetSITUACIONValue: String;
begin
  result := DataTable.Fields[idx_FacturasProveedorSITUACION].AsString;
end;

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

function TFacturasProveedorDataTableRules.GetSITUACIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasProveedorSITUACION].IsNull;
end;

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

function TFacturasProveedorDataTableRules.GetBASE_IMPONIBLEValue: Currency;
begin
  result := DataTable.Fields[idx_FacturasProveedorBASE_IMPONIBLE].AsCurrency;
end;

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

function TFacturasProveedorDataTableRules.GetBASE_IMPONIBLEIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasProveedorBASE_IMPONIBLE].IsNull;
end;

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

function TFacturasProveedorDataTableRules.GetDESCUENTOValue: Float;
begin
  result := DataTable.Fields[idx_FacturasProveedorDESCUENTO].AsFloat;
end;

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

function TFacturasProveedorDataTableRules.GetDESCUENTOIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasProveedorDESCUENTO].IsNull;
end;

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

function TFacturasProveedorDataTableRules.GetIMPORTE_DESCUENTOValue: Currency;
begin
  result := DataTable.Fields[idx_FacturasProveedorIMPORTE_DESCUENTO].AsCurrency;
end;

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

function TFacturasProveedorDataTableRules.GetIMPORTE_DESCUENTOIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasProveedorIMPORTE_DESCUENTO].IsNull;
end;

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

function TFacturasProveedorDataTableRules.GetIVAValue: Float;
begin
  result := DataTable.Fields[idx_FacturasProveedorIVA].AsFloat;
end;

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

function TFacturasProveedorDataTableRules.GetIVAIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasProveedorIVA].IsNull;
end;

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

function TFacturasProveedorDataTableRules.GetIMPORTE_IVAValue: Currency;
begin
  result := DataTable.Fields[idx_FacturasProveedorIMPORTE_IVA].AsCurrency;
end;

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

function TFacturasProveedorDataTableRules.GetIMPORTE_IVAIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasProveedorIMPORTE_IVA].IsNull;
end;

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

function TFacturasProveedorDataTableRules.GetREValue: Float;
begin
  result := DataTable.Fields[idx_FacturasProveedorRE].AsFloat;
end;

procedure TFacturasProveedorDataTableRules.SetREValue(const aValue: Float);
begin
  DataTable.Fields[idx_FacturasProveedorRE].AsFloat := aValue;
end;

function TFacturasProveedorDataTableRules.GetREIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasProveedorRE].IsNull;
end;

procedure TFacturasProveedorDataTableRules.SetREIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_FacturasProveedorRE].AsVariant := Null;
end;

function TFacturasProveedorDataTableRules.GetIMPORTE_REValue: Currency;
begin
  result := DataTable.Fields[idx_FacturasProveedorIMPORTE_RE].AsCurrency;
end;

procedure TFacturasProveedorDataTableRules.SetIMPORTE_REValue(const aValue: Currency);
begin
  DataTable.Fields[idx_FacturasProveedorIMPORTE_RE].AsCurrency := aValue;
end;

function TFacturasProveedorDataTableRules.GetIMPORTE_REIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasProveedorIMPORTE_RE].IsNull;
end;

procedure TFacturasProveedorDataTableRules.SetIMPORTE_REIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_FacturasProveedorIMPORTE_RE].AsVariant := Null;
end;

function TFacturasProveedorDataTableRules.GetIMPORTE_TOTALValue: Currency;
begin
  result := DataTable.Fields[idx_FacturasProveedorIMPORTE_TOTAL].AsCurrency;
end;

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

function TFacturasProveedorDataTableRules.GetIMPORTE_TOTALIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasProveedorIMPORTE_TOTAL].IsNull;
end;

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

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

function TFacturasProveedorDataTableRules.GetOBSERVACIONESIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasProveedorOBSERVACIONES].IsNull;
end;

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

function TFacturasProveedorDataTableRules.GetID_PROVEEDORValue: Integer;
begin
  result := DataTable.Fields[idx_FacturasProveedorID_PROVEEDOR].AsInteger;
end;

procedure TFacturasProveedorDataTableRules.SetID_PROVEEDORValue(const aValue: Integer);
begin
  DataTable.Fields[idx_FacturasProveedorID_PROVEEDOR].AsInteger := aValue;
end;

function TFacturasProveedorDataTableRules.GetID_PROVEEDORIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasProveedorID_PROVEEDOR].IsNull;
end;

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

function TFacturasProveedorDataTableRules.GetNIF_CIFValue: String;
begin
  result := DataTable.Fields[idx_FacturasProveedorNIF_CIF].AsString;
end;

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

function TFacturasProveedorDataTableRules.GetNIF_CIFIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasProveedorNIF_CIF].IsNull;
end;

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

function TFacturasProveedorDataTableRules.GetNOMBREValue: String;
begin
  result := DataTable.Fields[idx_FacturasProveedorNOMBRE].AsString;
end;

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

function TFacturasProveedorDataTableRules.GetNOMBREIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasProveedorNOMBRE].IsNull;
end;

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

function TFacturasProveedorDataTableRules.GetCALLEValue: String;
begin
  result := DataTable.Fields[idx_FacturasProveedorCALLE].AsString;
end;

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

function TFacturasProveedorDataTableRules.GetCALLEIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasProveedorCALLE].IsNull;
end;

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

function TFacturasProveedorDataTableRules.GetPOBLACIONValue: String;
begin
  result := DataTable.Fields[idx_FacturasProveedorPOBLACION].AsString;
end;

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

function TFacturasProveedorDataTableRules.GetPOBLACIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasProveedorPOBLACION].IsNull;
end;

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

function TFacturasProveedorDataTableRules.GetPROVINCIAValue: String;
begin
  result := DataTable.Fields[idx_FacturasProveedorPROVINCIA].AsString;
end;

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

function TFacturasProveedorDataTableRules.GetPROVINCIAIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasProveedorPROVINCIA].IsNull;
end;

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

function TFacturasProveedorDataTableRules.GetCODIGO_POSTALValue: String;
begin
  result := DataTable.Fields[idx_FacturasProveedorCODIGO_POSTAL].AsString;
end;

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

function TFacturasProveedorDataTableRules.GetCODIGO_POSTALIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasProveedorCODIGO_POSTAL].IsNull;
end;

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

function TFacturasProveedorDataTableRules.GetFECHA_ALTAValue: DateTime;
begin
  result := DataTable.Fields[idx_FacturasProveedorFECHA_ALTA].AsDateTime;
end;

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

function TFacturasProveedorDataTableRules.GetFECHA_ALTAIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasProveedorFECHA_ALTA].IsNull;
end;

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

function TFacturasProveedorDataTableRules.GetFECHA_MODIFICACIONValue: DateTime;
begin
  result := DataTable.Fields[idx_FacturasProveedorFECHA_MODIFICACION].AsDateTime;
end;

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

function TFacturasProveedorDataTableRules.GetFECHA_MODIFICACIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasProveedorFECHA_MODIFICACION].IsNull;
end;

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

function TFacturasProveedorDataTableRules.GetUSUARIOValue: String;
begin
  result := DataTable.Fields[idx_FacturasProveedorUSUARIO].AsString;
end;

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

function TFacturasProveedorDataTableRules.GetUSUARIOIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasProveedorUSUARIO].IsNull;
end;

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

function TFacturasProveedorDataTableRules.GetID_FORMA_PAGOValue: Integer;
begin
  result := DataTable.Fields[idx_FacturasProveedorID_FORMA_PAGO].AsInteger;
end;

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

function TFacturasProveedorDataTableRules.GetID_FORMA_PAGOIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasProveedorID_FORMA_PAGO].IsNull;
end;

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

function TFacturasProveedorDataTableRules.GetRECARGO_EQUIVALENCIAValue: SmallInt;
begin
  result := DataTable.Fields[idx_FacturasProveedorRECARGO_EQUIVALENCIA].AsSmallInt;
end;

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

function TFacturasProveedorDataTableRules.GetRECARGO_EQUIVALENCIAIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasProveedorRECARGO_EQUIVALENCIA].IsNull;
end;

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

function TFacturasProveedorDataTableRules.GetID_TIPO_IVAValue: Integer;
begin
  result := DataTable.Fields[idx_FacturasProveedorID_TIPO_IVA].AsInteger;
end;

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

function TFacturasProveedorDataTableRules.GetID_TIPO_IVAIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasProveedorID_TIPO_IVA].IsNull;
end;

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

function TFacturasProveedorDataTableRules.GetIMPORTE_NETOValue: Currency;
begin
  result := DataTable.Fields[idx_FacturasProveedorIMPORTE_NETO].AsCurrency;
end;

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

function TFacturasProveedorDataTableRules.GetIMPORTE_NETOIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasProveedorIMPORTE_NETO].IsNull;
end;

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

function TFacturasProveedorDataTableRules.GetIMPORTE_PORTEValue: Currency;
begin
  result := DataTable.Fields[idx_FacturasProveedorIMPORTE_PORTE].AsCurrency;
end;

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

function TFacturasProveedorDataTableRules.GetIMPORTE_PORTEIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasProveedorIMPORTE_PORTE].IsNull;
end;

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

function TFacturasProveedorDataTableRules.GetDATOS_BANCARIOSValue: String;
begin
  result := DataTable.Fields[idx_FacturasProveedorDATOS_BANCARIOS].AsString;
end;

procedure TFacturasProveedorDataTableRules.SetDATOS_BANCARIOSValue(const aValue: String);
begin
  DataTable.Fields[idx_FacturasProveedorDATOS_BANCARIOS].AsString := aValue;
end;

function TFacturasProveedorDataTableRules.GetDATOS_BANCARIOSIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasProveedorDATOS_BANCARIOS].IsNull;
end;

procedure TFacturasProveedorDataTableRules.SetDATOS_BANCARIOSIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_FacturasProveedorDATOS_BANCARIOS].AsVariant := Null;
end;


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

destructor TFacturasProveedor_DetallesDataTableRules.Destroy;
begin
  inherited;
end;

function TFacturasProveedor_DetallesDataTableRules.GetIDValue: Integer;
begin
  result := DataTable.Fields[idx_FacturasProveedor_DetallesID].AsInteger;
end;

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

function TFacturasProveedor_DetallesDataTableRules.GetIDIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasProveedor_DetallesID].IsNull;
end;

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

function TFacturasProveedor_DetallesDataTableRules.GetID_FACTURAValue: Integer;
begin
  result := DataTable.Fields[idx_FacturasProveedor_DetallesID_FACTURA].AsInteger;
end;

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

function TFacturasProveedor_DetallesDataTableRules.GetID_FACTURAIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasProveedor_DetallesID_FACTURA].IsNull;
end;

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

function TFacturasProveedor_DetallesDataTableRules.GetPOSICIONValue: Integer;
begin
  result := DataTable.Fields[idx_FacturasProveedor_DetallesPOSICION].AsInteger;
end;

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

function TFacturasProveedor_DetallesDataTableRules.GetPOSICIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasProveedor_DetallesPOSICION].IsNull;
end;

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

function TFacturasProveedor_DetallesDataTableRules.GetTIPO_DETALLEValue: String;
begin
  result := DataTable.Fields[idx_FacturasProveedor_DetallesTIPO_DETALLE].AsString;
end;

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

function TFacturasProveedor_DetallesDataTableRules.GetTIPO_DETALLEIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasProveedor_DetallesTIPO_DETALLE].IsNull;
end;

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

function TFacturasProveedor_DetallesDataTableRules.GetCONCEPTOValue: String;
begin
  result := DataTable.Fields[idx_FacturasProveedor_DetallesCONCEPTO].AsString;
end;

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

function TFacturasProveedor_DetallesDataTableRules.GetCONCEPTOIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasProveedor_DetallesCONCEPTO].IsNull;
end;

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

function TFacturasProveedor_DetallesDataTableRules.GetCANTIDADValue: Float;
begin
  result := DataTable.Fields[idx_FacturasProveedor_DetallesCANTIDAD].AsFloat;
end;

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

function TFacturasProveedor_DetallesDataTableRules.GetCANTIDADIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasProveedor_DetallesCANTIDAD].IsNull;
end;

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

function TFacturasProveedor_DetallesDataTableRules.GetUNIDAD_MEDIDAValue: String;
begin
  result := DataTable.Fields[idx_FacturasProveedor_DetallesUNIDAD_MEDIDA].AsString;
end;

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

function TFacturasProveedor_DetallesDataTableRules.GetUNIDAD_MEDIDAIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasProveedor_DetallesUNIDAD_MEDIDA].IsNull;
end;

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

function TFacturasProveedor_DetallesDataTableRules.GetIMPORTE_UNIDADValue: Currency;
begin
  result := DataTable.Fields[idx_FacturasProveedor_DetallesIMPORTE_UNIDAD].AsCurrency;
end;

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

function TFacturasProveedor_DetallesDataTableRules.GetIMPORTE_UNIDADIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasProveedor_DetallesIMPORTE_UNIDAD].IsNull;
end;

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

function TFacturasProveedor_DetallesDataTableRules.GetIMPORTE_TOTALValue: Currency;
begin
  result := DataTable.Fields[idx_FacturasProveedor_DetallesIMPORTE_TOTAL].AsCurrency;
end;

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

function TFacturasProveedor_DetallesDataTableRules.GetIMPORTE_TOTALIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasProveedor_DetallesIMPORTE_TOTAL].IsNull;
end;

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

function TFacturasProveedor_DetallesDataTableRules.GetVISIBLEValue: SmallInt;
begin
  result := DataTable.Fields[idx_FacturasProveedor_DetallesVISIBLE].AsSmallInt;
end;

procedure TFacturasProveedor_DetallesDataTableRules.SetVISIBLEValue(const aValue: SmallInt);
begin
  DataTable.Fields[idx_FacturasProveedor_DetallesVISIBLE].AsSmallInt := aValue;
end;

function TFacturasProveedor_DetallesDataTableRules.GetVISIBLEIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasProveedor_DetallesVISIBLE].IsNull;
end;

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

function TFacturasProveedor_DetallesDataTableRules.GetID_ARTICULOValue: Integer;
begin
  result := DataTable.Fields[idx_FacturasProveedor_DetallesID_ARTICULO].AsInteger;
end;

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

function TFacturasProveedor_DetallesDataTableRules.GetID_ARTICULOIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasProveedor_DetallesID_ARTICULO].IsNull;
end;

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

function TFacturasProveedor_DetallesDataTableRules.GetDESCUENTOValue: Float;
begin
  result := DataTable.Fields[idx_FacturasProveedor_DetallesDESCUENTO].AsFloat;
end;

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

function TFacturasProveedor_DetallesDataTableRules.GetDESCUENTOIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasProveedor_DetallesDESCUENTO].IsNull;
end;

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

function TFacturasProveedor_DetallesDataTableRules.GetIMPORTE_PORTEValue: Currency;
begin
  result := DataTable.Fields[idx_FacturasProveedor_DetallesIMPORTE_PORTE].AsCurrency;
end;

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

function TFacturasProveedor_DetallesDataTableRules.GetIMPORTE_PORTEIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasProveedor_DetallesIMPORTE_PORTE].IsNull;
end;

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

function TFacturasProveedor_DetallesDataTableRules.GetREFERENCIAValue: String;
begin
  result := DataTable.Fields[idx_FacturasProveedor_DetallesREFERENCIA].AsString;
end;

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

function TFacturasProveedor_DetallesDataTableRules.GetREFERENCIAIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasProveedor_DetallesREFERENCIA].IsNull;
end;

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

function TFacturasProveedor_DetallesDataTableRules.GetREFERENCIA_PROVEEDORValue: String;
begin
  result := DataTable.Fields[idx_FacturasProveedor_DetallesREFERENCIA_PROVEEDOR].AsString;
end;

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

function TFacturasProveedor_DetallesDataTableRules.GetREFERENCIA_PROVEEDORIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasProveedor_DetallesREFERENCIA_PROVEEDOR].IsNull;
end;

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

function TFacturasProveedor_DetallesDataTableRules.GetREFERENCIA_FABRICANTEValue: String;
begin
  result := DataTable.Fields[idx_FacturasProveedor_DetallesREFERENCIA_FABRICANTE].AsString;
end;

procedure TFacturasProveedor_DetallesDataTableRules.SetREFERENCIA_FABRICANTEValue(const aValue: String);
begin
  DataTable.Fields[idx_FacturasProveedor_DetallesREFERENCIA_FABRICANTE].AsString := aValue;
end;

function TFacturasProveedor_DetallesDataTableRules.GetREFERENCIA_FABRICANTEIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasProveedor_DetallesREFERENCIA_FABRICANTE].IsNull;
end;

procedure TFacturasProveedor_DetallesDataTableRules.SetREFERENCIA_FABRICANTEIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_FacturasProveedor_DetallesREFERENCIA_FABRICANTE].AsVariant := Null;
end;


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

destructor TFacturasProveedor_PedidosDataTableRules.Destroy;
begin
  inherited;
end;

function TFacturasProveedor_PedidosDataTableRules.GetIDValue: Integer;
begin
  result := DataTable.Fields[idx_FacturasProveedor_PedidosID].AsInteger;
end;

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

function TFacturasProveedor_PedidosDataTableRules.GetIDIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasProveedor_PedidosID].IsNull;
end;

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

function TFacturasProveedor_PedidosDataTableRules.GetID_FACTURAValue: Integer;
begin
  result := DataTable.Fields[idx_FacturasProveedor_PedidosID_FACTURA].AsInteger;
end;

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

function TFacturasProveedor_PedidosDataTableRules.GetID_FACTURAIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasProveedor_PedidosID_FACTURA].IsNull;
end;

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

function TFacturasProveedor_PedidosDataTableRules.GetIMPORTE_TOTALValue: Currency;
begin
  result := DataTable.Fields[idx_FacturasProveedor_PedidosIMPORTE_TOTAL].AsCurrency;
end;

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

function TFacturasProveedor_PedidosDataTableRules.GetIMPORTE_TOTALIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasProveedor_PedidosIMPORTE_TOTAL].IsNull;
end;

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

function TFacturasProveedor_PedidosDataTableRules.GetID_PEDIDOValue: Integer;
begin
  result := DataTable.Fields[idx_FacturasProveedor_PedidosID_PEDIDO].AsInteger;
end;

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

function TFacturasProveedor_PedidosDataTableRules.GetID_PEDIDOIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasProveedor_PedidosID_PEDIDO].IsNull;
end;

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

function TFacturasProveedor_PedidosDataTableRules.GetREFERENCIAValue: String;
begin
  result := DataTable.Fields[idx_FacturasProveedor_PedidosREFERENCIA].AsString;
end;

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

function TFacturasProveedor_PedidosDataTableRules.GetREFERENCIAIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasProveedor_PedidosREFERENCIA].IsNull;
end;

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

function TFacturasProveedor_PedidosDataTableRules.GetFECHA_PEDIDOValue: DateTime;
begin
  result := DataTable.Fields[idx_FacturasProveedor_PedidosFECHA_PEDIDO].AsDateTime;
end;

procedure TFacturasProveedor_PedidosDataTableRules.SetFECHA_PEDIDOValue(const aValue: DateTime);
begin
  DataTable.Fields[idx_FacturasProveedor_PedidosFECHA_PEDIDO].AsDateTime := aValue;
end;

function TFacturasProveedor_PedidosDataTableRules.GetFECHA_PEDIDOIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasProveedor_PedidosFECHA_PEDIDO].IsNull;
end;

procedure TFacturasProveedor_PedidosDataTableRules.SetFECHA_PEDIDOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_FacturasProveedor_PedidosFECHA_PEDIDO].AsVariant := Null;
end;

function TFacturasProveedor_PedidosDataTableRules.GetPROVEEDORValue: String;
begin
  result := DataTable.Fields[idx_FacturasProveedor_PedidosPROVEEDOR].AsString;
end;

procedure TFacturasProveedor_PedidosDataTableRules.SetPROVEEDORValue(const aValue: String);
begin
  DataTable.Fields[idx_FacturasProveedor_PedidosPROVEEDOR].AsString := aValue;
end;

function TFacturasProveedor_PedidosDataTableRules.GetPROVEEDORIsNull: boolean;
begin
  result := DataTable.Fields[idx_FacturasProveedor_PedidosPROVEEDOR].IsNull;
end;

procedure TFacturasProveedor_PedidosDataTableRules.SetPROVEEDORIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_FacturasProveedor_PedidosPROVEEDOR].AsVariant := Null;
end;


initialization
  RegisterDataTableRules(RID_ListaAnosFacturas, TListaAnosFacturasDataTableRules);
  RegisterDataTableRules(RID_FacturasProveedor, TFacturasProveedorDataTableRules);
  RegisterDataTableRules(RID_FacturasProveedor_Detalles, TFacturasProveedor_DetallesDataTableRules);
  RegisterDataTableRules(RID_FacturasProveedor_Pedidos, TFacturasProveedor_PedidosDataTableRules);

end.
