unit schArticulosClient_Intf;

interface

uses
  Classes, DB, SysUtils, uROClasses, uDADataTable;

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_Articulos = '{FE5A8941-5AAF-4531-80AF-EC65F31221AC}';
  RID_Articulos_Refresh = '{2819FEBE-E004-4298-9C11-130B7606942C}';
  RID_ArticulosParaCliente = '{01F0B629-43BE-4AA7-94DC-25BED34D3DE7}';

  { Data table names }
  nme_Articulos = 'Articulos';
  nme_Articulos_Refresh = 'Articulos_Refresh';
  nme_ArticulosParaCliente = 'ArticulosParaCliente';

  { Articulos fields }
  fld_ArticulosID = 'ID';
  fld_ArticulosID_EMPRESA = 'ID_EMPRESA';
  fld_ArticulosREFERENCIA = 'REFERENCIA';
  fld_ArticulosDESCRIPCION = 'DESCRIPCION';
  fld_ArticulosFAMILIA = 'FAMILIA';
  fld_ArticulosIMAGEN = 'IMAGEN';
  fld_ArticulosCOMISIONABLE = 'COMISIONABLE';
  fld_ArticulosFECHA_ALTA = 'FECHA_ALTA';
  fld_ArticulosFECHA_MODIFICACION = 'FECHA_MODIFICACION';
  fld_ArticulosUSUARIO = 'USUARIO';
  fld_ArticulosREFERENCIA_PROV = 'REFERENCIA_PROV';
  fld_ArticulosPRECIO_COSTE = 'PRECIO_COSTE';
  fld_ArticulosPRECIO_PORTE = 'PRECIO_PORTE';
  fld_ArticulosDESCUENTO = 'DESCUENTO';
  fld_ArticulosPRECIO_NETO = 'PRECIO_NETO';
  fld_ArticulosINVENTARIABLE = 'INVENTARIABLE';
  fld_ArticulosID_PROVEEDOR = 'ID_PROVEEDOR';
  fld_ArticulosNOMBRE_PROVEEDOR = 'NOMBRE_PROVEEDOR';
  fld_ArticulosELIMINADO = 'ELIMINADO';

  { Articulos field indexes }
  idx_ArticulosID = 0;
  idx_ArticulosID_EMPRESA = 1;
  idx_ArticulosREFERENCIA = 2;
  idx_ArticulosDESCRIPCION = 3;
  idx_ArticulosFAMILIA = 4;
  idx_ArticulosIMAGEN = 5;
  idx_ArticulosCOMISIONABLE = 6;
  idx_ArticulosFECHA_ALTA = 7;
  idx_ArticulosFECHA_MODIFICACION = 8;
  idx_ArticulosUSUARIO = 9;
  idx_ArticulosREFERENCIA_PROV = 10;
  idx_ArticulosPRECIO_COSTE = 11;
  idx_ArticulosPRECIO_PORTE = 12;
  idx_ArticulosDESCUENTO = 13;
  idx_ArticulosPRECIO_NETO = 14;
  idx_ArticulosINVENTARIABLE = 15;
  idx_ArticulosID_PROVEEDOR = 16;
  idx_ArticulosNOMBRE_PROVEEDOR = 17;
  idx_ArticulosELIMINADO = 18;

  { Articulos_Refresh fields }
  fld_Articulos_RefreshID = 'ID';
  fld_Articulos_RefreshID_EMPRESA = 'ID_EMPRESA';
  fld_Articulos_RefreshFECHA_ALTA = 'FECHA_ALTA';
  fld_Articulos_RefreshFECHA_MODIFICACION = 'FECHA_MODIFICACION';
  fld_Articulos_RefreshREFERENCIA_PROV = 'REFERENCIA_PROV';
  fld_Articulos_RefreshPRECIO_COSTE = 'PRECIO_COSTE';
  fld_Articulos_RefreshPRECIO_PORTE = 'PRECIO_PORTE';
  fld_Articulos_RefreshDESCUENTO = 'DESCUENTO';
  fld_Articulos_RefreshPRECIO_NETO = 'PRECIO_NETO';
  fld_Articulos_RefreshINVENTARIABLE = 'INVENTARIABLE';
  fld_Articulos_RefreshID_PROVEEDOR = 'ID_PROVEEDOR';
  fld_Articulos_RefreshNOMBRE_PROVEEDOR = 'NOMBRE_PROVEEDOR';
  fld_Articulos_RefreshELIMINADO = 'ELIMINADO';

  { Articulos_Refresh field indexes }
  idx_Articulos_RefreshID = 0;
  idx_Articulos_RefreshID_EMPRESA = 1;
  idx_Articulos_RefreshFECHA_ALTA = 2;
  idx_Articulos_RefreshFECHA_MODIFICACION = 3;
  idx_Articulos_RefreshREFERENCIA_PROV = 4;
  idx_Articulos_RefreshPRECIO_COSTE = 5;
  idx_Articulos_RefreshPRECIO_PORTE = 6;
  idx_Articulos_RefreshDESCUENTO = 7;
  idx_Articulos_RefreshPRECIO_NETO = 8;
  idx_Articulos_RefreshINVENTARIABLE = 9;
  idx_Articulos_RefreshID_PROVEEDOR = 10;
  idx_Articulos_RefreshNOMBRE_PROVEEDOR = 11;
  idx_Articulos_RefreshELIMINADO = 12;

  { ArticulosParaCliente fields }
  fld_ArticulosParaClienteID = 'ID';
  fld_ArticulosParaClienteID_EMPRESA = 'ID_EMPRESA';
  fld_ArticulosParaClienteREFERENCIA = 'REFERENCIA';
  fld_ArticulosParaClienteDESCRIPCION = 'DESCRIPCION';
  fld_ArticulosParaClienteFAMILIA = 'FAMILIA';
  fld_ArticulosParaClienteIMAGEN = 'IMAGEN';
  fld_ArticulosParaClienteCOMISIONABLE = 'COMISIONABLE';
  fld_ArticulosParaClienteFECHA_ALTA = 'FECHA_ALTA';
  fld_ArticulosParaClienteFECHA_MODIFICACION = 'FECHA_MODIFICACION';
  fld_ArticulosParaClienteUSUARIO = 'USUARIO';
  fld_ArticulosParaClienteREFERENCIA_PROV = 'REFERENCIA_PROV';
  fld_ArticulosParaClientePRECIO_COSTE = 'PRECIO_COSTE';
  fld_ArticulosParaClientePRECIO_PORTE = 'PRECIO_PORTE';
  fld_ArticulosParaClienteDESCUENTO = 'DESCUENTO';
  fld_ArticulosParaClientePRECIO_NETO = 'PRECIO_NETO';
  fld_ArticulosParaClienteID_PROVEEDOR = 'ID_PROVEEDOR';
  fld_ArticulosParaClienteINVENTARIABLE = 'INVENTARIABLE';
  fld_ArticulosParaClienteNOMBRE_PROVEEDOR = 'NOMBRE_PROVEEDOR';
  fld_ArticulosParaClienteELIMINADO = 'ELIMINADO';

  { ArticulosParaCliente field indexes }
  idx_ArticulosParaClienteID = 0;
  idx_ArticulosParaClienteID_EMPRESA = 1;
  idx_ArticulosParaClienteREFERENCIA = 2;
  idx_ArticulosParaClienteDESCRIPCION = 3;
  idx_ArticulosParaClienteFAMILIA = 4;
  idx_ArticulosParaClienteIMAGEN = 5;
  idx_ArticulosParaClienteCOMISIONABLE = 6;
  idx_ArticulosParaClienteFECHA_ALTA = 7;
  idx_ArticulosParaClienteFECHA_MODIFICACION = 8;
  idx_ArticulosParaClienteUSUARIO = 9;
  idx_ArticulosParaClienteREFERENCIA_PROV = 10;
  idx_ArticulosParaClientePRECIO_COSTE = 11;
  idx_ArticulosParaClientePRECIO_PORTE = 12;
  idx_ArticulosParaClienteDESCUENTO = 13;
  idx_ArticulosParaClientePRECIO_NETO = 14;
  idx_ArticulosParaClienteID_PROVEEDOR = 15;
  idx_ArticulosParaClienteINVENTARIABLE = 16;
  idx_ArticulosParaClienteNOMBRE_PROVEEDOR = 17;
  idx_ArticulosParaClienteELIMINADO = 18;

type
  { IArticulos }
  IArticulos = interface(IDAStronglyTypedDataTable)
  ['{BB269104-D1E2-417A-80A3-6AF9044FA416}']
    { Property getters and setters }
    function GetIDValue: Integer;
    procedure SetIDValue(const aValue: Integer);
    function GetID_EMPRESAValue: Integer;
    procedure SetID_EMPRESAValue(const aValue: Integer);
    function GetREFERENCIAValue: String;
    procedure SetREFERENCIAValue(const aValue: String);
    function GetDESCRIPCIONValue: String;
    procedure SetDESCRIPCIONValue(const aValue: String);
    function GetFAMILIAValue: String;
    procedure SetFAMILIAValue(const aValue: String);
    function GetIMAGENValue: IROStream;
    procedure SetIMAGENValue(const aValue: IROStream);
    function GetCOMISIONABLEValue: Integer;
    procedure SetCOMISIONABLEValue(const aValue: Integer);
    function GetFECHA_ALTAValue: DateTime;
    procedure SetFECHA_ALTAValue(const aValue: DateTime);
    function GetFECHA_MODIFICACIONValue: DateTime;
    procedure SetFECHA_MODIFICACIONValue(const aValue: DateTime);
    function GetUSUARIOValue: String;
    procedure SetUSUARIOValue(const aValue: String);
    function GetREFERENCIA_PROVValue: String;
    procedure SetREFERENCIA_PROVValue(const aValue: String);
    function GetPRECIO_COSTEValue: Float;
    procedure SetPRECIO_COSTEValue(const aValue: Float);
    function GetPRECIO_PORTEValue: Float;
    procedure SetPRECIO_PORTEValue(const aValue: Float);
    function GetDESCUENTOValue: Float;
    procedure SetDESCUENTOValue(const aValue: Float);
    function GetPRECIO_NETOValue: Float;
    procedure SetPRECIO_NETOValue(const aValue: Float);
    function GetINVENTARIABLEValue: Integer;
    procedure SetINVENTARIABLEValue(const aValue: Integer);
    function GetID_PROVEEDORValue: Integer;
    procedure SetID_PROVEEDORValue(const aValue: Integer);
    function GetNOMBRE_PROVEEDORValue: String;
    procedure SetNOMBRE_PROVEEDORValue(const aValue: String);
    function GetELIMINADOValue: Integer;
    procedure SetELIMINADOValue(const aValue: Integer);


    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property ID_EMPRESA: Integer read GetID_EMPRESAValue write SetID_EMPRESAValue;
    property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue;
    property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue;
    property FAMILIA: String read GetFAMILIAValue write SetFAMILIAValue;
    property IMAGEN: IROStream read GetIMAGENValue write SetIMAGENValue;
    property COMISIONABLE: Integer read GetCOMISIONABLEValue write SetCOMISIONABLEValue;
    property FECHA_ALTA: DateTime read GetFECHA_ALTAValue write SetFECHA_ALTAValue;
    property FECHA_MODIFICACION: DateTime read GetFECHA_MODIFICACIONValue write SetFECHA_MODIFICACIONValue;
    property USUARIO: String read GetUSUARIOValue write SetUSUARIOValue;
    property REFERENCIA_PROV: String read GetREFERENCIA_PROVValue write SetREFERENCIA_PROVValue;
    property PRECIO_COSTE: Float read GetPRECIO_COSTEValue write SetPRECIO_COSTEValue;
    property PRECIO_PORTE: Float read GetPRECIO_PORTEValue write SetPRECIO_PORTEValue;
    property DESCUENTO: Float read GetDESCUENTOValue write SetDESCUENTOValue;
    property PRECIO_NETO: Float read GetPRECIO_NETOValue write SetPRECIO_NETOValue;
    property INVENTARIABLE: Integer read GetINVENTARIABLEValue write SetINVENTARIABLEValue;
    property ID_PROVEEDOR: Integer read GetID_PROVEEDORValue write SetID_PROVEEDORValue;
    property NOMBRE_PROVEEDOR: String read GetNOMBRE_PROVEEDORValue write SetNOMBRE_PROVEEDORValue;
    property ELIMINADO: Integer read GetELIMINADOValue write SetELIMINADOValue;
  end;

  { TArticulosDataTableRules }
  TArticulosDataTableRules = class(TDADataTableRules, IArticulos)
  private
  protected
    { Property getters and setters }
    function GetIDValue: Integer; virtual;
    procedure SetIDValue(const aValue: Integer); virtual;
    function GetID_EMPRESAValue: Integer; virtual;
    procedure SetID_EMPRESAValue(const aValue: Integer); virtual;
    function GetREFERENCIAValue: String; virtual;
    procedure SetREFERENCIAValue(const aValue: String); virtual;
    function GetDESCRIPCIONValue: String; virtual;
    procedure SetDESCRIPCIONValue(const aValue: String); virtual;
    function GetFAMILIAValue: String; virtual;
    procedure SetFAMILIAValue(const aValue: String); virtual;
    function GetIMAGENValue: IROStream; virtual;
    procedure SetIMAGENValue(const aValue: IROStream); virtual;
    function GetCOMISIONABLEValue: Integer; virtual;
    procedure SetCOMISIONABLEValue(const aValue: Integer); virtual;
    function GetFECHA_ALTAValue: DateTime; virtual;
    procedure SetFECHA_ALTAValue(const aValue: DateTime); virtual;
    function GetFECHA_MODIFICACIONValue: DateTime; virtual;
    procedure SetFECHA_MODIFICACIONValue(const aValue: DateTime); virtual;
    function GetUSUARIOValue: String; virtual;
    procedure SetUSUARIOValue(const aValue: String); virtual;
    function GetREFERENCIA_PROVValue: String; virtual;
    procedure SetREFERENCIA_PROVValue(const aValue: String); virtual;
    function GetPRECIO_COSTEValue: Float; virtual;
    procedure SetPRECIO_COSTEValue(const aValue: Float); virtual;
    function GetPRECIO_PORTEValue: Float; virtual;
    procedure SetPRECIO_PORTEValue(const aValue: Float); virtual;
    function GetDESCUENTOValue: Float; virtual;
    procedure SetDESCUENTOValue(const aValue: Float); virtual;
    function GetPRECIO_NETOValue: Float; virtual;
    procedure SetPRECIO_NETOValue(const aValue: Float); virtual;
    function GetINVENTARIABLEValue: Integer; virtual;
    procedure SetINVENTARIABLEValue(const aValue: Integer); virtual;
    function GetID_PROVEEDORValue: Integer; virtual;
    procedure SetID_PROVEEDORValue(const aValue: Integer); virtual;
    function GetNOMBRE_PROVEEDORValue: String; virtual;
    procedure SetNOMBRE_PROVEEDORValue(const aValue: String); virtual;
    function GetELIMINADOValue: Integer; virtual;
    procedure SetELIMINADOValue(const aValue: Integer); virtual;

    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property ID_EMPRESA: Integer read GetID_EMPRESAValue write SetID_EMPRESAValue;
    property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue;
    property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue;
    property FAMILIA: String read GetFAMILIAValue write SetFAMILIAValue;
    property IMAGEN: IROStream read GetIMAGENValue write SetIMAGENValue;
    property COMISIONABLE: Integer read GetCOMISIONABLEValue write SetCOMISIONABLEValue;
    property FECHA_ALTA: DateTime read GetFECHA_ALTAValue write SetFECHA_ALTAValue;
    property FECHA_MODIFICACION: DateTime read GetFECHA_MODIFICACIONValue write SetFECHA_MODIFICACIONValue;
    property USUARIO: String read GetUSUARIOValue write SetUSUARIOValue;
    property REFERENCIA_PROV: String read GetREFERENCIA_PROVValue write SetREFERENCIA_PROVValue;
    property PRECIO_COSTE: Float read GetPRECIO_COSTEValue write SetPRECIO_COSTEValue;
    property PRECIO_PORTE: Float read GetPRECIO_PORTEValue write SetPRECIO_PORTEValue;
    property DESCUENTO: Float read GetDESCUENTOValue write SetDESCUENTOValue;
    property PRECIO_NETO: Float read GetPRECIO_NETOValue write SetPRECIO_NETOValue;
    property INVENTARIABLE: Integer read GetINVENTARIABLEValue write SetINVENTARIABLEValue;
    property ID_PROVEEDOR: Integer read GetID_PROVEEDORValue write SetID_PROVEEDORValue;
    property NOMBRE_PROVEEDOR: String read GetNOMBRE_PROVEEDORValue write SetNOMBRE_PROVEEDORValue;
    property ELIMINADO: Integer read GetELIMINADOValue write SetELIMINADOValue;

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

  end;

  { IArticulos_Refresh }
  IArticulos_Refresh = interface(IDAStronglyTypedDataTable)
  ['{61A7E2D4-DB41-4BC6-81C3-7EAAB50A7B1B}']
    { Property getters and setters }
    function GetIDValue: Integer;
    procedure SetIDValue(const aValue: Integer);
    function GetID_EMPRESAValue: Integer;
    procedure SetID_EMPRESAValue(const aValue: Integer);
    function GetFECHA_ALTAValue: DateTime;
    procedure SetFECHA_ALTAValue(const aValue: DateTime);
    function GetFECHA_MODIFICACIONValue: DateTime;
    procedure SetFECHA_MODIFICACIONValue(const aValue: DateTime);
    function GetREFERENCIA_PROVValue: String;
    procedure SetREFERENCIA_PROVValue(const aValue: String);
    function GetPRECIO_COSTEValue: Float;
    procedure SetPRECIO_COSTEValue(const aValue: Float);
    function GetPRECIO_PORTEValue: Float;
    procedure SetPRECIO_PORTEValue(const aValue: Float);
    function GetDESCUENTOValue: Float;
    procedure SetDESCUENTOValue(const aValue: Float);
    function GetPRECIO_NETOValue: Float;
    procedure SetPRECIO_NETOValue(const aValue: Float);
    function GetINVENTARIABLEValue: Integer;
    procedure SetINVENTARIABLEValue(const aValue: Integer);
    function GetID_PROVEEDORValue: Integer;
    procedure SetID_PROVEEDORValue(const aValue: Integer);
    function GetNOMBRE_PROVEEDORValue: String;
    procedure SetNOMBRE_PROVEEDORValue(const aValue: String);
    function GetELIMINADOValue: Integer;
    procedure SetELIMINADOValue(const aValue: Integer);


    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property ID_EMPRESA: Integer read GetID_EMPRESAValue write SetID_EMPRESAValue;
    property FECHA_ALTA: DateTime read GetFECHA_ALTAValue write SetFECHA_ALTAValue;
    property FECHA_MODIFICACION: DateTime read GetFECHA_MODIFICACIONValue write SetFECHA_MODIFICACIONValue;
    property REFERENCIA_PROV: String read GetREFERENCIA_PROVValue write SetREFERENCIA_PROVValue;
    property PRECIO_COSTE: Float read GetPRECIO_COSTEValue write SetPRECIO_COSTEValue;
    property PRECIO_PORTE: Float read GetPRECIO_PORTEValue write SetPRECIO_PORTEValue;
    property DESCUENTO: Float read GetDESCUENTOValue write SetDESCUENTOValue;
    property PRECIO_NETO: Float read GetPRECIO_NETOValue write SetPRECIO_NETOValue;
    property INVENTARIABLE: Integer read GetINVENTARIABLEValue write SetINVENTARIABLEValue;
    property ID_PROVEEDOR: Integer read GetID_PROVEEDORValue write SetID_PROVEEDORValue;
    property NOMBRE_PROVEEDOR: String read GetNOMBRE_PROVEEDORValue write SetNOMBRE_PROVEEDORValue;
    property ELIMINADO: Integer read GetELIMINADOValue write SetELIMINADOValue;
  end;

  { TArticulos_RefreshDataTableRules }
  TArticulos_RefreshDataTableRules = class(TDADataTableRules, IArticulos_Refresh)
  private
  protected
    { Property getters and setters }
    function GetIDValue: Integer; virtual;
    procedure SetIDValue(const aValue: Integer); virtual;
    function GetID_EMPRESAValue: Integer; virtual;
    procedure SetID_EMPRESAValue(const aValue: Integer); virtual;
    function GetFECHA_ALTAValue: DateTime; virtual;
    procedure SetFECHA_ALTAValue(const aValue: DateTime); virtual;
    function GetFECHA_MODIFICACIONValue: DateTime; virtual;
    procedure SetFECHA_MODIFICACIONValue(const aValue: DateTime); virtual;
    function GetREFERENCIA_PROVValue: String; virtual;
    procedure SetREFERENCIA_PROVValue(const aValue: String); virtual;
    function GetPRECIO_COSTEValue: Float; virtual;
    procedure SetPRECIO_COSTEValue(const aValue: Float); virtual;
    function GetPRECIO_PORTEValue: Float; virtual;
    procedure SetPRECIO_PORTEValue(const aValue: Float); virtual;
    function GetDESCUENTOValue: Float; virtual;
    procedure SetDESCUENTOValue(const aValue: Float); virtual;
    function GetPRECIO_NETOValue: Float; virtual;
    procedure SetPRECIO_NETOValue(const aValue: Float); virtual;
    function GetINVENTARIABLEValue: Integer; virtual;
    procedure SetINVENTARIABLEValue(const aValue: Integer); virtual;
    function GetID_PROVEEDORValue: Integer; virtual;
    procedure SetID_PROVEEDORValue(const aValue: Integer); virtual;
    function GetNOMBRE_PROVEEDORValue: String; virtual;
    procedure SetNOMBRE_PROVEEDORValue(const aValue: String); virtual;
    function GetELIMINADOValue: Integer; virtual;
    procedure SetELIMINADOValue(const aValue: Integer); virtual;

    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property ID_EMPRESA: Integer read GetID_EMPRESAValue write SetID_EMPRESAValue;
    property FECHA_ALTA: DateTime read GetFECHA_ALTAValue write SetFECHA_ALTAValue;
    property FECHA_MODIFICACION: DateTime read GetFECHA_MODIFICACIONValue write SetFECHA_MODIFICACIONValue;
    property REFERENCIA_PROV: String read GetREFERENCIA_PROVValue write SetREFERENCIA_PROVValue;
    property PRECIO_COSTE: Float read GetPRECIO_COSTEValue write SetPRECIO_COSTEValue;
    property PRECIO_PORTE: Float read GetPRECIO_PORTEValue write SetPRECIO_PORTEValue;
    property DESCUENTO: Float read GetDESCUENTOValue write SetDESCUENTOValue;
    property PRECIO_NETO: Float read GetPRECIO_NETOValue write SetPRECIO_NETOValue;
    property INVENTARIABLE: Integer read GetINVENTARIABLEValue write SetINVENTARIABLEValue;
    property ID_PROVEEDOR: Integer read GetID_PROVEEDORValue write SetID_PROVEEDORValue;
    property NOMBRE_PROVEEDOR: String read GetNOMBRE_PROVEEDORValue write SetNOMBRE_PROVEEDORValue;
    property ELIMINADO: Integer read GetELIMINADOValue write SetELIMINADOValue;

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

  end;

  { IArticulosParaCliente }
  IArticulosParaCliente = interface(IDAStronglyTypedDataTable)
  ['{D479AEB8-64DF-401B-BE84-9052F5A05EE7}']
    { Property getters and setters }
    function GetIDValue: Integer;
    procedure SetIDValue(const aValue: Integer);
    function GetID_EMPRESAValue: Integer;
    procedure SetID_EMPRESAValue(const aValue: Integer);
    function GetREFERENCIAValue: String;
    procedure SetREFERENCIAValue(const aValue: String);
    function GetDESCRIPCIONValue: String;
    procedure SetDESCRIPCIONValue(const aValue: String);
    function GetFAMILIAValue: String;
    procedure SetFAMILIAValue(const aValue: String);
    function GetIMAGENValue: IROStream;
    procedure SetIMAGENValue(const aValue: IROStream);
    function GetCOMISIONABLEValue: Integer;
    procedure SetCOMISIONABLEValue(const aValue: Integer);
    function GetFECHA_ALTAValue: DateTime;
    procedure SetFECHA_ALTAValue(const aValue: DateTime);
    function GetFECHA_MODIFICACIONValue: DateTime;
    procedure SetFECHA_MODIFICACIONValue(const aValue: DateTime);
    function GetUSUARIOValue: String;
    procedure SetUSUARIOValue(const aValue: String);
    function GetREFERENCIA_PROVValue: String;
    procedure SetREFERENCIA_PROVValue(const aValue: String);
    function GetPRECIO_COSTEValue: Float;
    procedure SetPRECIO_COSTEValue(const aValue: Float);
    function GetPRECIO_PORTEValue: Float;
    procedure SetPRECIO_PORTEValue(const aValue: Float);
    function GetDESCUENTOValue: Float;
    procedure SetDESCUENTOValue(const aValue: Float);
    function GetPRECIO_NETOValue: Float;
    procedure SetPRECIO_NETOValue(const aValue: Float);
    function GetID_PROVEEDORValue: Integer;
    procedure SetID_PROVEEDORValue(const aValue: Integer);
    function GetINVENTARIABLEValue: Integer;
    procedure SetINVENTARIABLEValue(const aValue: Integer);
    function GetNOMBRE_PROVEEDORValue: String;
    procedure SetNOMBRE_PROVEEDORValue(const aValue: String);
    function GetELIMINADOValue: Integer;
    procedure SetELIMINADOValue(const aValue: Integer);


    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property ID_EMPRESA: Integer read GetID_EMPRESAValue write SetID_EMPRESAValue;
    property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue;
    property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue;
    property FAMILIA: String read GetFAMILIAValue write SetFAMILIAValue;
    property IMAGEN: IROStream read GetIMAGENValue write SetIMAGENValue;
    property COMISIONABLE: Integer read GetCOMISIONABLEValue write SetCOMISIONABLEValue;
    property FECHA_ALTA: DateTime read GetFECHA_ALTAValue write SetFECHA_ALTAValue;
    property FECHA_MODIFICACION: DateTime read GetFECHA_MODIFICACIONValue write SetFECHA_MODIFICACIONValue;
    property USUARIO: String read GetUSUARIOValue write SetUSUARIOValue;
    property REFERENCIA_PROV: String read GetREFERENCIA_PROVValue write SetREFERENCIA_PROVValue;
    property PRECIO_COSTE: Float read GetPRECIO_COSTEValue write SetPRECIO_COSTEValue;
    property PRECIO_PORTE: Float read GetPRECIO_PORTEValue write SetPRECIO_PORTEValue;
    property DESCUENTO: Float read GetDESCUENTOValue write SetDESCUENTOValue;
    property PRECIO_NETO: Float read GetPRECIO_NETOValue write SetPRECIO_NETOValue;
    property ID_PROVEEDOR: Integer read GetID_PROVEEDORValue write SetID_PROVEEDORValue;
    property INVENTARIABLE: Integer read GetINVENTARIABLEValue write SetINVENTARIABLEValue;
    property NOMBRE_PROVEEDOR: String read GetNOMBRE_PROVEEDORValue write SetNOMBRE_PROVEEDORValue;
    property ELIMINADO: Integer read GetELIMINADOValue write SetELIMINADOValue;
  end;

  { TArticulosParaClienteDataTableRules }
  TArticulosParaClienteDataTableRules = class(TDADataTableRules, IArticulosParaCliente)
  private
  protected
    { Property getters and setters }
    function GetIDValue: Integer; virtual;
    procedure SetIDValue(const aValue: Integer); virtual;
    function GetID_EMPRESAValue: Integer; virtual;
    procedure SetID_EMPRESAValue(const aValue: Integer); virtual;
    function GetREFERENCIAValue: String; virtual;
    procedure SetREFERENCIAValue(const aValue: String); virtual;
    function GetDESCRIPCIONValue: String; virtual;
    procedure SetDESCRIPCIONValue(const aValue: String); virtual;
    function GetFAMILIAValue: String; virtual;
    procedure SetFAMILIAValue(const aValue: String); virtual;
    function GetIMAGENValue: IROStream; virtual;
    procedure SetIMAGENValue(const aValue: IROStream); virtual;
    function GetCOMISIONABLEValue: Integer; virtual;
    procedure SetCOMISIONABLEValue(const aValue: Integer); virtual;
    function GetFECHA_ALTAValue: DateTime; virtual;
    procedure SetFECHA_ALTAValue(const aValue: DateTime); virtual;
    function GetFECHA_MODIFICACIONValue: DateTime; virtual;
    procedure SetFECHA_MODIFICACIONValue(const aValue: DateTime); virtual;
    function GetUSUARIOValue: String; virtual;
    procedure SetUSUARIOValue(const aValue: String); virtual;
    function GetREFERENCIA_PROVValue: String; virtual;
    procedure SetREFERENCIA_PROVValue(const aValue: String); virtual;
    function GetPRECIO_COSTEValue: Float; virtual;
    procedure SetPRECIO_COSTEValue(const aValue: Float); virtual;
    function GetPRECIO_PORTEValue: Float; virtual;
    procedure SetPRECIO_PORTEValue(const aValue: Float); virtual;
    function GetDESCUENTOValue: Float; virtual;
    procedure SetDESCUENTOValue(const aValue: Float); virtual;
    function GetPRECIO_NETOValue: Float; virtual;
    procedure SetPRECIO_NETOValue(const aValue: Float); virtual;
    function GetID_PROVEEDORValue: Integer; virtual;
    procedure SetID_PROVEEDORValue(const aValue: Integer); virtual;
    function GetINVENTARIABLEValue: Integer; virtual;
    procedure SetINVENTARIABLEValue(const aValue: Integer); virtual;
    function GetNOMBRE_PROVEEDORValue: String; virtual;
    procedure SetNOMBRE_PROVEEDORValue(const aValue: String); virtual;
    function GetELIMINADOValue: Integer; virtual;
    procedure SetELIMINADOValue(const aValue: Integer); virtual;

    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property ID_EMPRESA: Integer read GetID_EMPRESAValue write SetID_EMPRESAValue;
    property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue;
    property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue;
    property FAMILIA: String read GetFAMILIAValue write SetFAMILIAValue;
    property IMAGEN: IROStream read GetIMAGENValue write SetIMAGENValue;
    property COMISIONABLE: Integer read GetCOMISIONABLEValue write SetCOMISIONABLEValue;
    property FECHA_ALTA: DateTime read GetFECHA_ALTAValue write SetFECHA_ALTAValue;
    property FECHA_MODIFICACION: DateTime read GetFECHA_MODIFICACIONValue write SetFECHA_MODIFICACIONValue;
    property USUARIO: String read GetUSUARIOValue write SetUSUARIOValue;
    property REFERENCIA_PROV: String read GetREFERENCIA_PROVValue write SetREFERENCIA_PROVValue;
    property PRECIO_COSTE: Float read GetPRECIO_COSTEValue write SetPRECIO_COSTEValue;
    property PRECIO_PORTE: Float read GetPRECIO_PORTEValue write SetPRECIO_PORTEValue;
    property DESCUENTO: Float read GetDESCUENTOValue write SetDESCUENTOValue;
    property PRECIO_NETO: Float read GetPRECIO_NETOValue write SetPRECIO_NETOValue;
    property ID_PROVEEDOR: Integer read GetID_PROVEEDORValue write SetID_PROVEEDORValue;
    property INVENTARIABLE: Integer read GetINVENTARIABLEValue write SetINVENTARIABLEValue;
    property NOMBRE_PROVEEDOR: String read GetNOMBRE_PROVEEDORValue write SetNOMBRE_PROVEEDORValue;
    property ELIMINADO: Integer read GetELIMINADOValue write SetELIMINADOValue;

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

  end;

implementation

uses Variants;

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

destructor TArticulosDataTableRules.Destroy;
begin
  inherited;
end;

function TArticulosDataTableRules.GetIDValue: Integer;
begin
  result := DataTable.Fields[idx_ArticulosID].AsInteger;
end;

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

function TArticulosDataTableRules.GetID_EMPRESAValue: Integer;
begin
  result := DataTable.Fields[idx_ArticulosID_EMPRESA].AsInteger;
end;

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

function TArticulosDataTableRules.GetREFERENCIAValue: String;
begin
  result := DataTable.Fields[idx_ArticulosREFERENCIA].AsString;
end;

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

function TArticulosDataTableRules.GetDESCRIPCIONValue: String;
begin
  result := DataTable.Fields[idx_ArticulosDESCRIPCION].AsString;
end;

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

function TArticulosDataTableRules.GetFAMILIAValue: String;
begin
  result := DataTable.Fields[idx_ArticulosFAMILIA].AsString;
end;

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

function TArticulosDataTableRules.GetIMAGENValue: IROStream;
begin
  result := NewROStream();
  DataTable.Fields[idx_ArticulosIMAGEN].SaveToStream(result);
end;

procedure TArticulosDataTableRules.SetIMAGENValue(const aValue: IROStream);
begin
  DataTable.Fields[idx_ArticulosIMAGEN].LoadFromStream(aValue);
end;

function TArticulosDataTableRules.GetCOMISIONABLEValue: Integer;
begin
  result := DataTable.Fields[idx_ArticulosCOMISIONABLE].AsInteger;
end;

procedure TArticulosDataTableRules.SetCOMISIONABLEValue(const aValue: Integer);
begin
  DataTable.Fields[idx_ArticulosCOMISIONABLE].AsInteger := aValue;
end;

function TArticulosDataTableRules.GetFECHA_ALTAValue: DateTime;
begin
  result := DataTable.Fields[idx_ArticulosFECHA_ALTA].AsDateTime;
end;

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

function TArticulosDataTableRules.GetFECHA_MODIFICACIONValue: DateTime;
begin
  result := DataTable.Fields[idx_ArticulosFECHA_MODIFICACION].AsDateTime;
end;

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

function TArticulosDataTableRules.GetUSUARIOValue: String;
begin
  result := DataTable.Fields[idx_ArticulosUSUARIO].AsString;
end;

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

function TArticulosDataTableRules.GetREFERENCIA_PROVValue: String;
begin
  result := DataTable.Fields[idx_ArticulosREFERENCIA_PROV].AsString;
end;

procedure TArticulosDataTableRules.SetREFERENCIA_PROVValue(const aValue: String);
begin
  DataTable.Fields[idx_ArticulosREFERENCIA_PROV].AsString := aValue;
end;

function TArticulosDataTableRules.GetPRECIO_COSTEValue: Float;
begin
  result := DataTable.Fields[idx_ArticulosPRECIO_COSTE].AsFloat;
end;

procedure TArticulosDataTableRules.SetPRECIO_COSTEValue(const aValue: Float);
begin
  DataTable.Fields[idx_ArticulosPRECIO_COSTE].AsFloat := aValue;
end;

function TArticulosDataTableRules.GetPRECIO_PORTEValue: Float;
begin
  result := DataTable.Fields[idx_ArticulosPRECIO_PORTE].AsFloat;
end;

procedure TArticulosDataTableRules.SetPRECIO_PORTEValue(const aValue: Float);
begin
  DataTable.Fields[idx_ArticulosPRECIO_PORTE].AsFloat := aValue;
end;

function TArticulosDataTableRules.GetDESCUENTOValue: Float;
begin
  result := DataTable.Fields[idx_ArticulosDESCUENTO].AsFloat;
end;

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

function TArticulosDataTableRules.GetPRECIO_NETOValue: Float;
begin
  result := DataTable.Fields[idx_ArticulosPRECIO_NETO].AsFloat;
end;

procedure TArticulosDataTableRules.SetPRECIO_NETOValue(const aValue: Float);
begin
  DataTable.Fields[idx_ArticulosPRECIO_NETO].AsFloat := aValue;
end;

function TArticulosDataTableRules.GetINVENTARIABLEValue: Integer;
begin
  result := DataTable.Fields[idx_ArticulosINVENTARIABLE].AsInteger;
end;

procedure TArticulosDataTableRules.SetINVENTARIABLEValue(const aValue: Integer);
begin
  DataTable.Fields[idx_ArticulosINVENTARIABLE].AsInteger := aValue;
end;

function TArticulosDataTableRules.GetID_PROVEEDORValue: Integer;
begin
  result := DataTable.Fields[idx_ArticulosID_PROVEEDOR].AsInteger;
end;

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

function TArticulosDataTableRules.GetNOMBRE_PROVEEDORValue: String;
begin
  result := DataTable.Fields[idx_ArticulosNOMBRE_PROVEEDOR].AsString;
end;

procedure TArticulosDataTableRules.SetNOMBRE_PROVEEDORValue(const aValue: String);
begin
  DataTable.Fields[idx_ArticulosNOMBRE_PROVEEDOR].AsString := aValue;
end;

function TArticulosDataTableRules.GetELIMINADOValue: Integer;
begin
  result := DataTable.Fields[idx_ArticulosELIMINADO].AsInteger;
end;

procedure TArticulosDataTableRules.SetELIMINADOValue(const aValue: Integer);
begin
  DataTable.Fields[idx_ArticulosELIMINADO].AsInteger := aValue;
end;


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

destructor TArticulos_RefreshDataTableRules.Destroy;
begin
  inherited;
end;

function TArticulos_RefreshDataTableRules.GetIDValue: Integer;
begin
  result := DataTable.Fields[idx_Articulos_RefreshID].AsInteger;
end;

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

function TArticulos_RefreshDataTableRules.GetID_EMPRESAValue: Integer;
begin
  result := DataTable.Fields[idx_Articulos_RefreshID_EMPRESA].AsInteger;
end;

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

function TArticulos_RefreshDataTableRules.GetFECHA_ALTAValue: DateTime;
begin
  result := DataTable.Fields[idx_Articulos_RefreshFECHA_ALTA].AsDateTime;
end;

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

function TArticulos_RefreshDataTableRules.GetFECHA_MODIFICACIONValue: DateTime;
begin
  result := DataTable.Fields[idx_Articulos_RefreshFECHA_MODIFICACION].AsDateTime;
end;

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

function TArticulos_RefreshDataTableRules.GetREFERENCIA_PROVValue: String;
begin
  result := DataTable.Fields[idx_Articulos_RefreshREFERENCIA_PROV].AsString;
end;

procedure TArticulos_RefreshDataTableRules.SetREFERENCIA_PROVValue(const aValue: String);
begin
  DataTable.Fields[idx_Articulos_RefreshREFERENCIA_PROV].AsString := aValue;
end;

function TArticulos_RefreshDataTableRules.GetPRECIO_COSTEValue: Float;
begin
  result := DataTable.Fields[idx_Articulos_RefreshPRECIO_COSTE].AsFloat;
end;

procedure TArticulos_RefreshDataTableRules.SetPRECIO_COSTEValue(const aValue: Float);
begin
  DataTable.Fields[idx_Articulos_RefreshPRECIO_COSTE].AsFloat := aValue;
end;

function TArticulos_RefreshDataTableRules.GetPRECIO_PORTEValue: Float;
begin
  result := DataTable.Fields[idx_Articulos_RefreshPRECIO_PORTE].AsFloat;
end;

procedure TArticulos_RefreshDataTableRules.SetPRECIO_PORTEValue(const aValue: Float);
begin
  DataTable.Fields[idx_Articulos_RefreshPRECIO_PORTE].AsFloat := aValue;
end;

function TArticulos_RefreshDataTableRules.GetDESCUENTOValue: Float;
begin
  result := DataTable.Fields[idx_Articulos_RefreshDESCUENTO].AsFloat;
end;

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

function TArticulos_RefreshDataTableRules.GetPRECIO_NETOValue: Float;
begin
  result := DataTable.Fields[idx_Articulos_RefreshPRECIO_NETO].AsFloat;
end;

procedure TArticulos_RefreshDataTableRules.SetPRECIO_NETOValue(const aValue: Float);
begin
  DataTable.Fields[idx_Articulos_RefreshPRECIO_NETO].AsFloat := aValue;
end;

function TArticulos_RefreshDataTableRules.GetINVENTARIABLEValue: Integer;
begin
  result := DataTable.Fields[idx_Articulos_RefreshINVENTARIABLE].AsInteger;
end;

procedure TArticulos_RefreshDataTableRules.SetINVENTARIABLEValue(const aValue: Integer);
begin
  DataTable.Fields[idx_Articulos_RefreshINVENTARIABLE].AsInteger := aValue;
end;

function TArticulos_RefreshDataTableRules.GetID_PROVEEDORValue: Integer;
begin
  result := DataTable.Fields[idx_Articulos_RefreshID_PROVEEDOR].AsInteger;
end;

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

function TArticulos_RefreshDataTableRules.GetNOMBRE_PROVEEDORValue: String;
begin
  result := DataTable.Fields[idx_Articulos_RefreshNOMBRE_PROVEEDOR].AsString;
end;

procedure TArticulos_RefreshDataTableRules.SetNOMBRE_PROVEEDORValue(const aValue: String);
begin
  DataTable.Fields[idx_Articulos_RefreshNOMBRE_PROVEEDOR].AsString := aValue;
end;

function TArticulos_RefreshDataTableRules.GetELIMINADOValue: Integer;
begin
  result := DataTable.Fields[idx_Articulos_RefreshELIMINADO].AsInteger;
end;

procedure TArticulos_RefreshDataTableRules.SetELIMINADOValue(const aValue: Integer);
begin
  DataTable.Fields[idx_Articulos_RefreshELIMINADO].AsInteger := aValue;
end;


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

destructor TArticulosParaClienteDataTableRules.Destroy;
begin
  inherited;
end;

function TArticulosParaClienteDataTableRules.GetIDValue: Integer;
begin
  result := DataTable.Fields[idx_ArticulosParaClienteID].AsInteger;
end;

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

function TArticulosParaClienteDataTableRules.GetID_EMPRESAValue: Integer;
begin
  result := DataTable.Fields[idx_ArticulosParaClienteID_EMPRESA].AsInteger;
end;

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

function TArticulosParaClienteDataTableRules.GetREFERENCIAValue: String;
begin
  result := DataTable.Fields[idx_ArticulosParaClienteREFERENCIA].AsString;
end;

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

function TArticulosParaClienteDataTableRules.GetDESCRIPCIONValue: String;
begin
  result := DataTable.Fields[idx_ArticulosParaClienteDESCRIPCION].AsString;
end;

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

function TArticulosParaClienteDataTableRules.GetFAMILIAValue: String;
begin
  result := DataTable.Fields[idx_ArticulosParaClienteFAMILIA].AsString;
end;

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

function TArticulosParaClienteDataTableRules.GetIMAGENValue: IROStream;
begin
  result := NewROStream();
  DataTable.Fields[idx_ArticulosParaClienteIMAGEN].SaveToStream(result);
end;

procedure TArticulosParaClienteDataTableRules.SetIMAGENValue(const aValue: IROStream);
begin
  DataTable.Fields[idx_ArticulosParaClienteIMAGEN].LoadFromStream(aValue);
end;

function TArticulosParaClienteDataTableRules.GetCOMISIONABLEValue: Integer;
begin
  result := DataTable.Fields[idx_ArticulosParaClienteCOMISIONABLE].AsInteger;
end;

procedure TArticulosParaClienteDataTableRules.SetCOMISIONABLEValue(const aValue: Integer);
begin
  DataTable.Fields[idx_ArticulosParaClienteCOMISIONABLE].AsInteger := aValue;
end;

function TArticulosParaClienteDataTableRules.GetFECHA_ALTAValue: DateTime;
begin
  result := DataTable.Fields[idx_ArticulosParaClienteFECHA_ALTA].AsDateTime;
end;

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

function TArticulosParaClienteDataTableRules.GetFECHA_MODIFICACIONValue: DateTime;
begin
  result := DataTable.Fields[idx_ArticulosParaClienteFECHA_MODIFICACION].AsDateTime;
end;

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

function TArticulosParaClienteDataTableRules.GetUSUARIOValue: String;
begin
  result := DataTable.Fields[idx_ArticulosParaClienteUSUARIO].AsString;
end;

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

function TArticulosParaClienteDataTableRules.GetREFERENCIA_PROVValue: String;
begin
  result := DataTable.Fields[idx_ArticulosParaClienteREFERENCIA_PROV].AsString;
end;

procedure TArticulosParaClienteDataTableRules.SetREFERENCIA_PROVValue(const aValue: String);
begin
  DataTable.Fields[idx_ArticulosParaClienteREFERENCIA_PROV].AsString := aValue;
end;

function TArticulosParaClienteDataTableRules.GetPRECIO_COSTEValue: Float;
begin
  result := DataTable.Fields[idx_ArticulosParaClientePRECIO_COSTE].AsFloat;
end;

procedure TArticulosParaClienteDataTableRules.SetPRECIO_COSTEValue(const aValue: Float);
begin
  DataTable.Fields[idx_ArticulosParaClientePRECIO_COSTE].AsFloat := aValue;
end;

function TArticulosParaClienteDataTableRules.GetPRECIO_PORTEValue: Float;
begin
  result := DataTable.Fields[idx_ArticulosParaClientePRECIO_PORTE].AsFloat;
end;

procedure TArticulosParaClienteDataTableRules.SetPRECIO_PORTEValue(const aValue: Float);
begin
  DataTable.Fields[idx_ArticulosParaClientePRECIO_PORTE].AsFloat := aValue;
end;

function TArticulosParaClienteDataTableRules.GetDESCUENTOValue: Float;
begin
  result := DataTable.Fields[idx_ArticulosParaClienteDESCUENTO].AsFloat;
end;

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

function TArticulosParaClienteDataTableRules.GetPRECIO_NETOValue: Float;
begin
  result := DataTable.Fields[idx_ArticulosParaClientePRECIO_NETO].AsFloat;
end;

procedure TArticulosParaClienteDataTableRules.SetPRECIO_NETOValue(const aValue: Float);
begin
  DataTable.Fields[idx_ArticulosParaClientePRECIO_NETO].AsFloat := aValue;
end;

function TArticulosParaClienteDataTableRules.GetID_PROVEEDORValue: Integer;
begin
  result := DataTable.Fields[idx_ArticulosParaClienteID_PROVEEDOR].AsInteger;
end;

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

function TArticulosParaClienteDataTableRules.GetINVENTARIABLEValue: Integer;
begin
  result := DataTable.Fields[idx_ArticulosParaClienteINVENTARIABLE].AsInteger;
end;

procedure TArticulosParaClienteDataTableRules.SetINVENTARIABLEValue(const aValue: Integer);
begin
  DataTable.Fields[idx_ArticulosParaClienteINVENTARIABLE].AsInteger := aValue;
end;

function TArticulosParaClienteDataTableRules.GetNOMBRE_PROVEEDORValue: String;
begin
  result := DataTable.Fields[idx_ArticulosParaClienteNOMBRE_PROVEEDOR].AsString;
end;

procedure TArticulosParaClienteDataTableRules.SetNOMBRE_PROVEEDORValue(const aValue: String);
begin
  DataTable.Fields[idx_ArticulosParaClienteNOMBRE_PROVEEDOR].AsString := aValue;
end;

function TArticulosParaClienteDataTableRules.GetELIMINADOValue: Integer;
begin
  result := DataTable.Fields[idx_ArticulosParaClienteELIMINADO].AsInteger;
end;

procedure TArticulosParaClienteDataTableRules.SetELIMINADOValue(const aValue: Integer);
begin
  DataTable.Fields[idx_ArticulosParaClienteELIMINADO].AsInteger := aValue;
end;


initialization
  RegisterDataTableRules(RID_Articulos, TArticulosDataTableRules);
  RegisterDataTableRules(RID_Articulos_Refresh, TArticulos_RefreshDataTableRules);
  RegisterDataTableRules(RID_ArticulosParaCliente, TArticulosParaClienteDataTableRules);

end.
