unit schArticulosServer_Intf;

interface

uses
  Classes, DB, SysUtils, uROClasses, uDADataTable, uDABusinessProcessor, FmtBCD, uROXMLIntf, schArticulosClient_Intf;

const
  { Delta 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_ProveedoresConArticulosDelta = '{6C804022-5DF5-4E60-A6EC-E3C04900D4FC}';
  RID_Articulos_ProveedoresDelta = '{C38F7153-6FAD-4064-8EAC-D97A9F9780AE}';
  RID_ArticulosDelta = '{132D6F55-09CD-4018-A2CB-1D2552713417}';
  RID_ArticulosParaCompraDelta = '{F30257BA-3AC6-486E-B33C-0F429FBA0D62}';

type
  { IProveedoresConArticulosDelta }
  IProveedoresConArticulosDelta = interface(IProveedoresConArticulos)
  ['{6C804022-5DF5-4E60-A6EC-E3C04900D4FC}']
    { Property getters and setters }
    function GetOldID_PROVEEDORValue : Integer;
    function GetOldNOMBREValue : String;

    { Properties }
    property OldID_PROVEEDOR : Integer read GetOldID_PROVEEDORValue;
    property OldNOMBRE : String read GetOldNOMBREValue;
  end;

  { TProveedoresConArticulosBusinessProcessorRules }
  TProveedoresConArticulosBusinessProcessorRules = class(TDABusinessProcessorRules, IProveedoresConArticulos, IProveedoresConArticulosDelta)
  private
  protected
    { Property getters and setters }
    function GetID_PROVEEDORValue: Integer; virtual;
    function GetID_PROVEEDORIsNull: Boolean; virtual;
    function GetOldID_PROVEEDORValue: Integer; virtual;
    function GetOldID_PROVEEDORIsNull: Boolean; virtual;
    procedure SetID_PROVEEDORValue(const aValue: Integer); virtual;
    procedure SetID_PROVEEDORIsNull(const aValue: Boolean); virtual;
    function GetNOMBREValue: String; virtual;
    function GetNOMBREIsNull: Boolean; virtual;
    function GetOldNOMBREValue: String; virtual;
    function GetOldNOMBREIsNull: Boolean; virtual;
    procedure SetNOMBREValue(const aValue: String); virtual;
    procedure SetNOMBREIsNull(const aValue: Boolean); virtual;

    { Properties }
    property ID_PROVEEDOR : Integer read GetID_PROVEEDORValue write SetID_PROVEEDORValue;
    property ID_PROVEEDORIsNull : Boolean read GetID_PROVEEDORIsNull write SetID_PROVEEDORIsNull;
    property OldID_PROVEEDOR : Integer read GetOldID_PROVEEDORValue;
    property OldID_PROVEEDORIsNull : Boolean read GetOldID_PROVEEDORIsNull;
    property NOMBRE : String read GetNOMBREValue write SetNOMBREValue;
    property NOMBREIsNull : Boolean read GetNOMBREIsNull write SetNOMBREIsNull;
    property OldNOMBRE : String read GetOldNOMBREValue;
    property OldNOMBREIsNull : Boolean read GetOldNOMBREIsNull;

  public
    constructor Create(aBusinessProcessor: TDABusinessProcessor); override;
    destructor Destroy; override;

  end;

  { IArticulos_ProveedoresDelta }
  IArticulos_ProveedoresDelta = interface(IArticulos_Proveedores)
  ['{C38F7153-6FAD-4064-8EAC-D97A9F9780AE}']
    { Property getters and setters }
    function GetOldIDValue : Integer;
    function GetOldID_ARTICULOValue : Integer;
    function GetOldID_PROVEEDORValue : Integer;
    function GetOldREFERENCIA_PROVValue : String;
    function GetOldPRECIO_COSTEValue : Currency;
    function GetOldDESCUENTOValue : Float;
    function GetOldPRECIO_NETOValue : Currency;
    function GetOldPRECIO_PORTEValue : Currency;
    function GetOldPRECIO_PVP_VENTAValue : Currency;
    function GetOldPRECIO_PVP_TOTALValue : Currency;

    { Properties }
    property OldID : Integer read GetOldIDValue;
    property OldID_ARTICULO : Integer read GetOldID_ARTICULOValue;
    property OldID_PROVEEDOR : Integer read GetOldID_PROVEEDORValue;
    property OldREFERENCIA_PROV : String read GetOldREFERENCIA_PROVValue;
    property OldPRECIO_COSTE : Currency read GetOldPRECIO_COSTEValue;
    property OldDESCUENTO : Float read GetOldDESCUENTOValue;
    property OldPRECIO_NETO : Currency read GetOldPRECIO_NETOValue;
    property OldPRECIO_PORTE : Currency read GetOldPRECIO_PORTEValue;
    property OldPRECIO_PVP_VENTA : Currency read GetOldPRECIO_PVP_VENTAValue;
    property OldPRECIO_PVP_TOTAL : Currency read GetOldPRECIO_PVP_TOTALValue;
  end;

  { TArticulos_ProveedoresBusinessProcessorRules }
  TArticulos_ProveedoresBusinessProcessorRules = class(TDABusinessProcessorRules, IArticulos_Proveedores, IArticulos_ProveedoresDelta)
  private
  protected
    { Property getters and setters }
    function GetIDValue: Integer; virtual;
    function GetIDIsNull: Boolean; virtual;
    function GetOldIDValue: Integer; virtual;
    function GetOldIDIsNull: Boolean; virtual;
    procedure SetIDValue(const aValue: Integer); virtual;
    procedure SetIDIsNull(const aValue: Boolean); virtual;
    function GetID_ARTICULOValue: Integer; virtual;
    function GetID_ARTICULOIsNull: Boolean; virtual;
    function GetOldID_ARTICULOValue: Integer; virtual;
    function GetOldID_ARTICULOIsNull: Boolean; virtual;
    procedure SetID_ARTICULOValue(const aValue: Integer); virtual;
    procedure SetID_ARTICULOIsNull(const aValue: Boolean); virtual;
    function GetID_PROVEEDORValue: Integer; virtual;
    function GetID_PROVEEDORIsNull: Boolean; virtual;
    function GetOldID_PROVEEDORValue: Integer; virtual;
    function GetOldID_PROVEEDORIsNull: Boolean; virtual;
    procedure SetID_PROVEEDORValue(const aValue: Integer); virtual;
    procedure SetID_PROVEEDORIsNull(const aValue: Boolean); virtual;
    function GetREFERENCIA_PROVValue: String; virtual;
    function GetREFERENCIA_PROVIsNull: Boolean; virtual;
    function GetOldREFERENCIA_PROVValue: String; virtual;
    function GetOldREFERENCIA_PROVIsNull: Boolean; virtual;
    procedure SetREFERENCIA_PROVValue(const aValue: String); virtual;
    procedure SetREFERENCIA_PROVIsNull(const aValue: Boolean); virtual;
    function GetPRECIO_COSTEValue: Currency; virtual;
    function GetPRECIO_COSTEIsNull: Boolean; virtual;
    function GetOldPRECIO_COSTEValue: Currency; virtual;
    function GetOldPRECIO_COSTEIsNull: Boolean; virtual;
    procedure SetPRECIO_COSTEValue(const aValue: Currency); virtual;
    procedure SetPRECIO_COSTEIsNull(const aValue: Boolean); virtual;
    function GetDESCUENTOValue: Float; virtual;
    function GetDESCUENTOIsNull: Boolean; virtual;
    function GetOldDESCUENTOValue: Float; virtual;
    function GetOldDESCUENTOIsNull: Boolean; virtual;
    procedure SetDESCUENTOValue(const aValue: Float); virtual;
    procedure SetDESCUENTOIsNull(const aValue: Boolean); virtual;
    function GetPRECIO_NETOValue: Currency; virtual;
    function GetPRECIO_NETOIsNull: Boolean; virtual;
    function GetOldPRECIO_NETOValue: Currency; virtual;
    function GetOldPRECIO_NETOIsNull: Boolean; virtual;
    procedure SetPRECIO_NETOValue(const aValue: Currency); virtual;
    procedure SetPRECIO_NETOIsNull(const aValue: Boolean); virtual;
    function GetPRECIO_PORTEValue: Currency; virtual;
    function GetPRECIO_PORTEIsNull: Boolean; virtual;
    function GetOldPRECIO_PORTEValue: Currency; virtual;
    function GetOldPRECIO_PORTEIsNull: Boolean; virtual;
    procedure SetPRECIO_PORTEValue(const aValue: Currency); virtual;
    procedure SetPRECIO_PORTEIsNull(const aValue: Boolean); virtual;
    function GetPRECIO_PVP_VENTAValue: Currency; virtual;
    function GetPRECIO_PVP_VENTAIsNull: Boolean; virtual;
    function GetOldPRECIO_PVP_VENTAValue: Currency; virtual;
    function GetOldPRECIO_PVP_VENTAIsNull: Boolean; virtual;
    procedure SetPRECIO_PVP_VENTAValue(const aValue: Currency); virtual;
    procedure SetPRECIO_PVP_VENTAIsNull(const aValue: Boolean); virtual;
    function GetPRECIO_PVP_TOTALValue: Currency; virtual;
    function GetPRECIO_PVP_TOTALIsNull: Boolean; virtual;
    function GetOldPRECIO_PVP_TOTALValue: Currency; virtual;
    function GetOldPRECIO_PVP_TOTALIsNull: Boolean; virtual;
    procedure SetPRECIO_PVP_TOTALValue(const aValue: Currency); virtual;
    procedure SetPRECIO_PVP_TOTALIsNull(const aValue: Boolean); virtual;

    { Properties }
    property ID : Integer read GetIDValue write SetIDValue;
    property IDIsNull : Boolean read GetIDIsNull write SetIDIsNull;
    property OldID : Integer read GetOldIDValue;
    property OldIDIsNull : Boolean read GetOldIDIsNull;
    property ID_ARTICULO : Integer read GetID_ARTICULOValue write SetID_ARTICULOValue;
    property ID_ARTICULOIsNull : Boolean read GetID_ARTICULOIsNull write SetID_ARTICULOIsNull;
    property OldID_ARTICULO : Integer read GetOldID_ARTICULOValue;
    property OldID_ARTICULOIsNull : Boolean read GetOldID_ARTICULOIsNull;
    property ID_PROVEEDOR : Integer read GetID_PROVEEDORValue write SetID_PROVEEDORValue;
    property ID_PROVEEDORIsNull : Boolean read GetID_PROVEEDORIsNull write SetID_PROVEEDORIsNull;
    property OldID_PROVEEDOR : Integer read GetOldID_PROVEEDORValue;
    property OldID_PROVEEDORIsNull : Boolean read GetOldID_PROVEEDORIsNull;
    property REFERENCIA_PROV : String read GetREFERENCIA_PROVValue write SetREFERENCIA_PROVValue;
    property REFERENCIA_PROVIsNull : Boolean read GetREFERENCIA_PROVIsNull write SetREFERENCIA_PROVIsNull;
    property OldREFERENCIA_PROV : String read GetOldREFERENCIA_PROVValue;
    property OldREFERENCIA_PROVIsNull : Boolean read GetOldREFERENCIA_PROVIsNull;
    property PRECIO_COSTE : Currency read GetPRECIO_COSTEValue write SetPRECIO_COSTEValue;
    property PRECIO_COSTEIsNull : Boolean read GetPRECIO_COSTEIsNull write SetPRECIO_COSTEIsNull;
    property OldPRECIO_COSTE : Currency read GetOldPRECIO_COSTEValue;
    property OldPRECIO_COSTEIsNull : Boolean read GetOldPRECIO_COSTEIsNull;
    property DESCUENTO : Float read GetDESCUENTOValue write SetDESCUENTOValue;
    property DESCUENTOIsNull : Boolean read GetDESCUENTOIsNull write SetDESCUENTOIsNull;
    property OldDESCUENTO : Float read GetOldDESCUENTOValue;
    property OldDESCUENTOIsNull : Boolean read GetOldDESCUENTOIsNull;
    property PRECIO_NETO : Currency read GetPRECIO_NETOValue write SetPRECIO_NETOValue;
    property PRECIO_NETOIsNull : Boolean read GetPRECIO_NETOIsNull write SetPRECIO_NETOIsNull;
    property OldPRECIO_NETO : Currency read GetOldPRECIO_NETOValue;
    property OldPRECIO_NETOIsNull : Boolean read GetOldPRECIO_NETOIsNull;
    property PRECIO_PORTE : Currency read GetPRECIO_PORTEValue write SetPRECIO_PORTEValue;
    property PRECIO_PORTEIsNull : Boolean read GetPRECIO_PORTEIsNull write SetPRECIO_PORTEIsNull;
    property OldPRECIO_PORTE : Currency read GetOldPRECIO_PORTEValue;
    property OldPRECIO_PORTEIsNull : Boolean read GetOldPRECIO_PORTEIsNull;
    property PRECIO_PVP_VENTA : Currency read GetPRECIO_PVP_VENTAValue write SetPRECIO_PVP_VENTAValue;
    property PRECIO_PVP_VENTAIsNull : Boolean read GetPRECIO_PVP_VENTAIsNull write SetPRECIO_PVP_VENTAIsNull;
    property OldPRECIO_PVP_VENTA : Currency read GetOldPRECIO_PVP_VENTAValue;
    property OldPRECIO_PVP_VENTAIsNull : Boolean read GetOldPRECIO_PVP_VENTAIsNull;
    property PRECIO_PVP_TOTAL : Currency read GetPRECIO_PVP_TOTALValue write SetPRECIO_PVP_TOTALValue;
    property PRECIO_PVP_TOTALIsNull : Boolean read GetPRECIO_PVP_TOTALIsNull write SetPRECIO_PVP_TOTALIsNull;
    property OldPRECIO_PVP_TOTAL : Currency read GetOldPRECIO_PVP_TOTALValue;
    property OldPRECIO_PVP_TOTALIsNull : Boolean read GetOldPRECIO_PVP_TOTALIsNull;

  public
    constructor Create(aBusinessProcessor: TDABusinessProcessor); override;
    destructor Destroy; override;

  end;

  { IArticulosDelta }
  IArticulosDelta = interface(IArticulos)
  ['{132D6F55-09CD-4018-A2CB-1D2552713417}']
    { Property getters and setters }
    function GetOldIDValue : Integer;
    function GetOldID_EMPRESAValue : Integer;
    function GetOldREFERENCIAValue : String;
    function GetOldDESCRIPCIONValue : String;
    function GetOldUNIDAD_MEDIDAValue : String;
    function GetOldFAMILIAValue : String;
    function GetOldIMAGENValue : IROStream;
    function GetOldCOMISIONABLEValue : Integer;
    function GetOldFECHA_ALTAValue : DateTime;
    function GetOldFECHA_MODIFICACIONValue : DateTime;
    function GetOldUSUARIOValue : String;
    function GetOldREFERENCIA_PROVValue : String;
    function GetOldPRECIO_COSTEValue : Currency;
    function GetOldPRECIO_PORTEValue : Currency;
    function GetOldDESCUENTOValue : Float;
    function GetOldPRECIO_NETOValue : Currency;
    function GetOldINVENTARIABLEValue : SmallInt;
    function GetOldELIMINADOValue : SmallInt;
    function GetOldFABRICANTEValue : String;
    function GetOldREFERENCIA_FABRValue : String;
    function GetOldPARAM_MARGENValue : Float;
    function GetOldPRECIO_PVP_VENTAValue : Currency;
    function GetOldTIEMPOValue : Integer;
    function GetOldPARAM_TIEMPOValue : Float;
    function GetOldMANO_OBRAValue : Currency;
    function GetOldPRECIO_PVP_TOTALValue : Currency;

    { Properties }
    property OldID : Integer read GetOldIDValue;
    property OldID_EMPRESA : Integer read GetOldID_EMPRESAValue;
    property OldREFERENCIA : String read GetOldREFERENCIAValue;
    property OldDESCRIPCION : String read GetOldDESCRIPCIONValue;
    property OldUNIDAD_MEDIDA : String read GetOldUNIDAD_MEDIDAValue;
    property OldFAMILIA : String read GetOldFAMILIAValue;
    property OldIMAGEN : IROStream read GetOldIMAGENValue;
    property OldCOMISIONABLE : Integer read GetOldCOMISIONABLEValue;
    property OldFECHA_ALTA : DateTime read GetOldFECHA_ALTAValue;
    property OldFECHA_MODIFICACION : DateTime read GetOldFECHA_MODIFICACIONValue;
    property OldUSUARIO : String read GetOldUSUARIOValue;
    property OldREFERENCIA_PROV : String read GetOldREFERENCIA_PROVValue;
    property OldPRECIO_COSTE : Currency read GetOldPRECIO_COSTEValue;
    property OldPRECIO_PORTE : Currency read GetOldPRECIO_PORTEValue;
    property OldDESCUENTO : Float read GetOldDESCUENTOValue;
    property OldPRECIO_NETO : Currency read GetOldPRECIO_NETOValue;
    property OldINVENTARIABLE : SmallInt read GetOldINVENTARIABLEValue;
    property OldELIMINADO : SmallInt read GetOldELIMINADOValue;
    property OldFABRICANTE : String read GetOldFABRICANTEValue;
    property OldREFERENCIA_FABR : String read GetOldREFERENCIA_FABRValue;
    property OldPARAM_MARGEN : Float read GetOldPARAM_MARGENValue;
    property OldPRECIO_PVP_VENTA : Currency read GetOldPRECIO_PVP_VENTAValue;
    property OldTIEMPO : Integer read GetOldTIEMPOValue;
    property OldPARAM_TIEMPO : Float read GetOldPARAM_TIEMPOValue;
    property OldMANO_OBRA : Currency read GetOldMANO_OBRAValue;
    property OldPRECIO_PVP_TOTAL : Currency read GetOldPRECIO_PVP_TOTALValue;
  end;

  { TArticulosBusinessProcessorRules }
  TArticulosBusinessProcessorRules = class(TDABusinessProcessorRules, IArticulos, IArticulosDelta)
  private
    f_IMAGEN: IROStream;
    procedure IMAGEN_OnChange(Sender: Tobject);
  protected
    { Property getters and setters }
    function GetIDValue: Integer; virtual;
    function GetIDIsNull: Boolean; virtual;
    function GetOldIDValue: Integer; virtual;
    function GetOldIDIsNull: Boolean; virtual;
    procedure SetIDValue(const aValue: Integer); virtual;
    procedure SetIDIsNull(const aValue: Boolean); virtual;
    function GetID_EMPRESAValue: Integer; virtual;
    function GetID_EMPRESAIsNull: Boolean; virtual;
    function GetOldID_EMPRESAValue: Integer; virtual;
    function GetOldID_EMPRESAIsNull: Boolean; virtual;
    procedure SetID_EMPRESAValue(const aValue: Integer); virtual;
    procedure SetID_EMPRESAIsNull(const aValue: Boolean); virtual;
    function GetREFERENCIAValue: String; virtual;
    function GetREFERENCIAIsNull: Boolean; virtual;
    function GetOldREFERENCIAValue: String; virtual;
    function GetOldREFERENCIAIsNull: Boolean; virtual;
    procedure SetREFERENCIAValue(const aValue: String); virtual;
    procedure SetREFERENCIAIsNull(const aValue: Boolean); virtual;
    function GetDESCRIPCIONValue: String; virtual;
    function GetDESCRIPCIONIsNull: Boolean; virtual;
    function GetOldDESCRIPCIONValue: String; virtual;
    function GetOldDESCRIPCIONIsNull: Boolean; virtual;
    procedure SetDESCRIPCIONValue(const aValue: String); virtual;
    procedure SetDESCRIPCIONIsNull(const aValue: Boolean); virtual;
    function GetUNIDAD_MEDIDAValue: String; virtual;
    function GetUNIDAD_MEDIDAIsNull: Boolean; virtual;
    function GetOldUNIDAD_MEDIDAValue: String; virtual;
    function GetOldUNIDAD_MEDIDAIsNull: Boolean; virtual;
    procedure SetUNIDAD_MEDIDAValue(const aValue: String); virtual;
    procedure SetUNIDAD_MEDIDAIsNull(const aValue: Boolean); virtual;
    function GetFAMILIAValue: String; virtual;
    function GetFAMILIAIsNull: Boolean; virtual;
    function GetOldFAMILIAValue: String; virtual;
    function GetOldFAMILIAIsNull: Boolean; virtual;
    procedure SetFAMILIAValue(const aValue: String); virtual;
    procedure SetFAMILIAIsNull(const aValue: Boolean); virtual;
    function GetIMAGENValue: IROStream; virtual;
    function GetIMAGENIsNull: Boolean; virtual;
    function GetOldIMAGENValue: IROStream; virtual;
    function GetOldIMAGENIsNull: Boolean; virtual;
    procedure SetIMAGENIsNull(const aValue: Boolean); virtual;
    function GetCOMISIONABLEValue: Integer; virtual;
    function GetCOMISIONABLEIsNull: Boolean; virtual;
    function GetOldCOMISIONABLEValue: Integer; virtual;
    function GetOldCOMISIONABLEIsNull: Boolean; virtual;
    procedure SetCOMISIONABLEValue(const aValue: Integer); virtual;
    procedure SetCOMISIONABLEIsNull(const aValue: Boolean); virtual;
    function GetFECHA_ALTAValue: DateTime; virtual;
    function GetFECHA_ALTAIsNull: Boolean; virtual;
    function GetOldFECHA_ALTAValue: DateTime; virtual;
    function GetOldFECHA_ALTAIsNull: Boolean; virtual;
    procedure SetFECHA_ALTAValue(const aValue: DateTime); virtual;
    procedure SetFECHA_ALTAIsNull(const aValue: Boolean); virtual;
    function GetFECHA_MODIFICACIONValue: DateTime; virtual;
    function GetFECHA_MODIFICACIONIsNull: Boolean; virtual;
    function GetOldFECHA_MODIFICACIONValue: DateTime; virtual;
    function GetOldFECHA_MODIFICACIONIsNull: Boolean; virtual;
    procedure SetFECHA_MODIFICACIONValue(const aValue: DateTime); virtual;
    procedure SetFECHA_MODIFICACIONIsNull(const aValue: Boolean); virtual;
    function GetUSUARIOValue: String; virtual;
    function GetUSUARIOIsNull: Boolean; virtual;
    function GetOldUSUARIOValue: String; virtual;
    function GetOldUSUARIOIsNull: Boolean; virtual;
    procedure SetUSUARIOValue(const aValue: String); virtual;
    procedure SetUSUARIOIsNull(const aValue: Boolean); virtual;
    function GetREFERENCIA_PROVValue: String; virtual;
    function GetREFERENCIA_PROVIsNull: Boolean; virtual;
    function GetOldREFERENCIA_PROVValue: String; virtual;
    function GetOldREFERENCIA_PROVIsNull: Boolean; virtual;
    procedure SetREFERENCIA_PROVValue(const aValue: String); virtual;
    procedure SetREFERENCIA_PROVIsNull(const aValue: Boolean); virtual;
    function GetPRECIO_COSTEValue: Currency; virtual;
    function GetPRECIO_COSTEIsNull: Boolean; virtual;
    function GetOldPRECIO_COSTEValue: Currency; virtual;
    function GetOldPRECIO_COSTEIsNull: Boolean; virtual;
    procedure SetPRECIO_COSTEValue(const aValue: Currency); virtual;
    procedure SetPRECIO_COSTEIsNull(const aValue: Boolean); virtual;
    function GetPRECIO_PORTEValue: Currency; virtual;
    function GetPRECIO_PORTEIsNull: Boolean; virtual;
    function GetOldPRECIO_PORTEValue: Currency; virtual;
    function GetOldPRECIO_PORTEIsNull: Boolean; virtual;
    procedure SetPRECIO_PORTEValue(const aValue: Currency); virtual;
    procedure SetPRECIO_PORTEIsNull(const aValue: Boolean); virtual;
    function GetDESCUENTOValue: Float; virtual;
    function GetDESCUENTOIsNull: Boolean; virtual;
    function GetOldDESCUENTOValue: Float; virtual;
    function GetOldDESCUENTOIsNull: Boolean; virtual;
    procedure SetDESCUENTOValue(const aValue: Float); virtual;
    procedure SetDESCUENTOIsNull(const aValue: Boolean); virtual;
    function GetPRECIO_NETOValue: Currency; virtual;
    function GetPRECIO_NETOIsNull: Boolean; virtual;
    function GetOldPRECIO_NETOValue: Currency; virtual;
    function GetOldPRECIO_NETOIsNull: Boolean; virtual;
    procedure SetPRECIO_NETOValue(const aValue: Currency); virtual;
    procedure SetPRECIO_NETOIsNull(const aValue: Boolean); virtual;
    function GetINVENTARIABLEValue: SmallInt; virtual;
    function GetINVENTARIABLEIsNull: Boolean; virtual;
    function GetOldINVENTARIABLEValue: SmallInt; virtual;
    function GetOldINVENTARIABLEIsNull: Boolean; virtual;
    procedure SetINVENTARIABLEValue(const aValue: SmallInt); virtual;
    procedure SetINVENTARIABLEIsNull(const aValue: Boolean); virtual;
    function GetELIMINADOValue: SmallInt; virtual;
    function GetELIMINADOIsNull: Boolean; virtual;
    function GetOldELIMINADOValue: SmallInt; virtual;
    function GetOldELIMINADOIsNull: Boolean; virtual;
    procedure SetELIMINADOValue(const aValue: SmallInt); virtual;
    procedure SetELIMINADOIsNull(const aValue: Boolean); virtual;
    function GetFABRICANTEValue: String; virtual;
    function GetFABRICANTEIsNull: Boolean; virtual;
    function GetOldFABRICANTEValue: String; virtual;
    function GetOldFABRICANTEIsNull: Boolean; virtual;
    procedure SetFABRICANTEValue(const aValue: String); virtual;
    procedure SetFABRICANTEIsNull(const aValue: Boolean); virtual;
    function GetREFERENCIA_FABRValue: String; virtual;
    function GetREFERENCIA_FABRIsNull: Boolean; virtual;
    function GetOldREFERENCIA_FABRValue: String; virtual;
    function GetOldREFERENCIA_FABRIsNull: Boolean; virtual;
    procedure SetREFERENCIA_FABRValue(const aValue: String); virtual;
    procedure SetREFERENCIA_FABRIsNull(const aValue: Boolean); virtual;
    function GetPARAM_MARGENValue: Float; virtual;
    function GetPARAM_MARGENIsNull: Boolean; virtual;
    function GetOldPARAM_MARGENValue: Float; virtual;
    function GetOldPARAM_MARGENIsNull: Boolean; virtual;
    procedure SetPARAM_MARGENValue(const aValue: Float); virtual;
    procedure SetPARAM_MARGENIsNull(const aValue: Boolean); virtual;
    function GetPRECIO_PVP_VENTAValue: Currency; virtual;
    function GetPRECIO_PVP_VENTAIsNull: Boolean; virtual;
    function GetOldPRECIO_PVP_VENTAValue: Currency; virtual;
    function GetOldPRECIO_PVP_VENTAIsNull: Boolean; virtual;
    procedure SetPRECIO_PVP_VENTAValue(const aValue: Currency); virtual;
    procedure SetPRECIO_PVP_VENTAIsNull(const aValue: Boolean); virtual;
    function GetTIEMPOValue: Integer; virtual;
    function GetTIEMPOIsNull: Boolean; virtual;
    function GetOldTIEMPOValue: Integer; virtual;
    function GetOldTIEMPOIsNull: Boolean; virtual;
    procedure SetTIEMPOValue(const aValue: Integer); virtual;
    procedure SetTIEMPOIsNull(const aValue: Boolean); virtual;
    function GetPARAM_TIEMPOValue: Float; virtual;
    function GetPARAM_TIEMPOIsNull: Boolean; virtual;
    function GetOldPARAM_TIEMPOValue: Float; virtual;
    function GetOldPARAM_TIEMPOIsNull: Boolean; virtual;
    procedure SetPARAM_TIEMPOValue(const aValue: Float); virtual;
    procedure SetPARAM_TIEMPOIsNull(const aValue: Boolean); virtual;
    function GetMANO_OBRAValue: Currency; virtual;
    function GetMANO_OBRAIsNull: Boolean; virtual;
    function GetOldMANO_OBRAValue: Currency; virtual;
    function GetOldMANO_OBRAIsNull: Boolean; virtual;
    procedure SetMANO_OBRAValue(const aValue: Currency); virtual;
    procedure SetMANO_OBRAIsNull(const aValue: Boolean); virtual;
    function GetPRECIO_PVP_TOTALValue: Currency; virtual;
    function GetPRECIO_PVP_TOTALIsNull: Boolean; virtual;
    function GetOldPRECIO_PVP_TOTALValue: Currency; virtual;
    function GetOldPRECIO_PVP_TOTALIsNull: Boolean; virtual;
    procedure SetPRECIO_PVP_TOTALValue(const aValue: Currency); virtual;
    procedure SetPRECIO_PVP_TOTALIsNull(const aValue: Boolean); virtual;

    { Properties }
    property ID : Integer read GetIDValue write SetIDValue;
    property IDIsNull : Boolean read GetIDIsNull write SetIDIsNull;
    property OldID : Integer read GetOldIDValue;
    property OldIDIsNull : Boolean read GetOldIDIsNull;
    property ID_EMPRESA : Integer read GetID_EMPRESAValue write SetID_EMPRESAValue;
    property ID_EMPRESAIsNull : Boolean read GetID_EMPRESAIsNull write SetID_EMPRESAIsNull;
    property OldID_EMPRESA : Integer read GetOldID_EMPRESAValue;
    property OldID_EMPRESAIsNull : Boolean read GetOldID_EMPRESAIsNull;
    property REFERENCIA : String read GetREFERENCIAValue write SetREFERENCIAValue;
    property REFERENCIAIsNull : Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull;
    property OldREFERENCIA : String read GetOldREFERENCIAValue;
    property OldREFERENCIAIsNull : Boolean read GetOldREFERENCIAIsNull;
    property DESCRIPCION : String read GetDESCRIPCIONValue write SetDESCRIPCIONValue;
    property DESCRIPCIONIsNull : Boolean read GetDESCRIPCIONIsNull write SetDESCRIPCIONIsNull;
    property OldDESCRIPCION : String read GetOldDESCRIPCIONValue;
    property OldDESCRIPCIONIsNull : Boolean read GetOldDESCRIPCIONIsNull;
    property UNIDAD_MEDIDA : String read GetUNIDAD_MEDIDAValue write SetUNIDAD_MEDIDAValue;
    property UNIDAD_MEDIDAIsNull : Boolean read GetUNIDAD_MEDIDAIsNull write SetUNIDAD_MEDIDAIsNull;
    property OldUNIDAD_MEDIDA : String read GetOldUNIDAD_MEDIDAValue;
    property OldUNIDAD_MEDIDAIsNull : Boolean read GetOldUNIDAD_MEDIDAIsNull;
    property FAMILIA : String read GetFAMILIAValue write SetFAMILIAValue;
    property FAMILIAIsNull : Boolean read GetFAMILIAIsNull write SetFAMILIAIsNull;
    property OldFAMILIA : String read GetOldFAMILIAValue;
    property OldFAMILIAIsNull : Boolean read GetOldFAMILIAIsNull;
    property IMAGEN : IROStream read GetIMAGENValue;
    property IMAGENIsNull : Boolean read GetIMAGENIsNull write SetIMAGENIsNull;
    property OldIMAGEN : IROStream read GetOldIMAGENValue;
    property OldIMAGENIsNull : Boolean read GetOldIMAGENIsNull;
    property COMISIONABLE : Integer read GetCOMISIONABLEValue write SetCOMISIONABLEValue;
    property COMISIONABLEIsNull : Boolean read GetCOMISIONABLEIsNull write SetCOMISIONABLEIsNull;
    property OldCOMISIONABLE : Integer read GetOldCOMISIONABLEValue;
    property OldCOMISIONABLEIsNull : Boolean read GetOldCOMISIONABLEIsNull;
    property FECHA_ALTA : DateTime read GetFECHA_ALTAValue write SetFECHA_ALTAValue;
    property FECHA_ALTAIsNull : Boolean read GetFECHA_ALTAIsNull write SetFECHA_ALTAIsNull;
    property OldFECHA_ALTA : DateTime read GetOldFECHA_ALTAValue;
    property OldFECHA_ALTAIsNull : Boolean read GetOldFECHA_ALTAIsNull;
    property FECHA_MODIFICACION : DateTime read GetFECHA_MODIFICACIONValue write SetFECHA_MODIFICACIONValue;
    property FECHA_MODIFICACIONIsNull : Boolean read GetFECHA_MODIFICACIONIsNull write SetFECHA_MODIFICACIONIsNull;
    property OldFECHA_MODIFICACION : DateTime read GetOldFECHA_MODIFICACIONValue;
    property OldFECHA_MODIFICACIONIsNull : Boolean read GetOldFECHA_MODIFICACIONIsNull;
    property USUARIO : String read GetUSUARIOValue write SetUSUARIOValue;
    property USUARIOIsNull : Boolean read GetUSUARIOIsNull write SetUSUARIOIsNull;
    property OldUSUARIO : String read GetOldUSUARIOValue;
    property OldUSUARIOIsNull : Boolean read GetOldUSUARIOIsNull;
    property REFERENCIA_PROV : String read GetREFERENCIA_PROVValue write SetREFERENCIA_PROVValue;
    property REFERENCIA_PROVIsNull : Boolean read GetREFERENCIA_PROVIsNull write SetREFERENCIA_PROVIsNull;
    property OldREFERENCIA_PROV : String read GetOldREFERENCIA_PROVValue;
    property OldREFERENCIA_PROVIsNull : Boolean read GetOldREFERENCIA_PROVIsNull;
    property PRECIO_COSTE : Currency read GetPRECIO_COSTEValue write SetPRECIO_COSTEValue;
    property PRECIO_COSTEIsNull : Boolean read GetPRECIO_COSTEIsNull write SetPRECIO_COSTEIsNull;
    property OldPRECIO_COSTE : Currency read GetOldPRECIO_COSTEValue;
    property OldPRECIO_COSTEIsNull : Boolean read GetOldPRECIO_COSTEIsNull;
    property PRECIO_PORTE : Currency read GetPRECIO_PORTEValue write SetPRECIO_PORTEValue;
    property PRECIO_PORTEIsNull : Boolean read GetPRECIO_PORTEIsNull write SetPRECIO_PORTEIsNull;
    property OldPRECIO_PORTE : Currency read GetOldPRECIO_PORTEValue;
    property OldPRECIO_PORTEIsNull : Boolean read GetOldPRECIO_PORTEIsNull;
    property DESCUENTO : Float read GetDESCUENTOValue write SetDESCUENTOValue;
    property DESCUENTOIsNull : Boolean read GetDESCUENTOIsNull write SetDESCUENTOIsNull;
    property OldDESCUENTO : Float read GetOldDESCUENTOValue;
    property OldDESCUENTOIsNull : Boolean read GetOldDESCUENTOIsNull;
    property PRECIO_NETO : Currency read GetPRECIO_NETOValue write SetPRECIO_NETOValue;
    property PRECIO_NETOIsNull : Boolean read GetPRECIO_NETOIsNull write SetPRECIO_NETOIsNull;
    property OldPRECIO_NETO : Currency read GetOldPRECIO_NETOValue;
    property OldPRECIO_NETOIsNull : Boolean read GetOldPRECIO_NETOIsNull;
    property INVENTARIABLE : SmallInt read GetINVENTARIABLEValue write SetINVENTARIABLEValue;
    property INVENTARIABLEIsNull : Boolean read GetINVENTARIABLEIsNull write SetINVENTARIABLEIsNull;
    property OldINVENTARIABLE : SmallInt read GetOldINVENTARIABLEValue;
    property OldINVENTARIABLEIsNull : Boolean read GetOldINVENTARIABLEIsNull;
    property ELIMINADO : SmallInt read GetELIMINADOValue write SetELIMINADOValue;
    property ELIMINADOIsNull : Boolean read GetELIMINADOIsNull write SetELIMINADOIsNull;
    property OldELIMINADO : SmallInt read GetOldELIMINADOValue;
    property OldELIMINADOIsNull : Boolean read GetOldELIMINADOIsNull;
    property FABRICANTE : String read GetFABRICANTEValue write SetFABRICANTEValue;
    property FABRICANTEIsNull : Boolean read GetFABRICANTEIsNull write SetFABRICANTEIsNull;
    property OldFABRICANTE : String read GetOldFABRICANTEValue;
    property OldFABRICANTEIsNull : Boolean read GetOldFABRICANTEIsNull;
    property REFERENCIA_FABR : String read GetREFERENCIA_FABRValue write SetREFERENCIA_FABRValue;
    property REFERENCIA_FABRIsNull : Boolean read GetREFERENCIA_FABRIsNull write SetREFERENCIA_FABRIsNull;
    property OldREFERENCIA_FABR : String read GetOldREFERENCIA_FABRValue;
    property OldREFERENCIA_FABRIsNull : Boolean read GetOldREFERENCIA_FABRIsNull;
    property PARAM_MARGEN : Float read GetPARAM_MARGENValue write SetPARAM_MARGENValue;
    property PARAM_MARGENIsNull : Boolean read GetPARAM_MARGENIsNull write SetPARAM_MARGENIsNull;
    property OldPARAM_MARGEN : Float read GetOldPARAM_MARGENValue;
    property OldPARAM_MARGENIsNull : Boolean read GetOldPARAM_MARGENIsNull;
    property PRECIO_PVP_VENTA : Currency read GetPRECIO_PVP_VENTAValue write SetPRECIO_PVP_VENTAValue;
    property PRECIO_PVP_VENTAIsNull : Boolean read GetPRECIO_PVP_VENTAIsNull write SetPRECIO_PVP_VENTAIsNull;
    property OldPRECIO_PVP_VENTA : Currency read GetOldPRECIO_PVP_VENTAValue;
    property OldPRECIO_PVP_VENTAIsNull : Boolean read GetOldPRECIO_PVP_VENTAIsNull;
    property TIEMPO : Integer read GetTIEMPOValue write SetTIEMPOValue;
    property TIEMPOIsNull : Boolean read GetTIEMPOIsNull write SetTIEMPOIsNull;
    property OldTIEMPO : Integer read GetOldTIEMPOValue;
    property OldTIEMPOIsNull : Boolean read GetOldTIEMPOIsNull;
    property PARAM_TIEMPO : Float read GetPARAM_TIEMPOValue write SetPARAM_TIEMPOValue;
    property PARAM_TIEMPOIsNull : Boolean read GetPARAM_TIEMPOIsNull write SetPARAM_TIEMPOIsNull;
    property OldPARAM_TIEMPO : Float read GetOldPARAM_TIEMPOValue;
    property OldPARAM_TIEMPOIsNull : Boolean read GetOldPARAM_TIEMPOIsNull;
    property MANO_OBRA : Currency read GetMANO_OBRAValue write SetMANO_OBRAValue;
    property MANO_OBRAIsNull : Boolean read GetMANO_OBRAIsNull write SetMANO_OBRAIsNull;
    property OldMANO_OBRA : Currency read GetOldMANO_OBRAValue;
    property OldMANO_OBRAIsNull : Boolean read GetOldMANO_OBRAIsNull;
    property PRECIO_PVP_TOTAL : Currency read GetPRECIO_PVP_TOTALValue write SetPRECIO_PVP_TOTALValue;
    property PRECIO_PVP_TOTALIsNull : Boolean read GetPRECIO_PVP_TOTALIsNull write SetPRECIO_PVP_TOTALIsNull;
    property OldPRECIO_PVP_TOTAL : Currency read GetOldPRECIO_PVP_TOTALValue;
    property OldPRECIO_PVP_TOTALIsNull : Boolean read GetOldPRECIO_PVP_TOTALIsNull;

  public
    constructor Create(aBusinessProcessor: TDABusinessProcessor); override;
    destructor Destroy; override;

  end;

  { IArticulosParaCompraDelta }
  IArticulosParaCompraDelta = interface(IArticulosParaCompra)
  ['{F30257BA-3AC6-486E-B33C-0F429FBA0D62}']
    { Property getters and setters }
    function GetOldIDValue : Integer;
    function GetOldID_EMPRESAValue : Integer;
    function GetOldREFERENCIAValue : String;
    function GetOldDESCRIPCIONValue : String;
    function GetOldUNIDAD_MEDIDAValue : String;
    function GetOldFAMILIAValue : String;
    function GetOldIMAGENValue : IROStream;
    function GetOldCOMISIONABLEValue : Integer;
    function GetOldFECHA_ALTAValue : DateTime;
    function GetOldFECHA_MODIFICACIONValue : DateTime;
    function GetOldUSUARIOValue : String;
    function GetOldREFERENCIA_PROVValue : String;
    function GetOldPRECIO_COSTEValue : Currency;
    function GetOldPRECIO_PORTEValue : Currency;
    function GetOldDESCUENTOValue : Float;
    function GetOldPRECIO_NETOValue : Currency;
    function GetOldINVENTARIABLEValue : SmallInt;
    function GetOldID_PROVEEDORValue : Integer;
    function GetOldNOMBRE_PROVEEDORValue : String;
    function GetOldELIMINADOValue : SmallInt;
    function GetOldFABRICANTEValue : String;
    function GetOldREFERENCIA_FABRValue : String;
    function GetOldPARAM_MARGENValue : Float;
    function GetOldPRECIO_PVP_VENTAValue : Currency;
    function GetOldTIEMPOValue : Integer;
    function GetOldPARAM_TIEMPOValue : Float;
    function GetOldMANO_OBRAValue : Currency;
    function GetOldPRECIO_PVP_TOTALValue : Currency;
    function GetOldID_ARTICULOValue : Integer;

    { Properties }
    property OldID : Integer read GetOldIDValue;
    property OldID_EMPRESA : Integer read GetOldID_EMPRESAValue;
    property OldREFERENCIA : String read GetOldREFERENCIAValue;
    property OldDESCRIPCION : String read GetOldDESCRIPCIONValue;
    property OldUNIDAD_MEDIDA : String read GetOldUNIDAD_MEDIDAValue;
    property OldFAMILIA : String read GetOldFAMILIAValue;
    property OldIMAGEN : IROStream read GetOldIMAGENValue;
    property OldCOMISIONABLE : Integer read GetOldCOMISIONABLEValue;
    property OldFECHA_ALTA : DateTime read GetOldFECHA_ALTAValue;
    property OldFECHA_MODIFICACION : DateTime read GetOldFECHA_MODIFICACIONValue;
    property OldUSUARIO : String read GetOldUSUARIOValue;
    property OldREFERENCIA_PROV : String read GetOldREFERENCIA_PROVValue;
    property OldPRECIO_COSTE : Currency read GetOldPRECIO_COSTEValue;
    property OldPRECIO_PORTE : Currency read GetOldPRECIO_PORTEValue;
    property OldDESCUENTO : Float read GetOldDESCUENTOValue;
    property OldPRECIO_NETO : Currency read GetOldPRECIO_NETOValue;
    property OldINVENTARIABLE : SmallInt read GetOldINVENTARIABLEValue;
    property OldID_PROVEEDOR : Integer read GetOldID_PROVEEDORValue;
    property OldNOMBRE_PROVEEDOR : String read GetOldNOMBRE_PROVEEDORValue;
    property OldELIMINADO : SmallInt read GetOldELIMINADOValue;
    property OldFABRICANTE : String read GetOldFABRICANTEValue;
    property OldREFERENCIA_FABR : String read GetOldREFERENCIA_FABRValue;
    property OldPARAM_MARGEN : Float read GetOldPARAM_MARGENValue;
    property OldPRECIO_PVP_VENTA : Currency read GetOldPRECIO_PVP_VENTAValue;
    property OldTIEMPO : Integer read GetOldTIEMPOValue;
    property OldPARAM_TIEMPO : Float read GetOldPARAM_TIEMPOValue;
    property OldMANO_OBRA : Currency read GetOldMANO_OBRAValue;
    property OldPRECIO_PVP_TOTAL : Currency read GetOldPRECIO_PVP_TOTALValue;
    property OldID_ARTICULO : Integer read GetOldID_ARTICULOValue;
  end;

  { TArticulosParaCompraBusinessProcessorRules }
  TArticulosParaCompraBusinessProcessorRules = class(TDABusinessProcessorRules, IArticulosParaCompra, IArticulosParaCompraDelta)
  private
    f_IMAGEN: IROStream;
    procedure IMAGEN_OnChange(Sender: Tobject);
  protected
    { Property getters and setters }
    function GetIDValue: Integer; virtual;
    function GetIDIsNull: Boolean; virtual;
    function GetOldIDValue: Integer; virtual;
    function GetOldIDIsNull: Boolean; virtual;
    procedure SetIDValue(const aValue: Integer); virtual;
    procedure SetIDIsNull(const aValue: Boolean); virtual;
    function GetID_EMPRESAValue: Integer; virtual;
    function GetID_EMPRESAIsNull: Boolean; virtual;
    function GetOldID_EMPRESAValue: Integer; virtual;
    function GetOldID_EMPRESAIsNull: Boolean; virtual;
    procedure SetID_EMPRESAValue(const aValue: Integer); virtual;
    procedure SetID_EMPRESAIsNull(const aValue: Boolean); virtual;
    function GetREFERENCIAValue: String; virtual;
    function GetREFERENCIAIsNull: Boolean; virtual;
    function GetOldREFERENCIAValue: String; virtual;
    function GetOldREFERENCIAIsNull: Boolean; virtual;
    procedure SetREFERENCIAValue(const aValue: String); virtual;
    procedure SetREFERENCIAIsNull(const aValue: Boolean); virtual;
    function GetDESCRIPCIONValue: String; virtual;
    function GetDESCRIPCIONIsNull: Boolean; virtual;
    function GetOldDESCRIPCIONValue: String; virtual;
    function GetOldDESCRIPCIONIsNull: Boolean; virtual;
    procedure SetDESCRIPCIONValue(const aValue: String); virtual;
    procedure SetDESCRIPCIONIsNull(const aValue: Boolean); virtual;
    function GetUNIDAD_MEDIDAValue: String; virtual;
    function GetUNIDAD_MEDIDAIsNull: Boolean; virtual;
    function GetOldUNIDAD_MEDIDAValue: String; virtual;
    function GetOldUNIDAD_MEDIDAIsNull: Boolean; virtual;
    procedure SetUNIDAD_MEDIDAValue(const aValue: String); virtual;
    procedure SetUNIDAD_MEDIDAIsNull(const aValue: Boolean); virtual;
    function GetFAMILIAValue: String; virtual;
    function GetFAMILIAIsNull: Boolean; virtual;
    function GetOldFAMILIAValue: String; virtual;
    function GetOldFAMILIAIsNull: Boolean; virtual;
    procedure SetFAMILIAValue(const aValue: String); virtual;
    procedure SetFAMILIAIsNull(const aValue: Boolean); virtual;
    function GetIMAGENValue: IROStream; virtual;
    function GetIMAGENIsNull: Boolean; virtual;
    function GetOldIMAGENValue: IROStream; virtual;
    function GetOldIMAGENIsNull: Boolean; virtual;
    procedure SetIMAGENIsNull(const aValue: Boolean); virtual;
    function GetCOMISIONABLEValue: Integer; virtual;
    function GetCOMISIONABLEIsNull: Boolean; virtual;
    function GetOldCOMISIONABLEValue: Integer; virtual;
    function GetOldCOMISIONABLEIsNull: Boolean; virtual;
    procedure SetCOMISIONABLEValue(const aValue: Integer); virtual;
    procedure SetCOMISIONABLEIsNull(const aValue: Boolean); virtual;
    function GetFECHA_ALTAValue: DateTime; virtual;
    function GetFECHA_ALTAIsNull: Boolean; virtual;
    function GetOldFECHA_ALTAValue: DateTime; virtual;
    function GetOldFECHA_ALTAIsNull: Boolean; virtual;
    procedure SetFECHA_ALTAValue(const aValue: DateTime); virtual;
    procedure SetFECHA_ALTAIsNull(const aValue: Boolean); virtual;
    function GetFECHA_MODIFICACIONValue: DateTime; virtual;
    function GetFECHA_MODIFICACIONIsNull: Boolean; virtual;
    function GetOldFECHA_MODIFICACIONValue: DateTime; virtual;
    function GetOldFECHA_MODIFICACIONIsNull: Boolean; virtual;
    procedure SetFECHA_MODIFICACIONValue(const aValue: DateTime); virtual;
    procedure SetFECHA_MODIFICACIONIsNull(const aValue: Boolean); virtual;
    function GetUSUARIOValue: String; virtual;
    function GetUSUARIOIsNull: Boolean; virtual;
    function GetOldUSUARIOValue: String; virtual;
    function GetOldUSUARIOIsNull: Boolean; virtual;
    procedure SetUSUARIOValue(const aValue: String); virtual;
    procedure SetUSUARIOIsNull(const aValue: Boolean); virtual;
    function GetREFERENCIA_PROVValue: String; virtual;
    function GetREFERENCIA_PROVIsNull: Boolean; virtual;
    function GetOldREFERENCIA_PROVValue: String; virtual;
    function GetOldREFERENCIA_PROVIsNull: Boolean; virtual;
    procedure SetREFERENCIA_PROVValue(const aValue: String); virtual;
    procedure SetREFERENCIA_PROVIsNull(const aValue: Boolean); virtual;
    function GetPRECIO_COSTEValue: Currency; virtual;
    function GetPRECIO_COSTEIsNull: Boolean; virtual;
    function GetOldPRECIO_COSTEValue: Currency; virtual;
    function GetOldPRECIO_COSTEIsNull: Boolean; virtual;
    procedure SetPRECIO_COSTEValue(const aValue: Currency); virtual;
    procedure SetPRECIO_COSTEIsNull(const aValue: Boolean); virtual;
    function GetPRECIO_PORTEValue: Currency; virtual;
    function GetPRECIO_PORTEIsNull: Boolean; virtual;
    function GetOldPRECIO_PORTEValue: Currency; virtual;
    function GetOldPRECIO_PORTEIsNull: Boolean; virtual;
    procedure SetPRECIO_PORTEValue(const aValue: Currency); virtual;
    procedure SetPRECIO_PORTEIsNull(const aValue: Boolean); virtual;
    function GetDESCUENTOValue: Float; virtual;
    function GetDESCUENTOIsNull: Boolean; virtual;
    function GetOldDESCUENTOValue: Float; virtual;
    function GetOldDESCUENTOIsNull: Boolean; virtual;
    procedure SetDESCUENTOValue(const aValue: Float); virtual;
    procedure SetDESCUENTOIsNull(const aValue: Boolean); virtual;
    function GetPRECIO_NETOValue: Currency; virtual;
    function GetPRECIO_NETOIsNull: Boolean; virtual;
    function GetOldPRECIO_NETOValue: Currency; virtual;
    function GetOldPRECIO_NETOIsNull: Boolean; virtual;
    procedure SetPRECIO_NETOValue(const aValue: Currency); virtual;
    procedure SetPRECIO_NETOIsNull(const aValue: Boolean); virtual;
    function GetINVENTARIABLEValue: SmallInt; virtual;
    function GetINVENTARIABLEIsNull: Boolean; virtual;
    function GetOldINVENTARIABLEValue: SmallInt; virtual;
    function GetOldINVENTARIABLEIsNull: Boolean; virtual;
    procedure SetINVENTARIABLEValue(const aValue: SmallInt); virtual;
    procedure SetINVENTARIABLEIsNull(const aValue: Boolean); virtual;
    function GetID_PROVEEDORValue: Integer; virtual;
    function GetID_PROVEEDORIsNull: Boolean; virtual;
    function GetOldID_PROVEEDORValue: Integer; virtual;
    function GetOldID_PROVEEDORIsNull: Boolean; virtual;
    procedure SetID_PROVEEDORValue(const aValue: Integer); virtual;
    procedure SetID_PROVEEDORIsNull(const aValue: Boolean); virtual;
    function GetNOMBRE_PROVEEDORValue: String; virtual;
    function GetNOMBRE_PROVEEDORIsNull: Boolean; virtual;
    function GetOldNOMBRE_PROVEEDORValue: String; virtual;
    function GetOldNOMBRE_PROVEEDORIsNull: Boolean; virtual;
    procedure SetNOMBRE_PROVEEDORValue(const aValue: String); virtual;
    procedure SetNOMBRE_PROVEEDORIsNull(const aValue: Boolean); virtual;
    function GetELIMINADOValue: SmallInt; virtual;
    function GetELIMINADOIsNull: Boolean; virtual;
    function GetOldELIMINADOValue: SmallInt; virtual;
    function GetOldELIMINADOIsNull: Boolean; virtual;
    procedure SetELIMINADOValue(const aValue: SmallInt); virtual;
    procedure SetELIMINADOIsNull(const aValue: Boolean); virtual;
    function GetFABRICANTEValue: String; virtual;
    function GetFABRICANTEIsNull: Boolean; virtual;
    function GetOldFABRICANTEValue: String; virtual;
    function GetOldFABRICANTEIsNull: Boolean; virtual;
    procedure SetFABRICANTEValue(const aValue: String); virtual;
    procedure SetFABRICANTEIsNull(const aValue: Boolean); virtual;
    function GetREFERENCIA_FABRValue: String; virtual;
    function GetREFERENCIA_FABRIsNull: Boolean; virtual;
    function GetOldREFERENCIA_FABRValue: String; virtual;
    function GetOldREFERENCIA_FABRIsNull: Boolean; virtual;
    procedure SetREFERENCIA_FABRValue(const aValue: String); virtual;
    procedure SetREFERENCIA_FABRIsNull(const aValue: Boolean); virtual;
    function GetPARAM_MARGENValue: Float; virtual;
    function GetPARAM_MARGENIsNull: Boolean; virtual;
    function GetOldPARAM_MARGENValue: Float; virtual;
    function GetOldPARAM_MARGENIsNull: Boolean; virtual;
    procedure SetPARAM_MARGENValue(const aValue: Float); virtual;
    procedure SetPARAM_MARGENIsNull(const aValue: Boolean); virtual;
    function GetPRECIO_PVP_VENTAValue: Currency; virtual;
    function GetPRECIO_PVP_VENTAIsNull: Boolean; virtual;
    function GetOldPRECIO_PVP_VENTAValue: Currency; virtual;
    function GetOldPRECIO_PVP_VENTAIsNull: Boolean; virtual;
    procedure SetPRECIO_PVP_VENTAValue(const aValue: Currency); virtual;
    procedure SetPRECIO_PVP_VENTAIsNull(const aValue: Boolean); virtual;
    function GetTIEMPOValue: Integer; virtual;
    function GetTIEMPOIsNull: Boolean; virtual;
    function GetOldTIEMPOValue: Integer; virtual;
    function GetOldTIEMPOIsNull: Boolean; virtual;
    procedure SetTIEMPOValue(const aValue: Integer); virtual;
    procedure SetTIEMPOIsNull(const aValue: Boolean); virtual;
    function GetPARAM_TIEMPOValue: Float; virtual;
    function GetPARAM_TIEMPOIsNull: Boolean; virtual;
    function GetOldPARAM_TIEMPOValue: Float; virtual;
    function GetOldPARAM_TIEMPOIsNull: Boolean; virtual;
    procedure SetPARAM_TIEMPOValue(const aValue: Float); virtual;
    procedure SetPARAM_TIEMPOIsNull(const aValue: Boolean); virtual;
    function GetMANO_OBRAValue: Currency; virtual;
    function GetMANO_OBRAIsNull: Boolean; virtual;
    function GetOldMANO_OBRAValue: Currency; virtual;
    function GetOldMANO_OBRAIsNull: Boolean; virtual;
    procedure SetMANO_OBRAValue(const aValue: Currency); virtual;
    procedure SetMANO_OBRAIsNull(const aValue: Boolean); virtual;
    function GetPRECIO_PVP_TOTALValue: Currency; virtual;
    function GetPRECIO_PVP_TOTALIsNull: Boolean; virtual;
    function GetOldPRECIO_PVP_TOTALValue: Currency; virtual;
    function GetOldPRECIO_PVP_TOTALIsNull: Boolean; virtual;
    procedure SetPRECIO_PVP_TOTALValue(const aValue: Currency); virtual;
    procedure SetPRECIO_PVP_TOTALIsNull(const aValue: Boolean); virtual;
    function GetID_ARTICULOValue: Integer; virtual;
    function GetID_ARTICULOIsNull: Boolean; virtual;
    function GetOldID_ARTICULOValue: Integer; virtual;
    function GetOldID_ARTICULOIsNull: Boolean; virtual;
    procedure SetID_ARTICULOValue(const aValue: Integer); virtual;
    procedure SetID_ARTICULOIsNull(const aValue: Boolean); virtual;

    { Properties }
    property ID : Integer read GetIDValue write SetIDValue;
    property IDIsNull : Boolean read GetIDIsNull write SetIDIsNull;
    property OldID : Integer read GetOldIDValue;
    property OldIDIsNull : Boolean read GetOldIDIsNull;
    property ID_EMPRESA : Integer read GetID_EMPRESAValue write SetID_EMPRESAValue;
    property ID_EMPRESAIsNull : Boolean read GetID_EMPRESAIsNull write SetID_EMPRESAIsNull;
    property OldID_EMPRESA : Integer read GetOldID_EMPRESAValue;
    property OldID_EMPRESAIsNull : Boolean read GetOldID_EMPRESAIsNull;
    property REFERENCIA : String read GetREFERENCIAValue write SetREFERENCIAValue;
    property REFERENCIAIsNull : Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull;
    property OldREFERENCIA : String read GetOldREFERENCIAValue;
    property OldREFERENCIAIsNull : Boolean read GetOldREFERENCIAIsNull;
    property DESCRIPCION : String read GetDESCRIPCIONValue write SetDESCRIPCIONValue;
    property DESCRIPCIONIsNull : Boolean read GetDESCRIPCIONIsNull write SetDESCRIPCIONIsNull;
    property OldDESCRIPCION : String read GetOldDESCRIPCIONValue;
    property OldDESCRIPCIONIsNull : Boolean read GetOldDESCRIPCIONIsNull;
    property UNIDAD_MEDIDA : String read GetUNIDAD_MEDIDAValue write SetUNIDAD_MEDIDAValue;
    property UNIDAD_MEDIDAIsNull : Boolean read GetUNIDAD_MEDIDAIsNull write SetUNIDAD_MEDIDAIsNull;
    property OldUNIDAD_MEDIDA : String read GetOldUNIDAD_MEDIDAValue;
    property OldUNIDAD_MEDIDAIsNull : Boolean read GetOldUNIDAD_MEDIDAIsNull;
    property FAMILIA : String read GetFAMILIAValue write SetFAMILIAValue;
    property FAMILIAIsNull : Boolean read GetFAMILIAIsNull write SetFAMILIAIsNull;
    property OldFAMILIA : String read GetOldFAMILIAValue;
    property OldFAMILIAIsNull : Boolean read GetOldFAMILIAIsNull;
    property IMAGEN : IROStream read GetIMAGENValue;
    property IMAGENIsNull : Boolean read GetIMAGENIsNull write SetIMAGENIsNull;
    property OldIMAGEN : IROStream read GetOldIMAGENValue;
    property OldIMAGENIsNull : Boolean read GetOldIMAGENIsNull;
    property COMISIONABLE : Integer read GetCOMISIONABLEValue write SetCOMISIONABLEValue;
    property COMISIONABLEIsNull : Boolean read GetCOMISIONABLEIsNull write SetCOMISIONABLEIsNull;
    property OldCOMISIONABLE : Integer read GetOldCOMISIONABLEValue;
    property OldCOMISIONABLEIsNull : Boolean read GetOldCOMISIONABLEIsNull;
    property FECHA_ALTA : DateTime read GetFECHA_ALTAValue write SetFECHA_ALTAValue;
    property FECHA_ALTAIsNull : Boolean read GetFECHA_ALTAIsNull write SetFECHA_ALTAIsNull;
    property OldFECHA_ALTA : DateTime read GetOldFECHA_ALTAValue;
    property OldFECHA_ALTAIsNull : Boolean read GetOldFECHA_ALTAIsNull;
    property FECHA_MODIFICACION : DateTime read GetFECHA_MODIFICACIONValue write SetFECHA_MODIFICACIONValue;
    property FECHA_MODIFICACIONIsNull : Boolean read GetFECHA_MODIFICACIONIsNull write SetFECHA_MODIFICACIONIsNull;
    property OldFECHA_MODIFICACION : DateTime read GetOldFECHA_MODIFICACIONValue;
    property OldFECHA_MODIFICACIONIsNull : Boolean read GetOldFECHA_MODIFICACIONIsNull;
    property USUARIO : String read GetUSUARIOValue write SetUSUARIOValue;
    property USUARIOIsNull : Boolean read GetUSUARIOIsNull write SetUSUARIOIsNull;
    property OldUSUARIO : String read GetOldUSUARIOValue;
    property OldUSUARIOIsNull : Boolean read GetOldUSUARIOIsNull;
    property REFERENCIA_PROV : String read GetREFERENCIA_PROVValue write SetREFERENCIA_PROVValue;
    property REFERENCIA_PROVIsNull : Boolean read GetREFERENCIA_PROVIsNull write SetREFERENCIA_PROVIsNull;
    property OldREFERENCIA_PROV : String read GetOldREFERENCIA_PROVValue;
    property OldREFERENCIA_PROVIsNull : Boolean read GetOldREFERENCIA_PROVIsNull;
    property PRECIO_COSTE : Currency read GetPRECIO_COSTEValue write SetPRECIO_COSTEValue;
    property PRECIO_COSTEIsNull : Boolean read GetPRECIO_COSTEIsNull write SetPRECIO_COSTEIsNull;
    property OldPRECIO_COSTE : Currency read GetOldPRECIO_COSTEValue;
    property OldPRECIO_COSTEIsNull : Boolean read GetOldPRECIO_COSTEIsNull;
    property PRECIO_PORTE : Currency read GetPRECIO_PORTEValue write SetPRECIO_PORTEValue;
    property PRECIO_PORTEIsNull : Boolean read GetPRECIO_PORTEIsNull write SetPRECIO_PORTEIsNull;
    property OldPRECIO_PORTE : Currency read GetOldPRECIO_PORTEValue;
    property OldPRECIO_PORTEIsNull : Boolean read GetOldPRECIO_PORTEIsNull;
    property DESCUENTO : Float read GetDESCUENTOValue write SetDESCUENTOValue;
    property DESCUENTOIsNull : Boolean read GetDESCUENTOIsNull write SetDESCUENTOIsNull;
    property OldDESCUENTO : Float read GetOldDESCUENTOValue;
    property OldDESCUENTOIsNull : Boolean read GetOldDESCUENTOIsNull;
    property PRECIO_NETO : Currency read GetPRECIO_NETOValue write SetPRECIO_NETOValue;
    property PRECIO_NETOIsNull : Boolean read GetPRECIO_NETOIsNull write SetPRECIO_NETOIsNull;
    property OldPRECIO_NETO : Currency read GetOldPRECIO_NETOValue;
    property OldPRECIO_NETOIsNull : Boolean read GetOldPRECIO_NETOIsNull;
    property INVENTARIABLE : SmallInt read GetINVENTARIABLEValue write SetINVENTARIABLEValue;
    property INVENTARIABLEIsNull : Boolean read GetINVENTARIABLEIsNull write SetINVENTARIABLEIsNull;
    property OldINVENTARIABLE : SmallInt read GetOldINVENTARIABLEValue;
    property OldINVENTARIABLEIsNull : Boolean read GetOldINVENTARIABLEIsNull;
    property ID_PROVEEDOR : Integer read GetID_PROVEEDORValue write SetID_PROVEEDORValue;
    property ID_PROVEEDORIsNull : Boolean read GetID_PROVEEDORIsNull write SetID_PROVEEDORIsNull;
    property OldID_PROVEEDOR : Integer read GetOldID_PROVEEDORValue;
    property OldID_PROVEEDORIsNull : Boolean read GetOldID_PROVEEDORIsNull;
    property NOMBRE_PROVEEDOR : String read GetNOMBRE_PROVEEDORValue write SetNOMBRE_PROVEEDORValue;
    property NOMBRE_PROVEEDORIsNull : Boolean read GetNOMBRE_PROVEEDORIsNull write SetNOMBRE_PROVEEDORIsNull;
    property OldNOMBRE_PROVEEDOR : String read GetOldNOMBRE_PROVEEDORValue;
    property OldNOMBRE_PROVEEDORIsNull : Boolean read GetOldNOMBRE_PROVEEDORIsNull;
    property ELIMINADO : SmallInt read GetELIMINADOValue write SetELIMINADOValue;
    property ELIMINADOIsNull : Boolean read GetELIMINADOIsNull write SetELIMINADOIsNull;
    property OldELIMINADO : SmallInt read GetOldELIMINADOValue;
    property OldELIMINADOIsNull : Boolean read GetOldELIMINADOIsNull;
    property FABRICANTE : String read GetFABRICANTEValue write SetFABRICANTEValue;
    property FABRICANTEIsNull : Boolean read GetFABRICANTEIsNull write SetFABRICANTEIsNull;
    property OldFABRICANTE : String read GetOldFABRICANTEValue;
    property OldFABRICANTEIsNull : Boolean read GetOldFABRICANTEIsNull;
    property REFERENCIA_FABR : String read GetREFERENCIA_FABRValue write SetREFERENCIA_FABRValue;
    property REFERENCIA_FABRIsNull : Boolean read GetREFERENCIA_FABRIsNull write SetREFERENCIA_FABRIsNull;
    property OldREFERENCIA_FABR : String read GetOldREFERENCIA_FABRValue;
    property OldREFERENCIA_FABRIsNull : Boolean read GetOldREFERENCIA_FABRIsNull;
    property PARAM_MARGEN : Float read GetPARAM_MARGENValue write SetPARAM_MARGENValue;
    property PARAM_MARGENIsNull : Boolean read GetPARAM_MARGENIsNull write SetPARAM_MARGENIsNull;
    property OldPARAM_MARGEN : Float read GetOldPARAM_MARGENValue;
    property OldPARAM_MARGENIsNull : Boolean read GetOldPARAM_MARGENIsNull;
    property PRECIO_PVP_VENTA : Currency read GetPRECIO_PVP_VENTAValue write SetPRECIO_PVP_VENTAValue;
    property PRECIO_PVP_VENTAIsNull : Boolean read GetPRECIO_PVP_VENTAIsNull write SetPRECIO_PVP_VENTAIsNull;
    property OldPRECIO_PVP_VENTA : Currency read GetOldPRECIO_PVP_VENTAValue;
    property OldPRECIO_PVP_VENTAIsNull : Boolean read GetOldPRECIO_PVP_VENTAIsNull;
    property TIEMPO : Integer read GetTIEMPOValue write SetTIEMPOValue;
    property TIEMPOIsNull : Boolean read GetTIEMPOIsNull write SetTIEMPOIsNull;
    property OldTIEMPO : Integer read GetOldTIEMPOValue;
    property OldTIEMPOIsNull : Boolean read GetOldTIEMPOIsNull;
    property PARAM_TIEMPO : Float read GetPARAM_TIEMPOValue write SetPARAM_TIEMPOValue;
    property PARAM_TIEMPOIsNull : Boolean read GetPARAM_TIEMPOIsNull write SetPARAM_TIEMPOIsNull;
    property OldPARAM_TIEMPO : Float read GetOldPARAM_TIEMPOValue;
    property OldPARAM_TIEMPOIsNull : Boolean read GetOldPARAM_TIEMPOIsNull;
    property MANO_OBRA : Currency read GetMANO_OBRAValue write SetMANO_OBRAValue;
    property MANO_OBRAIsNull : Boolean read GetMANO_OBRAIsNull write SetMANO_OBRAIsNull;
    property OldMANO_OBRA : Currency read GetOldMANO_OBRAValue;
    property OldMANO_OBRAIsNull : Boolean read GetOldMANO_OBRAIsNull;
    property PRECIO_PVP_TOTAL : Currency read GetPRECIO_PVP_TOTALValue write SetPRECIO_PVP_TOTALValue;
    property PRECIO_PVP_TOTALIsNull : Boolean read GetPRECIO_PVP_TOTALIsNull write SetPRECIO_PVP_TOTALIsNull;
    property OldPRECIO_PVP_TOTAL : Currency read GetOldPRECIO_PVP_TOTALValue;
    property OldPRECIO_PVP_TOTALIsNull : Boolean read GetOldPRECIO_PVP_TOTALIsNull;
    property ID_ARTICULO : Integer read GetID_ARTICULOValue write SetID_ARTICULOValue;
    property ID_ARTICULOIsNull : Boolean read GetID_ARTICULOIsNull write SetID_ARTICULOIsNull;
    property OldID_ARTICULO : Integer read GetOldID_ARTICULOValue;
    property OldID_ARTICULOIsNull : Boolean read GetOldID_ARTICULOIsNull;

  public
    constructor Create(aBusinessProcessor: TDABusinessProcessor); override;
    destructor Destroy; override;

  end;

implementation

uses
  Variants, uROBinaryHelpers, uDAInterfaces;

{ TProveedoresConArticulosBusinessProcessorRules }
constructor TProveedoresConArticulosBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor);
begin
  inherited;
end;

destructor TProveedoresConArticulosBusinessProcessorRules.Destroy;
begin
  inherited;
end;

function TProveedoresConArticulosBusinessProcessorRules.GetID_PROVEEDORValue: Integer;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresConArticulosID_PROVEEDOR];
end;

function TProveedoresConArticulosBusinessProcessorRules.GetID_PROVEEDORIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresConArticulosID_PROVEEDOR]);
end;

function TProveedoresConArticulosBusinessProcessorRules.GetOldID_PROVEEDORValue: Integer;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresConArticulosID_PROVEEDOR];
end;

function TProveedoresConArticulosBusinessProcessorRules.GetOldID_PROVEEDORIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresConArticulosID_PROVEEDOR]);
end;

procedure TProveedoresConArticulosBusinessProcessorRules.SetID_PROVEEDORValue(const aValue: Integer);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresConArticulosID_PROVEEDOR] := aValue;
end;

procedure TProveedoresConArticulosBusinessProcessorRules.SetID_PROVEEDORIsNull(const aValue: Boolean);
begin
  if aValue then
    BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresConArticulosID_PROVEEDOR] := Null;
end;

function TProveedoresConArticulosBusinessProcessorRules.GetNOMBREValue: String;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresConArticulosNOMBRE];
end;

function TProveedoresConArticulosBusinessProcessorRules.GetNOMBREIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresConArticulosNOMBRE]);
end;

function TProveedoresConArticulosBusinessProcessorRules.GetOldNOMBREValue: String;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresConArticulosNOMBRE];
end;

function TProveedoresConArticulosBusinessProcessorRules.GetOldNOMBREIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresConArticulosNOMBRE]);
end;

procedure TProveedoresConArticulosBusinessProcessorRules.SetNOMBREValue(const aValue: String);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresConArticulosNOMBRE] := aValue;
end;

procedure TProveedoresConArticulosBusinessProcessorRules.SetNOMBREIsNull(const aValue: Boolean);
begin
  if aValue then
    BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresConArticulosNOMBRE] := Null;
end;


{ TArticulos_ProveedoresBusinessProcessorRules }
constructor TArticulos_ProveedoresBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor);
begin
  inherited;
end;

destructor TArticulos_ProveedoresBusinessProcessorRules.Destroy;
begin
  inherited;
end;

function TArticulos_ProveedoresBusinessProcessorRules.GetIDValue: Integer;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_Articulos_ProveedoresID];
end;

function TArticulos_ProveedoresBusinessProcessorRules.GetIDIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_Articulos_ProveedoresID]);
end;

function TArticulos_ProveedoresBusinessProcessorRules.GetOldIDValue: Integer;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_Articulos_ProveedoresID];
end;

function TArticulos_ProveedoresBusinessProcessorRules.GetOldIDIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_Articulos_ProveedoresID]);
end;

procedure TArticulos_ProveedoresBusinessProcessorRules.SetIDValue(const aValue: Integer);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_Articulos_ProveedoresID] := aValue;
end;

procedure TArticulos_ProveedoresBusinessProcessorRules.SetIDIsNull(const aValue: Boolean);
begin
  if aValue then
    BusinessProcessor.CurrentChange.NewValueByName[fld_Articulos_ProveedoresID] := Null;
end;

function TArticulos_ProveedoresBusinessProcessorRules.GetID_ARTICULOValue: Integer;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_Articulos_ProveedoresID_ARTICULO];
end;

function TArticulos_ProveedoresBusinessProcessorRules.GetID_ARTICULOIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_Articulos_ProveedoresID_ARTICULO]);
end;

function TArticulos_ProveedoresBusinessProcessorRules.GetOldID_ARTICULOValue: Integer;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_Articulos_ProveedoresID_ARTICULO];
end;

function TArticulos_ProveedoresBusinessProcessorRules.GetOldID_ARTICULOIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_Articulos_ProveedoresID_ARTICULO]);
end;

procedure TArticulos_ProveedoresBusinessProcessorRules.SetID_ARTICULOValue(const aValue: Integer);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_Articulos_ProveedoresID_ARTICULO] := aValue;
end;

procedure TArticulos_ProveedoresBusinessProcessorRules.SetID_ARTICULOIsNull(const aValue: Boolean);
begin
  if aValue then
    BusinessProcessor.CurrentChange.NewValueByName[fld_Articulos_ProveedoresID_ARTICULO] := Null;
end;

function TArticulos_ProveedoresBusinessProcessorRules.GetID_PROVEEDORValue: Integer;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_Articulos_ProveedoresID_PROVEEDOR];
end;

function TArticulos_ProveedoresBusinessProcessorRules.GetID_PROVEEDORIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_Articulos_ProveedoresID_PROVEEDOR]);
end;

function TArticulos_ProveedoresBusinessProcessorRules.GetOldID_PROVEEDORValue: Integer;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_Articulos_ProveedoresID_PROVEEDOR];
end;

function TArticulos_ProveedoresBusinessProcessorRules.GetOldID_PROVEEDORIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_Articulos_ProveedoresID_PROVEEDOR]);
end;

procedure TArticulos_ProveedoresBusinessProcessorRules.SetID_PROVEEDORValue(const aValue: Integer);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_Articulos_ProveedoresID_PROVEEDOR] := aValue;
end;

procedure TArticulos_ProveedoresBusinessProcessorRules.SetID_PROVEEDORIsNull(const aValue: Boolean);
begin
  if aValue then
    BusinessProcessor.CurrentChange.NewValueByName[fld_Articulos_ProveedoresID_PROVEEDOR] := Null;
end;

function TArticulos_ProveedoresBusinessProcessorRules.GetREFERENCIA_PROVValue: String;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_Articulos_ProveedoresREFERENCIA_PROV];
end;

function TArticulos_ProveedoresBusinessProcessorRules.GetREFERENCIA_PROVIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_Articulos_ProveedoresREFERENCIA_PROV]);
end;

function TArticulos_ProveedoresBusinessProcessorRules.GetOldREFERENCIA_PROVValue: String;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_Articulos_ProveedoresREFERENCIA_PROV];
end;

function TArticulos_ProveedoresBusinessProcessorRules.GetOldREFERENCIA_PROVIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_Articulos_ProveedoresREFERENCIA_PROV]);
end;

procedure TArticulos_ProveedoresBusinessProcessorRules.SetREFERENCIA_PROVValue(const aValue: String);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_Articulos_ProveedoresREFERENCIA_PROV] := aValue;
end;

procedure TArticulos_ProveedoresBusinessProcessorRules.SetREFERENCIA_PROVIsNull(const aValue: Boolean);
begin
  if aValue then
    BusinessProcessor.CurrentChange.NewValueByName[fld_Articulos_ProveedoresREFERENCIA_PROV] := Null;
end;

function TArticulos_ProveedoresBusinessProcessorRules.GetPRECIO_COSTEValue: Currency;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_Articulos_ProveedoresPRECIO_COSTE];
end;

function TArticulos_ProveedoresBusinessProcessorRules.GetPRECIO_COSTEIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_Articulos_ProveedoresPRECIO_COSTE]);
end;

function TArticulos_ProveedoresBusinessProcessorRules.GetOldPRECIO_COSTEValue: Currency;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_Articulos_ProveedoresPRECIO_COSTE];
end;

function TArticulos_ProveedoresBusinessProcessorRules.GetOldPRECIO_COSTEIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_Articulos_ProveedoresPRECIO_COSTE]);
end;

procedure TArticulos_ProveedoresBusinessProcessorRules.SetPRECIO_COSTEValue(const aValue: Currency);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_Articulos_ProveedoresPRECIO_COSTE] := aValue;
end;

procedure TArticulos_ProveedoresBusinessProcessorRules.SetPRECIO_COSTEIsNull(const aValue: Boolean);
begin
  if aValue then
    BusinessProcessor.CurrentChange.NewValueByName[fld_Articulos_ProveedoresPRECIO_COSTE] := Null;
end;

function TArticulos_ProveedoresBusinessProcessorRules.GetDESCUENTOValue: Float;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_Articulos_ProveedoresDESCUENTO];
end;

function TArticulos_ProveedoresBusinessProcessorRules.GetDESCUENTOIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_Articulos_ProveedoresDESCUENTO]);
end;

function TArticulos_ProveedoresBusinessProcessorRules.GetOldDESCUENTOValue: Float;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_Articulos_ProveedoresDESCUENTO];
end;

function TArticulos_ProveedoresBusinessProcessorRules.GetOldDESCUENTOIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_Articulos_ProveedoresDESCUENTO]);
end;

procedure TArticulos_ProveedoresBusinessProcessorRules.SetDESCUENTOValue(const aValue: Float);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_Articulos_ProveedoresDESCUENTO] := aValue;
end;

procedure TArticulos_ProveedoresBusinessProcessorRules.SetDESCUENTOIsNull(const aValue: Boolean);
begin
  if aValue then
    BusinessProcessor.CurrentChange.NewValueByName[fld_Articulos_ProveedoresDESCUENTO] := Null;
end;

function TArticulos_ProveedoresBusinessProcessorRules.GetPRECIO_NETOValue: Currency;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_Articulos_ProveedoresPRECIO_NETO];
end;

function TArticulos_ProveedoresBusinessProcessorRules.GetPRECIO_NETOIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_Articulos_ProveedoresPRECIO_NETO]);
end;

function TArticulos_ProveedoresBusinessProcessorRules.GetOldPRECIO_NETOValue: Currency;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_Articulos_ProveedoresPRECIO_NETO];
end;

function TArticulos_ProveedoresBusinessProcessorRules.GetOldPRECIO_NETOIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_Articulos_ProveedoresPRECIO_NETO]);
end;

procedure TArticulos_ProveedoresBusinessProcessorRules.SetPRECIO_NETOValue(const aValue: Currency);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_Articulos_ProveedoresPRECIO_NETO] := aValue;
end;

procedure TArticulos_ProveedoresBusinessProcessorRules.SetPRECIO_NETOIsNull(const aValue: Boolean);
begin
  if aValue then
    BusinessProcessor.CurrentChange.NewValueByName[fld_Articulos_ProveedoresPRECIO_NETO] := Null;
end;

function TArticulos_ProveedoresBusinessProcessorRules.GetPRECIO_PORTEValue: Currency;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_Articulos_ProveedoresPRECIO_PORTE];
end;

function TArticulos_ProveedoresBusinessProcessorRules.GetPRECIO_PORTEIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_Articulos_ProveedoresPRECIO_PORTE]);
end;

function TArticulos_ProveedoresBusinessProcessorRules.GetOldPRECIO_PORTEValue: Currency;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_Articulos_ProveedoresPRECIO_PORTE];
end;

function TArticulos_ProveedoresBusinessProcessorRules.GetOldPRECIO_PORTEIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_Articulos_ProveedoresPRECIO_PORTE]);
end;

procedure TArticulos_ProveedoresBusinessProcessorRules.SetPRECIO_PORTEValue(const aValue: Currency);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_Articulos_ProveedoresPRECIO_PORTE] := aValue;
end;

procedure TArticulos_ProveedoresBusinessProcessorRules.SetPRECIO_PORTEIsNull(const aValue: Boolean);
begin
  if aValue then
    BusinessProcessor.CurrentChange.NewValueByName[fld_Articulos_ProveedoresPRECIO_PORTE] := Null;
end;

function TArticulos_ProveedoresBusinessProcessorRules.GetPRECIO_PVP_VENTAValue: Currency;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_Articulos_ProveedoresPRECIO_PVP_VENTA];
end;

function TArticulos_ProveedoresBusinessProcessorRules.GetPRECIO_PVP_VENTAIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_Articulos_ProveedoresPRECIO_PVP_VENTA]);
end;

function TArticulos_ProveedoresBusinessProcessorRules.GetOldPRECIO_PVP_VENTAValue: Currency;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_Articulos_ProveedoresPRECIO_PVP_VENTA];
end;

function TArticulos_ProveedoresBusinessProcessorRules.GetOldPRECIO_PVP_VENTAIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_Articulos_ProveedoresPRECIO_PVP_VENTA]);
end;

procedure TArticulos_ProveedoresBusinessProcessorRules.SetPRECIO_PVP_VENTAValue(const aValue: Currency);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_Articulos_ProveedoresPRECIO_PVP_VENTA] := aValue;
end;

procedure TArticulos_ProveedoresBusinessProcessorRules.SetPRECIO_PVP_VENTAIsNull(const aValue: Boolean);
begin
  if aValue then
    BusinessProcessor.CurrentChange.NewValueByName[fld_Articulos_ProveedoresPRECIO_PVP_VENTA] := Null;
end;

function TArticulos_ProveedoresBusinessProcessorRules.GetPRECIO_PVP_TOTALValue: Currency;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_Articulos_ProveedoresPRECIO_PVP_TOTAL];
end;

function TArticulos_ProveedoresBusinessProcessorRules.GetPRECIO_PVP_TOTALIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_Articulos_ProveedoresPRECIO_PVP_TOTAL]);
end;

function TArticulos_ProveedoresBusinessProcessorRules.GetOldPRECIO_PVP_TOTALValue: Currency;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_Articulos_ProveedoresPRECIO_PVP_TOTAL];
end;

function TArticulos_ProveedoresBusinessProcessorRules.GetOldPRECIO_PVP_TOTALIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_Articulos_ProveedoresPRECIO_PVP_TOTAL]);
end;

procedure TArticulos_ProveedoresBusinessProcessorRules.SetPRECIO_PVP_TOTALValue(const aValue: Currency);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_Articulos_ProveedoresPRECIO_PVP_TOTAL] := aValue;
end;

procedure TArticulos_ProveedoresBusinessProcessorRules.SetPRECIO_PVP_TOTALIsNull(const aValue: Boolean);
begin
  if aValue then
    BusinessProcessor.CurrentChange.NewValueByName[fld_Articulos_ProveedoresPRECIO_PVP_TOTAL] := Null;
end;


{ TArticulosBusinessProcessorRules }
constructor TArticulosBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor);
var
  ROStream: TROStream;
begin
  inherited;

  ROStream := TROStream.Create;
  ROStream.OnChange := IMAGEN_OnChange;
  f_IMAGEN := ROStream;
end;

destructor TArticulosBusinessProcessorRules.Destroy;
begin
  inherited;
end;

procedure TArticulosBusinessProcessorRules.IMAGEN_OnChange(Sender: TObject);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosIMAGEN] := VariantBinaryFromBinary((TROStream(Sender) as IROStream).Stream);
end;

function TArticulosBusinessProcessorRules.GetIDValue: Integer;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosID];
end;

function TArticulosBusinessProcessorRules.GetIDIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosID]);
end;

function TArticulosBusinessProcessorRules.GetOldIDValue: Integer;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosID];
end;

function TArticulosBusinessProcessorRules.GetOldIDIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosID]);
end;

procedure TArticulosBusinessProcessorRules.SetIDValue(const aValue: Integer);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosID] := aValue;
end;

procedure TArticulosBusinessProcessorRules.SetIDIsNull(const aValue: Boolean);
begin
  if aValue then
    BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosID] := Null;
end;

function TArticulosBusinessProcessorRules.GetID_EMPRESAValue: Integer;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosID_EMPRESA];
end;

function TArticulosBusinessProcessorRules.GetID_EMPRESAIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosID_EMPRESA]);
end;

function TArticulosBusinessProcessorRules.GetOldID_EMPRESAValue: Integer;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosID_EMPRESA];
end;

function TArticulosBusinessProcessorRules.GetOldID_EMPRESAIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosID_EMPRESA]);
end;

procedure TArticulosBusinessProcessorRules.SetID_EMPRESAValue(const aValue: Integer);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosID_EMPRESA] := aValue;
end;

procedure TArticulosBusinessProcessorRules.SetID_EMPRESAIsNull(const aValue: Boolean);
begin
  if aValue then
    BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosID_EMPRESA] := Null;
end;

function TArticulosBusinessProcessorRules.GetREFERENCIAValue: String;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosREFERENCIA];
end;

function TArticulosBusinessProcessorRules.GetREFERENCIAIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosREFERENCIA]);
end;

function TArticulosBusinessProcessorRules.GetOldREFERENCIAValue: String;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosREFERENCIA];
end;

function TArticulosBusinessProcessorRules.GetOldREFERENCIAIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosREFERENCIA]);
end;

procedure TArticulosBusinessProcessorRules.SetREFERENCIAValue(const aValue: String);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosREFERENCIA] := aValue;
end;

procedure TArticulosBusinessProcessorRules.SetREFERENCIAIsNull(const aValue: Boolean);
begin
  if aValue then
    BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosREFERENCIA] := Null;
end;

function TArticulosBusinessProcessorRules.GetDESCRIPCIONValue: String;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosDESCRIPCION];
end;

function TArticulosBusinessProcessorRules.GetDESCRIPCIONIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosDESCRIPCION]);
end;

function TArticulosBusinessProcessorRules.GetOldDESCRIPCIONValue: String;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosDESCRIPCION];
end;

function TArticulosBusinessProcessorRules.GetOldDESCRIPCIONIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosDESCRIPCION]);
end;

procedure TArticulosBusinessProcessorRules.SetDESCRIPCIONValue(const aValue: String);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosDESCRIPCION] := aValue;
end;

procedure TArticulosBusinessProcessorRules.SetDESCRIPCIONIsNull(const aValue: Boolean);
begin
  if aValue then
    BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosDESCRIPCION] := Null;
end;

function TArticulosBusinessProcessorRules.GetUNIDAD_MEDIDAValue: String;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosUNIDAD_MEDIDA];
end;

function TArticulosBusinessProcessorRules.GetUNIDAD_MEDIDAIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosUNIDAD_MEDIDA]);
end;

function TArticulosBusinessProcessorRules.GetOldUNIDAD_MEDIDAValue: String;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosUNIDAD_MEDIDA];
end;

function TArticulosBusinessProcessorRules.GetOldUNIDAD_MEDIDAIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosUNIDAD_MEDIDA]);
end;

procedure TArticulosBusinessProcessorRules.SetUNIDAD_MEDIDAValue(const aValue: String);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosUNIDAD_MEDIDA] := aValue;
end;

procedure TArticulosBusinessProcessorRules.SetUNIDAD_MEDIDAIsNull(const aValue: Boolean);
begin
  if aValue then
    BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosUNIDAD_MEDIDA] := Null;
end;

function TArticulosBusinessProcessorRules.GetFAMILIAValue: String;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosFAMILIA];
end;

function TArticulosBusinessProcessorRules.GetFAMILIAIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosFAMILIA]);
end;

function TArticulosBusinessProcessorRules.GetOldFAMILIAValue: String;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosFAMILIA];
end;

function TArticulosBusinessProcessorRules.GetOldFAMILIAIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosFAMILIA]);
end;

procedure TArticulosBusinessProcessorRules.SetFAMILIAValue(const aValue: String);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosFAMILIA] := aValue;
end;

procedure TArticulosBusinessProcessorRules.SetFAMILIAIsNull(const aValue: Boolean);
begin
  if aValue then
    BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosFAMILIA] := Null;
end;

function TArticulosBusinessProcessorRules.GetIMAGENValue: IROStream;
begin
  result := f_IMAGEN;
  result.Position := 0;
  if not Result.InUpdateMode then begin
    WriteVariantBinaryToBinary(BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosIMAGEN], result.Stream);
    result.Position := 0;
  end;
end;

function TArticulosBusinessProcessorRules.GetIMAGENIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosIMAGEN]);
end;

function TArticulosBusinessProcessorRules.GetOldIMAGENValue: IROStream;
begin
  result := NewROStream();
  WriteVariantBinaryToBinary(BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosIMAGEN], result.Stream);
end;

function TArticulosBusinessProcessorRules.GetOldIMAGENIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosIMAGEN]);
end;

procedure TArticulosBusinessProcessorRules.SetIMAGENIsNull(const aValue: Boolean);
begin
  if aValue then
    BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosIMAGEN] := Null;
end;

function TArticulosBusinessProcessorRules.GetCOMISIONABLEValue: Integer;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosCOMISIONABLE];
end;

function TArticulosBusinessProcessorRules.GetCOMISIONABLEIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosCOMISIONABLE]);
end;

function TArticulosBusinessProcessorRules.GetOldCOMISIONABLEValue: Integer;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosCOMISIONABLE];
end;

function TArticulosBusinessProcessorRules.GetOldCOMISIONABLEIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosCOMISIONABLE]);
end;

procedure TArticulosBusinessProcessorRules.SetCOMISIONABLEValue(const aValue: Integer);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosCOMISIONABLE] := aValue;
end;

procedure TArticulosBusinessProcessorRules.SetCOMISIONABLEIsNull(const aValue: Boolean);
begin
  if aValue then
    BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosCOMISIONABLE] := Null;
end;

function TArticulosBusinessProcessorRules.GetFECHA_ALTAValue: DateTime;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosFECHA_ALTA];
end;

function TArticulosBusinessProcessorRules.GetFECHA_ALTAIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosFECHA_ALTA]);
end;

function TArticulosBusinessProcessorRules.GetOldFECHA_ALTAValue: DateTime;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosFECHA_ALTA];
end;

function TArticulosBusinessProcessorRules.GetOldFECHA_ALTAIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosFECHA_ALTA]);
end;

procedure TArticulosBusinessProcessorRules.SetFECHA_ALTAValue(const aValue: DateTime);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosFECHA_ALTA] := aValue;
end;

procedure TArticulosBusinessProcessorRules.SetFECHA_ALTAIsNull(const aValue: Boolean);
begin
  if aValue then
    BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosFECHA_ALTA] := Null;
end;

function TArticulosBusinessProcessorRules.GetFECHA_MODIFICACIONValue: DateTime;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosFECHA_MODIFICACION];
end;

function TArticulosBusinessProcessorRules.GetFECHA_MODIFICACIONIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosFECHA_MODIFICACION]);
end;

function TArticulosBusinessProcessorRules.GetOldFECHA_MODIFICACIONValue: DateTime;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosFECHA_MODIFICACION];
end;

function TArticulosBusinessProcessorRules.GetOldFECHA_MODIFICACIONIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosFECHA_MODIFICACION]);
end;

procedure TArticulosBusinessProcessorRules.SetFECHA_MODIFICACIONValue(const aValue: DateTime);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosFECHA_MODIFICACION] := aValue;
end;

procedure TArticulosBusinessProcessorRules.SetFECHA_MODIFICACIONIsNull(const aValue: Boolean);
begin
  if aValue then
    BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosFECHA_MODIFICACION] := Null;
end;

function TArticulosBusinessProcessorRules.GetUSUARIOValue: String;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosUSUARIO];
end;

function TArticulosBusinessProcessorRules.GetUSUARIOIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosUSUARIO]);
end;

function TArticulosBusinessProcessorRules.GetOldUSUARIOValue: String;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosUSUARIO];
end;

function TArticulosBusinessProcessorRules.GetOldUSUARIOIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosUSUARIO]);
end;

procedure TArticulosBusinessProcessorRules.SetUSUARIOValue(const aValue: String);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosUSUARIO] := aValue;
end;

procedure TArticulosBusinessProcessorRules.SetUSUARIOIsNull(const aValue: Boolean);
begin
  if aValue then
    BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosUSUARIO] := Null;
end;

function TArticulosBusinessProcessorRules.GetREFERENCIA_PROVValue: String;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosREFERENCIA_PROV];
end;

function TArticulosBusinessProcessorRules.GetREFERENCIA_PROVIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosREFERENCIA_PROV]);
end;

function TArticulosBusinessProcessorRules.GetOldREFERENCIA_PROVValue: String;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosREFERENCIA_PROV];
end;

function TArticulosBusinessProcessorRules.GetOldREFERENCIA_PROVIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosREFERENCIA_PROV]);
end;

procedure TArticulosBusinessProcessorRules.SetREFERENCIA_PROVValue(const aValue: String);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosREFERENCIA_PROV] := aValue;
end;

procedure TArticulosBusinessProcessorRules.SetREFERENCIA_PROVIsNull(const aValue: Boolean);
begin
  if aValue then
    BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosREFERENCIA_PROV] := Null;
end;

function TArticulosBusinessProcessorRules.GetPRECIO_COSTEValue: Currency;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosPRECIO_COSTE];
end;

function TArticulosBusinessProcessorRules.GetPRECIO_COSTEIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosPRECIO_COSTE]);
end;

function TArticulosBusinessProcessorRules.GetOldPRECIO_COSTEValue: Currency;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosPRECIO_COSTE];
end;

function TArticulosBusinessProcessorRules.GetOldPRECIO_COSTEIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosPRECIO_COSTE]);
end;

procedure TArticulosBusinessProcessorRules.SetPRECIO_COSTEValue(const aValue: Currency);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosPRECIO_COSTE] := aValue;
end;

procedure TArticulosBusinessProcessorRules.SetPRECIO_COSTEIsNull(const aValue: Boolean);
begin
  if aValue then
    BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosPRECIO_COSTE] := Null;
end;

function TArticulosBusinessProcessorRules.GetPRECIO_PORTEValue: Currency;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosPRECIO_PORTE];
end;

function TArticulosBusinessProcessorRules.GetPRECIO_PORTEIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosPRECIO_PORTE]);
end;

function TArticulosBusinessProcessorRules.GetOldPRECIO_PORTEValue: Currency;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosPRECIO_PORTE];
end;

function TArticulosBusinessProcessorRules.GetOldPRECIO_PORTEIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosPRECIO_PORTE]);
end;

procedure TArticulosBusinessProcessorRules.SetPRECIO_PORTEValue(const aValue: Currency);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosPRECIO_PORTE] := aValue;
end;

procedure TArticulosBusinessProcessorRules.SetPRECIO_PORTEIsNull(const aValue: Boolean);
begin
  if aValue then
    BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosPRECIO_PORTE] := Null;
end;

function TArticulosBusinessProcessorRules.GetDESCUENTOValue: Float;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosDESCUENTO];
end;

function TArticulosBusinessProcessorRules.GetDESCUENTOIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosDESCUENTO]);
end;

function TArticulosBusinessProcessorRules.GetOldDESCUENTOValue: Float;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosDESCUENTO];
end;

function TArticulosBusinessProcessorRules.GetOldDESCUENTOIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosDESCUENTO]);
end;

procedure TArticulosBusinessProcessorRules.SetDESCUENTOValue(const aValue: Float);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosDESCUENTO] := aValue;
end;

procedure TArticulosBusinessProcessorRules.SetDESCUENTOIsNull(const aValue: Boolean);
begin
  if aValue then
    BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosDESCUENTO] := Null;
end;

function TArticulosBusinessProcessorRules.GetPRECIO_NETOValue: Currency;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosPRECIO_NETO];
end;

function TArticulosBusinessProcessorRules.GetPRECIO_NETOIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosPRECIO_NETO]);
end;

function TArticulosBusinessProcessorRules.GetOldPRECIO_NETOValue: Currency;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosPRECIO_NETO];
end;

function TArticulosBusinessProcessorRules.GetOldPRECIO_NETOIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosPRECIO_NETO]);
end;

procedure TArticulosBusinessProcessorRules.SetPRECIO_NETOValue(const aValue: Currency);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosPRECIO_NETO] := aValue;
end;

procedure TArticulosBusinessProcessorRules.SetPRECIO_NETOIsNull(const aValue: Boolean);
begin
  if aValue then
    BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosPRECIO_NETO] := Null;
end;

function TArticulosBusinessProcessorRules.GetINVENTARIABLEValue: SmallInt;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosINVENTARIABLE];
end;

function TArticulosBusinessProcessorRules.GetINVENTARIABLEIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosINVENTARIABLE]);
end;

function TArticulosBusinessProcessorRules.GetOldINVENTARIABLEValue: SmallInt;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosINVENTARIABLE];
end;

function TArticulosBusinessProcessorRules.GetOldINVENTARIABLEIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosINVENTARIABLE]);
end;

procedure TArticulosBusinessProcessorRules.SetINVENTARIABLEValue(const aValue: SmallInt);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosINVENTARIABLE] := aValue;
end;

procedure TArticulosBusinessProcessorRules.SetINVENTARIABLEIsNull(const aValue: Boolean);
begin
  if aValue then
    BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosINVENTARIABLE] := Null;
end;

function TArticulosBusinessProcessorRules.GetELIMINADOValue: SmallInt;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosELIMINADO];
end;

function TArticulosBusinessProcessorRules.GetELIMINADOIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosELIMINADO]);
end;

function TArticulosBusinessProcessorRules.GetOldELIMINADOValue: SmallInt;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosELIMINADO];
end;

function TArticulosBusinessProcessorRules.GetOldELIMINADOIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosELIMINADO]);
end;

procedure TArticulosBusinessProcessorRules.SetELIMINADOValue(const aValue: SmallInt);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosELIMINADO] := aValue;
end;

procedure TArticulosBusinessProcessorRules.SetELIMINADOIsNull(const aValue: Boolean);
begin
  if aValue then
    BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosELIMINADO] := Null;
end;

function TArticulosBusinessProcessorRules.GetFABRICANTEValue: String;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosFABRICANTE];
end;

function TArticulosBusinessProcessorRules.GetFABRICANTEIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosFABRICANTE]);
end;

function TArticulosBusinessProcessorRules.GetOldFABRICANTEValue: String;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosFABRICANTE];
end;

function TArticulosBusinessProcessorRules.GetOldFABRICANTEIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosFABRICANTE]);
end;

procedure TArticulosBusinessProcessorRules.SetFABRICANTEValue(const aValue: String);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosFABRICANTE] := aValue;
end;

procedure TArticulosBusinessProcessorRules.SetFABRICANTEIsNull(const aValue: Boolean);
begin
  if aValue then
    BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosFABRICANTE] := Null;
end;

function TArticulosBusinessProcessorRules.GetREFERENCIA_FABRValue: String;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosREFERENCIA_FABR];
end;

function TArticulosBusinessProcessorRules.GetREFERENCIA_FABRIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosREFERENCIA_FABR]);
end;

function TArticulosBusinessProcessorRules.GetOldREFERENCIA_FABRValue: String;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosREFERENCIA_FABR];
end;

function TArticulosBusinessProcessorRules.GetOldREFERENCIA_FABRIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosREFERENCIA_FABR]);
end;

procedure TArticulosBusinessProcessorRules.SetREFERENCIA_FABRValue(const aValue: String);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosREFERENCIA_FABR] := aValue;
end;

procedure TArticulosBusinessProcessorRules.SetREFERENCIA_FABRIsNull(const aValue: Boolean);
begin
  if aValue then
    BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosREFERENCIA_FABR] := Null;
end;

function TArticulosBusinessProcessorRules.GetPARAM_MARGENValue: Float;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosPARAM_MARGEN];
end;

function TArticulosBusinessProcessorRules.GetPARAM_MARGENIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosPARAM_MARGEN]);
end;

function TArticulosBusinessProcessorRules.GetOldPARAM_MARGENValue: Float;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosPARAM_MARGEN];
end;

function TArticulosBusinessProcessorRules.GetOldPARAM_MARGENIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosPARAM_MARGEN]);
end;

procedure TArticulosBusinessProcessorRules.SetPARAM_MARGENValue(const aValue: Float);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosPARAM_MARGEN] := aValue;
end;

procedure TArticulosBusinessProcessorRules.SetPARAM_MARGENIsNull(const aValue: Boolean);
begin
  if aValue then
    BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosPARAM_MARGEN] := Null;
end;

function TArticulosBusinessProcessorRules.GetPRECIO_PVP_VENTAValue: Currency;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosPRECIO_PVP_VENTA];
end;

function TArticulosBusinessProcessorRules.GetPRECIO_PVP_VENTAIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosPRECIO_PVP_VENTA]);
end;

function TArticulosBusinessProcessorRules.GetOldPRECIO_PVP_VENTAValue: Currency;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosPRECIO_PVP_VENTA];
end;

function TArticulosBusinessProcessorRules.GetOldPRECIO_PVP_VENTAIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosPRECIO_PVP_VENTA]);
end;

procedure TArticulosBusinessProcessorRules.SetPRECIO_PVP_VENTAValue(const aValue: Currency);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosPRECIO_PVP_VENTA] := aValue;
end;

procedure TArticulosBusinessProcessorRules.SetPRECIO_PVP_VENTAIsNull(const aValue: Boolean);
begin
  if aValue then
    BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosPRECIO_PVP_VENTA] := Null;
end;

function TArticulosBusinessProcessorRules.GetTIEMPOValue: Integer;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosTIEMPO];
end;

function TArticulosBusinessProcessorRules.GetTIEMPOIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosTIEMPO]);
end;

function TArticulosBusinessProcessorRules.GetOldTIEMPOValue: Integer;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosTIEMPO];
end;

function TArticulosBusinessProcessorRules.GetOldTIEMPOIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosTIEMPO]);
end;

procedure TArticulosBusinessProcessorRules.SetTIEMPOValue(const aValue: Integer);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosTIEMPO] := aValue;
end;

procedure TArticulosBusinessProcessorRules.SetTIEMPOIsNull(const aValue: Boolean);
begin
  if aValue then
    BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosTIEMPO] := Null;
end;

function TArticulosBusinessProcessorRules.GetPARAM_TIEMPOValue: Float;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosPARAM_TIEMPO];
end;

function TArticulosBusinessProcessorRules.GetPARAM_TIEMPOIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosPARAM_TIEMPO]);
end;

function TArticulosBusinessProcessorRules.GetOldPARAM_TIEMPOValue: Float;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosPARAM_TIEMPO];
end;

function TArticulosBusinessProcessorRules.GetOldPARAM_TIEMPOIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosPARAM_TIEMPO]);
end;

procedure TArticulosBusinessProcessorRules.SetPARAM_TIEMPOValue(const aValue: Float);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosPARAM_TIEMPO] := aValue;
end;

procedure TArticulosBusinessProcessorRules.SetPARAM_TIEMPOIsNull(const aValue: Boolean);
begin
  if aValue then
    BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosPARAM_TIEMPO] := Null;
end;

function TArticulosBusinessProcessorRules.GetMANO_OBRAValue: Currency;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosMANO_OBRA];
end;

function TArticulosBusinessProcessorRules.GetMANO_OBRAIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosMANO_OBRA]);
end;

function TArticulosBusinessProcessorRules.GetOldMANO_OBRAValue: Currency;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosMANO_OBRA];
end;

function TArticulosBusinessProcessorRules.GetOldMANO_OBRAIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosMANO_OBRA]);
end;

procedure TArticulosBusinessProcessorRules.SetMANO_OBRAValue(const aValue: Currency);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosMANO_OBRA] := aValue;
end;

procedure TArticulosBusinessProcessorRules.SetMANO_OBRAIsNull(const aValue: Boolean);
begin
  if aValue then
    BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosMANO_OBRA] := Null;
end;

function TArticulosBusinessProcessorRules.GetPRECIO_PVP_TOTALValue: Currency;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosPRECIO_PVP_TOTAL];
end;

function TArticulosBusinessProcessorRules.GetPRECIO_PVP_TOTALIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosPRECIO_PVP_TOTAL]);
end;

function TArticulosBusinessProcessorRules.GetOldPRECIO_PVP_TOTALValue: Currency;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosPRECIO_PVP_TOTAL];
end;

function TArticulosBusinessProcessorRules.GetOldPRECIO_PVP_TOTALIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosPRECIO_PVP_TOTAL]);
end;

procedure TArticulosBusinessProcessorRules.SetPRECIO_PVP_TOTALValue(const aValue: Currency);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosPRECIO_PVP_TOTAL] := aValue;
end;

procedure TArticulosBusinessProcessorRules.SetPRECIO_PVP_TOTALIsNull(const aValue: Boolean);
begin
  if aValue then
    BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosPRECIO_PVP_TOTAL] := Null;
end;


{ TArticulosParaCompraBusinessProcessorRules }
constructor TArticulosParaCompraBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor);
var
  ROStream: TROStream;
begin
  inherited;

  ROStream := TROStream.Create;
  ROStream.OnChange := IMAGEN_OnChange;
  f_IMAGEN := ROStream;
end;

destructor TArticulosParaCompraBusinessProcessorRules.Destroy;
begin
  inherited;
end;

procedure TArticulosParaCompraBusinessProcessorRules.IMAGEN_OnChange(Sender: TObject);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraIMAGEN] := VariantBinaryFromBinary((TROStream(Sender) as IROStream).Stream);
end;

function TArticulosParaCompraBusinessProcessorRules.GetIDValue: Integer;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraID];
end;

function TArticulosParaCompraBusinessProcessorRules.GetIDIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraID]);
end;

function TArticulosParaCompraBusinessProcessorRules.GetOldIDValue: Integer;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaCompraID];
end;

function TArticulosParaCompraBusinessProcessorRules.GetOldIDIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaCompraID]);
end;

procedure TArticulosParaCompraBusinessProcessorRules.SetIDValue(const aValue: Integer);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraID] := aValue;
end;

procedure TArticulosParaCompraBusinessProcessorRules.SetIDIsNull(const aValue: Boolean);
begin
  if aValue then
    BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraID] := Null;
end;

function TArticulosParaCompraBusinessProcessorRules.GetID_EMPRESAValue: Integer;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraID_EMPRESA];
end;

function TArticulosParaCompraBusinessProcessorRules.GetID_EMPRESAIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraID_EMPRESA]);
end;

function TArticulosParaCompraBusinessProcessorRules.GetOldID_EMPRESAValue: Integer;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaCompraID_EMPRESA];
end;

function TArticulosParaCompraBusinessProcessorRules.GetOldID_EMPRESAIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaCompraID_EMPRESA]);
end;

procedure TArticulosParaCompraBusinessProcessorRules.SetID_EMPRESAValue(const aValue: Integer);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraID_EMPRESA] := aValue;
end;

procedure TArticulosParaCompraBusinessProcessorRules.SetID_EMPRESAIsNull(const aValue: Boolean);
begin
  if aValue then
    BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraID_EMPRESA] := Null;
end;

function TArticulosParaCompraBusinessProcessorRules.GetREFERENCIAValue: String;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraREFERENCIA];
end;

function TArticulosParaCompraBusinessProcessorRules.GetREFERENCIAIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraREFERENCIA]);
end;

function TArticulosParaCompraBusinessProcessorRules.GetOldREFERENCIAValue: String;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaCompraREFERENCIA];
end;

function TArticulosParaCompraBusinessProcessorRules.GetOldREFERENCIAIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaCompraREFERENCIA]);
end;

procedure TArticulosParaCompraBusinessProcessorRules.SetREFERENCIAValue(const aValue: String);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraREFERENCIA] := aValue;
end;

procedure TArticulosParaCompraBusinessProcessorRules.SetREFERENCIAIsNull(const aValue: Boolean);
begin
  if aValue then
    BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraREFERENCIA] := Null;
end;

function TArticulosParaCompraBusinessProcessorRules.GetDESCRIPCIONValue: String;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraDESCRIPCION];
end;

function TArticulosParaCompraBusinessProcessorRules.GetDESCRIPCIONIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraDESCRIPCION]);
end;

function TArticulosParaCompraBusinessProcessorRules.GetOldDESCRIPCIONValue: String;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaCompraDESCRIPCION];
end;

function TArticulosParaCompraBusinessProcessorRules.GetOldDESCRIPCIONIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaCompraDESCRIPCION]);
end;

procedure TArticulosParaCompraBusinessProcessorRules.SetDESCRIPCIONValue(const aValue: String);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraDESCRIPCION] := aValue;
end;

procedure TArticulosParaCompraBusinessProcessorRules.SetDESCRIPCIONIsNull(const aValue: Boolean);
begin
  if aValue then
    BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraDESCRIPCION] := Null;
end;

function TArticulosParaCompraBusinessProcessorRules.GetUNIDAD_MEDIDAValue: String;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraUNIDAD_MEDIDA];
end;

function TArticulosParaCompraBusinessProcessorRules.GetUNIDAD_MEDIDAIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraUNIDAD_MEDIDA]);
end;

function TArticulosParaCompraBusinessProcessorRules.GetOldUNIDAD_MEDIDAValue: String;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaCompraUNIDAD_MEDIDA];
end;

function TArticulosParaCompraBusinessProcessorRules.GetOldUNIDAD_MEDIDAIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaCompraUNIDAD_MEDIDA]);
end;

procedure TArticulosParaCompraBusinessProcessorRules.SetUNIDAD_MEDIDAValue(const aValue: String);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraUNIDAD_MEDIDA] := aValue;
end;

procedure TArticulosParaCompraBusinessProcessorRules.SetUNIDAD_MEDIDAIsNull(const aValue: Boolean);
begin
  if aValue then
    BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraUNIDAD_MEDIDA] := Null;
end;

function TArticulosParaCompraBusinessProcessorRules.GetFAMILIAValue: String;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraFAMILIA];
end;

function TArticulosParaCompraBusinessProcessorRules.GetFAMILIAIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraFAMILIA]);
end;

function TArticulosParaCompraBusinessProcessorRules.GetOldFAMILIAValue: String;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaCompraFAMILIA];
end;

function TArticulosParaCompraBusinessProcessorRules.GetOldFAMILIAIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaCompraFAMILIA]);
end;

procedure TArticulosParaCompraBusinessProcessorRules.SetFAMILIAValue(const aValue: String);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraFAMILIA] := aValue;
end;

procedure TArticulosParaCompraBusinessProcessorRules.SetFAMILIAIsNull(const aValue: Boolean);
begin
  if aValue then
    BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraFAMILIA] := Null;
end;

function TArticulosParaCompraBusinessProcessorRules.GetIMAGENValue: IROStream;
begin
  result := f_IMAGEN;
  result.Position := 0;
  if not Result.InUpdateMode then begin
    WriteVariantBinaryToBinary(BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraIMAGEN], result.Stream);
    result.Position := 0;
  end;
end;

function TArticulosParaCompraBusinessProcessorRules.GetIMAGENIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraIMAGEN]);
end;

function TArticulosParaCompraBusinessProcessorRules.GetOldIMAGENValue: IROStream;
begin
  result := NewROStream();
  WriteVariantBinaryToBinary(BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaCompraIMAGEN], result.Stream);
end;

function TArticulosParaCompraBusinessProcessorRules.GetOldIMAGENIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaCompraIMAGEN]);
end;

procedure TArticulosParaCompraBusinessProcessorRules.SetIMAGENIsNull(const aValue: Boolean);
begin
  if aValue then
    BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraIMAGEN] := Null;
end;

function TArticulosParaCompraBusinessProcessorRules.GetCOMISIONABLEValue: Integer;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraCOMISIONABLE];
end;

function TArticulosParaCompraBusinessProcessorRules.GetCOMISIONABLEIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraCOMISIONABLE]);
end;

function TArticulosParaCompraBusinessProcessorRules.GetOldCOMISIONABLEValue: Integer;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaCompraCOMISIONABLE];
end;

function TArticulosParaCompraBusinessProcessorRules.GetOldCOMISIONABLEIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaCompraCOMISIONABLE]);
end;

procedure TArticulosParaCompraBusinessProcessorRules.SetCOMISIONABLEValue(const aValue: Integer);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraCOMISIONABLE] := aValue;
end;

procedure TArticulosParaCompraBusinessProcessorRules.SetCOMISIONABLEIsNull(const aValue: Boolean);
begin
  if aValue then
    BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraCOMISIONABLE] := Null;
end;

function TArticulosParaCompraBusinessProcessorRules.GetFECHA_ALTAValue: DateTime;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraFECHA_ALTA];
end;

function TArticulosParaCompraBusinessProcessorRules.GetFECHA_ALTAIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraFECHA_ALTA]);
end;

function TArticulosParaCompraBusinessProcessorRules.GetOldFECHA_ALTAValue: DateTime;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaCompraFECHA_ALTA];
end;

function TArticulosParaCompraBusinessProcessorRules.GetOldFECHA_ALTAIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaCompraFECHA_ALTA]);
end;

procedure TArticulosParaCompraBusinessProcessorRules.SetFECHA_ALTAValue(const aValue: DateTime);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraFECHA_ALTA] := aValue;
end;

procedure TArticulosParaCompraBusinessProcessorRules.SetFECHA_ALTAIsNull(const aValue: Boolean);
begin
  if aValue then
    BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraFECHA_ALTA] := Null;
end;

function TArticulosParaCompraBusinessProcessorRules.GetFECHA_MODIFICACIONValue: DateTime;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraFECHA_MODIFICACION];
end;

function TArticulosParaCompraBusinessProcessorRules.GetFECHA_MODIFICACIONIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraFECHA_MODIFICACION]);
end;

function TArticulosParaCompraBusinessProcessorRules.GetOldFECHA_MODIFICACIONValue: DateTime;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaCompraFECHA_MODIFICACION];
end;

function TArticulosParaCompraBusinessProcessorRules.GetOldFECHA_MODIFICACIONIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaCompraFECHA_MODIFICACION]);
end;

procedure TArticulosParaCompraBusinessProcessorRules.SetFECHA_MODIFICACIONValue(const aValue: DateTime);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraFECHA_MODIFICACION] := aValue;
end;

procedure TArticulosParaCompraBusinessProcessorRules.SetFECHA_MODIFICACIONIsNull(const aValue: Boolean);
begin
  if aValue then
    BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraFECHA_MODIFICACION] := Null;
end;

function TArticulosParaCompraBusinessProcessorRules.GetUSUARIOValue: String;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraUSUARIO];
end;

function TArticulosParaCompraBusinessProcessorRules.GetUSUARIOIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraUSUARIO]);
end;

function TArticulosParaCompraBusinessProcessorRules.GetOldUSUARIOValue: String;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaCompraUSUARIO];
end;

function TArticulosParaCompraBusinessProcessorRules.GetOldUSUARIOIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaCompraUSUARIO]);
end;

procedure TArticulosParaCompraBusinessProcessorRules.SetUSUARIOValue(const aValue: String);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraUSUARIO] := aValue;
end;

procedure TArticulosParaCompraBusinessProcessorRules.SetUSUARIOIsNull(const aValue: Boolean);
begin
  if aValue then
    BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraUSUARIO] := Null;
end;

function TArticulosParaCompraBusinessProcessorRules.GetREFERENCIA_PROVValue: String;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraREFERENCIA_PROV];
end;

function TArticulosParaCompraBusinessProcessorRules.GetREFERENCIA_PROVIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraREFERENCIA_PROV]);
end;

function TArticulosParaCompraBusinessProcessorRules.GetOldREFERENCIA_PROVValue: String;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaCompraREFERENCIA_PROV];
end;

function TArticulosParaCompraBusinessProcessorRules.GetOldREFERENCIA_PROVIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaCompraREFERENCIA_PROV]);
end;

procedure TArticulosParaCompraBusinessProcessorRules.SetREFERENCIA_PROVValue(const aValue: String);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraREFERENCIA_PROV] := aValue;
end;

procedure TArticulosParaCompraBusinessProcessorRules.SetREFERENCIA_PROVIsNull(const aValue: Boolean);
begin
  if aValue then
    BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraREFERENCIA_PROV] := Null;
end;

function TArticulosParaCompraBusinessProcessorRules.GetPRECIO_COSTEValue: Currency;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraPRECIO_COSTE];
end;

function TArticulosParaCompraBusinessProcessorRules.GetPRECIO_COSTEIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraPRECIO_COSTE]);
end;

function TArticulosParaCompraBusinessProcessorRules.GetOldPRECIO_COSTEValue: Currency;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaCompraPRECIO_COSTE];
end;

function TArticulosParaCompraBusinessProcessorRules.GetOldPRECIO_COSTEIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaCompraPRECIO_COSTE]);
end;

procedure TArticulosParaCompraBusinessProcessorRules.SetPRECIO_COSTEValue(const aValue: Currency);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraPRECIO_COSTE] := aValue;
end;

procedure TArticulosParaCompraBusinessProcessorRules.SetPRECIO_COSTEIsNull(const aValue: Boolean);
begin
  if aValue then
    BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraPRECIO_COSTE] := Null;
end;

function TArticulosParaCompraBusinessProcessorRules.GetPRECIO_PORTEValue: Currency;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraPRECIO_PORTE];
end;

function TArticulosParaCompraBusinessProcessorRules.GetPRECIO_PORTEIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraPRECIO_PORTE]);
end;

function TArticulosParaCompraBusinessProcessorRules.GetOldPRECIO_PORTEValue: Currency;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaCompraPRECIO_PORTE];
end;

function TArticulosParaCompraBusinessProcessorRules.GetOldPRECIO_PORTEIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaCompraPRECIO_PORTE]);
end;

procedure TArticulosParaCompraBusinessProcessorRules.SetPRECIO_PORTEValue(const aValue: Currency);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraPRECIO_PORTE] := aValue;
end;

procedure TArticulosParaCompraBusinessProcessorRules.SetPRECIO_PORTEIsNull(const aValue: Boolean);
begin
  if aValue then
    BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraPRECIO_PORTE] := Null;
end;

function TArticulosParaCompraBusinessProcessorRules.GetDESCUENTOValue: Float;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraDESCUENTO];
end;

function TArticulosParaCompraBusinessProcessorRules.GetDESCUENTOIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraDESCUENTO]);
end;

function TArticulosParaCompraBusinessProcessorRules.GetOldDESCUENTOValue: Float;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaCompraDESCUENTO];
end;

function TArticulosParaCompraBusinessProcessorRules.GetOldDESCUENTOIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaCompraDESCUENTO]);
end;

procedure TArticulosParaCompraBusinessProcessorRules.SetDESCUENTOValue(const aValue: Float);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraDESCUENTO] := aValue;
end;

procedure TArticulosParaCompraBusinessProcessorRules.SetDESCUENTOIsNull(const aValue: Boolean);
begin
  if aValue then
    BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraDESCUENTO] := Null;
end;

function TArticulosParaCompraBusinessProcessorRules.GetPRECIO_NETOValue: Currency;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraPRECIO_NETO];
end;

function TArticulosParaCompraBusinessProcessorRules.GetPRECIO_NETOIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraPRECIO_NETO]);
end;

function TArticulosParaCompraBusinessProcessorRules.GetOldPRECIO_NETOValue: Currency;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaCompraPRECIO_NETO];
end;

function TArticulosParaCompraBusinessProcessorRules.GetOldPRECIO_NETOIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaCompraPRECIO_NETO]);
end;

procedure TArticulosParaCompraBusinessProcessorRules.SetPRECIO_NETOValue(const aValue: Currency);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraPRECIO_NETO] := aValue;
end;

procedure TArticulosParaCompraBusinessProcessorRules.SetPRECIO_NETOIsNull(const aValue: Boolean);
begin
  if aValue then
    BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraPRECIO_NETO] := Null;
end;

function TArticulosParaCompraBusinessProcessorRules.GetINVENTARIABLEValue: SmallInt;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraINVENTARIABLE];
end;

function TArticulosParaCompraBusinessProcessorRules.GetINVENTARIABLEIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraINVENTARIABLE]);
end;

function TArticulosParaCompraBusinessProcessorRules.GetOldINVENTARIABLEValue: SmallInt;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaCompraINVENTARIABLE];
end;

function TArticulosParaCompraBusinessProcessorRules.GetOldINVENTARIABLEIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaCompraINVENTARIABLE]);
end;

procedure TArticulosParaCompraBusinessProcessorRules.SetINVENTARIABLEValue(const aValue: SmallInt);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraINVENTARIABLE] := aValue;
end;

procedure TArticulosParaCompraBusinessProcessorRules.SetINVENTARIABLEIsNull(const aValue: Boolean);
begin
  if aValue then
    BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraINVENTARIABLE] := Null;
end;

function TArticulosParaCompraBusinessProcessorRules.GetID_PROVEEDORValue: Integer;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraID_PROVEEDOR];
end;

function TArticulosParaCompraBusinessProcessorRules.GetID_PROVEEDORIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraID_PROVEEDOR]);
end;

function TArticulosParaCompraBusinessProcessorRules.GetOldID_PROVEEDORValue: Integer;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaCompraID_PROVEEDOR];
end;

function TArticulosParaCompraBusinessProcessorRules.GetOldID_PROVEEDORIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaCompraID_PROVEEDOR]);
end;

procedure TArticulosParaCompraBusinessProcessorRules.SetID_PROVEEDORValue(const aValue: Integer);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraID_PROVEEDOR] := aValue;
end;

procedure TArticulosParaCompraBusinessProcessorRules.SetID_PROVEEDORIsNull(const aValue: Boolean);
begin
  if aValue then
    BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraID_PROVEEDOR] := Null;
end;

function TArticulosParaCompraBusinessProcessorRules.GetNOMBRE_PROVEEDORValue: String;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraNOMBRE_PROVEEDOR];
end;

function TArticulosParaCompraBusinessProcessorRules.GetNOMBRE_PROVEEDORIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraNOMBRE_PROVEEDOR]);
end;

function TArticulosParaCompraBusinessProcessorRules.GetOldNOMBRE_PROVEEDORValue: String;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaCompraNOMBRE_PROVEEDOR];
end;

function TArticulosParaCompraBusinessProcessorRules.GetOldNOMBRE_PROVEEDORIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaCompraNOMBRE_PROVEEDOR]);
end;

procedure TArticulosParaCompraBusinessProcessorRules.SetNOMBRE_PROVEEDORValue(const aValue: String);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraNOMBRE_PROVEEDOR] := aValue;
end;

procedure TArticulosParaCompraBusinessProcessorRules.SetNOMBRE_PROVEEDORIsNull(const aValue: Boolean);
begin
  if aValue then
    BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraNOMBRE_PROVEEDOR] := Null;
end;

function TArticulosParaCompraBusinessProcessorRules.GetELIMINADOValue: SmallInt;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraELIMINADO];
end;

function TArticulosParaCompraBusinessProcessorRules.GetELIMINADOIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraELIMINADO]);
end;

function TArticulosParaCompraBusinessProcessorRules.GetOldELIMINADOValue: SmallInt;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaCompraELIMINADO];
end;

function TArticulosParaCompraBusinessProcessorRules.GetOldELIMINADOIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaCompraELIMINADO]);
end;

procedure TArticulosParaCompraBusinessProcessorRules.SetELIMINADOValue(const aValue: SmallInt);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraELIMINADO] := aValue;
end;

procedure TArticulosParaCompraBusinessProcessorRules.SetELIMINADOIsNull(const aValue: Boolean);
begin
  if aValue then
    BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraELIMINADO] := Null;
end;

function TArticulosParaCompraBusinessProcessorRules.GetFABRICANTEValue: String;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraFABRICANTE];
end;

function TArticulosParaCompraBusinessProcessorRules.GetFABRICANTEIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraFABRICANTE]);
end;

function TArticulosParaCompraBusinessProcessorRules.GetOldFABRICANTEValue: String;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaCompraFABRICANTE];
end;

function TArticulosParaCompraBusinessProcessorRules.GetOldFABRICANTEIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaCompraFABRICANTE]);
end;

procedure TArticulosParaCompraBusinessProcessorRules.SetFABRICANTEValue(const aValue: String);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraFABRICANTE] := aValue;
end;

procedure TArticulosParaCompraBusinessProcessorRules.SetFABRICANTEIsNull(const aValue: Boolean);
begin
  if aValue then
    BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraFABRICANTE] := Null;
end;

function TArticulosParaCompraBusinessProcessorRules.GetREFERENCIA_FABRValue: String;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraREFERENCIA_FABR];
end;

function TArticulosParaCompraBusinessProcessorRules.GetREFERENCIA_FABRIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraREFERENCIA_FABR]);
end;

function TArticulosParaCompraBusinessProcessorRules.GetOldREFERENCIA_FABRValue: String;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaCompraREFERENCIA_FABR];
end;

function TArticulosParaCompraBusinessProcessorRules.GetOldREFERENCIA_FABRIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaCompraREFERENCIA_FABR]);
end;

procedure TArticulosParaCompraBusinessProcessorRules.SetREFERENCIA_FABRValue(const aValue: String);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraREFERENCIA_FABR] := aValue;
end;

procedure TArticulosParaCompraBusinessProcessorRules.SetREFERENCIA_FABRIsNull(const aValue: Boolean);
begin
  if aValue then
    BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraREFERENCIA_FABR] := Null;
end;

function TArticulosParaCompraBusinessProcessorRules.GetPARAM_MARGENValue: Float;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraPARAM_MARGEN];
end;

function TArticulosParaCompraBusinessProcessorRules.GetPARAM_MARGENIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraPARAM_MARGEN]);
end;

function TArticulosParaCompraBusinessProcessorRules.GetOldPARAM_MARGENValue: Float;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaCompraPARAM_MARGEN];
end;

function TArticulosParaCompraBusinessProcessorRules.GetOldPARAM_MARGENIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaCompraPARAM_MARGEN]);
end;

procedure TArticulosParaCompraBusinessProcessorRules.SetPARAM_MARGENValue(const aValue: Float);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraPARAM_MARGEN] := aValue;
end;

procedure TArticulosParaCompraBusinessProcessorRules.SetPARAM_MARGENIsNull(const aValue: Boolean);
begin
  if aValue then
    BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraPARAM_MARGEN] := Null;
end;

function TArticulosParaCompraBusinessProcessorRules.GetPRECIO_PVP_VENTAValue: Currency;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraPRECIO_PVP_VENTA];
end;

function TArticulosParaCompraBusinessProcessorRules.GetPRECIO_PVP_VENTAIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraPRECIO_PVP_VENTA]);
end;

function TArticulosParaCompraBusinessProcessorRules.GetOldPRECIO_PVP_VENTAValue: Currency;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaCompraPRECIO_PVP_VENTA];
end;

function TArticulosParaCompraBusinessProcessorRules.GetOldPRECIO_PVP_VENTAIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaCompraPRECIO_PVP_VENTA]);
end;

procedure TArticulosParaCompraBusinessProcessorRules.SetPRECIO_PVP_VENTAValue(const aValue: Currency);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraPRECIO_PVP_VENTA] := aValue;
end;

procedure TArticulosParaCompraBusinessProcessorRules.SetPRECIO_PVP_VENTAIsNull(const aValue: Boolean);
begin
  if aValue then
    BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraPRECIO_PVP_VENTA] := Null;
end;

function TArticulosParaCompraBusinessProcessorRules.GetTIEMPOValue: Integer;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraTIEMPO];
end;

function TArticulosParaCompraBusinessProcessorRules.GetTIEMPOIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraTIEMPO]);
end;

function TArticulosParaCompraBusinessProcessorRules.GetOldTIEMPOValue: Integer;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaCompraTIEMPO];
end;

function TArticulosParaCompraBusinessProcessorRules.GetOldTIEMPOIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaCompraTIEMPO]);
end;

procedure TArticulosParaCompraBusinessProcessorRules.SetTIEMPOValue(const aValue: Integer);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraTIEMPO] := aValue;
end;

procedure TArticulosParaCompraBusinessProcessorRules.SetTIEMPOIsNull(const aValue: Boolean);
begin
  if aValue then
    BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraTIEMPO] := Null;
end;

function TArticulosParaCompraBusinessProcessorRules.GetPARAM_TIEMPOValue: Float;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraPARAM_TIEMPO];
end;

function TArticulosParaCompraBusinessProcessorRules.GetPARAM_TIEMPOIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraPARAM_TIEMPO]);
end;

function TArticulosParaCompraBusinessProcessorRules.GetOldPARAM_TIEMPOValue: Float;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaCompraPARAM_TIEMPO];
end;

function TArticulosParaCompraBusinessProcessorRules.GetOldPARAM_TIEMPOIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaCompraPARAM_TIEMPO]);
end;

procedure TArticulosParaCompraBusinessProcessorRules.SetPARAM_TIEMPOValue(const aValue: Float);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraPARAM_TIEMPO] := aValue;
end;

procedure TArticulosParaCompraBusinessProcessorRules.SetPARAM_TIEMPOIsNull(const aValue: Boolean);
begin
  if aValue then
    BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraPARAM_TIEMPO] := Null;
end;

function TArticulosParaCompraBusinessProcessorRules.GetMANO_OBRAValue: Currency;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraMANO_OBRA];
end;

function TArticulosParaCompraBusinessProcessorRules.GetMANO_OBRAIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraMANO_OBRA]);
end;

function TArticulosParaCompraBusinessProcessorRules.GetOldMANO_OBRAValue: Currency;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaCompraMANO_OBRA];
end;

function TArticulosParaCompraBusinessProcessorRules.GetOldMANO_OBRAIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaCompraMANO_OBRA]);
end;

procedure TArticulosParaCompraBusinessProcessorRules.SetMANO_OBRAValue(const aValue: Currency);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraMANO_OBRA] := aValue;
end;

procedure TArticulosParaCompraBusinessProcessorRules.SetMANO_OBRAIsNull(const aValue: Boolean);
begin
  if aValue then
    BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraMANO_OBRA] := Null;
end;

function TArticulosParaCompraBusinessProcessorRules.GetPRECIO_PVP_TOTALValue: Currency;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraPRECIO_PVP_TOTAL];
end;

function TArticulosParaCompraBusinessProcessorRules.GetPRECIO_PVP_TOTALIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraPRECIO_PVP_TOTAL]);
end;

function TArticulosParaCompraBusinessProcessorRules.GetOldPRECIO_PVP_TOTALValue: Currency;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaCompraPRECIO_PVP_TOTAL];
end;

function TArticulosParaCompraBusinessProcessorRules.GetOldPRECIO_PVP_TOTALIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaCompraPRECIO_PVP_TOTAL]);
end;

procedure TArticulosParaCompraBusinessProcessorRules.SetPRECIO_PVP_TOTALValue(const aValue: Currency);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraPRECIO_PVP_TOTAL] := aValue;
end;

procedure TArticulosParaCompraBusinessProcessorRules.SetPRECIO_PVP_TOTALIsNull(const aValue: Boolean);
begin
  if aValue then
    BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraPRECIO_PVP_TOTAL] := Null;
end;

function TArticulosParaCompraBusinessProcessorRules.GetID_ARTICULOValue: Integer;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraID_ARTICULO];
end;

function TArticulosParaCompraBusinessProcessorRules.GetID_ARTICULOIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraID_ARTICULO]);
end;

function TArticulosParaCompraBusinessProcessorRules.GetOldID_ARTICULOValue: Integer;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaCompraID_ARTICULO];
end;

function TArticulosParaCompraBusinessProcessorRules.GetOldID_ARTICULOIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaCompraID_ARTICULO]);
end;

procedure TArticulosParaCompraBusinessProcessorRules.SetID_ARTICULOValue(const aValue: Integer);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraID_ARTICULO] := aValue;
end;

procedure TArticulosParaCompraBusinessProcessorRules.SetID_ARTICULOIsNull(const aValue: Boolean);
begin
  if aValue then
    BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraID_ARTICULO] := Null;
end;


initialization
  RegisterBusinessProcessorRules(RID_ProveedoresConArticulosDelta, TProveedoresConArticulosBusinessProcessorRules);
  RegisterBusinessProcessorRules(RID_Articulos_ProveedoresDelta, TArticulos_ProveedoresBusinessProcessorRules);
  RegisterBusinessProcessorRules(RID_ArticulosDelta, TArticulosBusinessProcessorRules);
  RegisterBusinessProcessorRules(RID_ArticulosParaCompraDelta, TArticulosParaCompraBusinessProcessorRules);

end.
