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_ExisteImagenDelta = '{6AAD9495-D1DC-4BD5-8DE8-AFF266BC6501}';
  RID_ArticulosDelta = '{D24AF9A2-3AED-4094-B870-1F3DBA7677F8}';
  RID_ArticulosParaClienteDelta = '{2EAA9D80-3FE0-45F6-A1E2-A725762EE394}';

type
  { IExisteImagenDelta }
  IExisteImagenDelta = interface(IExisteImagen)
  ['{6AAD9495-D1DC-4BD5-8DE8-AFF266BC6501}']
    { Property getters and setters }
    function GetOldIDValue : Integer;

    { Properties }
    property OldID : Integer read GetOldIDValue;
  end;

  { TExisteImagenBusinessProcessorRules }
  TExisteImagenBusinessProcessorRules = class(TDABusinessProcessorRules, IExisteImagen, IExisteImagenDelta)
  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;

    { 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;

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

  end;

  { IArticulosDelta }
  IArticulosDelta = interface(IArticulos)
  ['{D24AF9A2-3AED-4094-B870-1F3DBA7677F8}']
    { Property getters and setters }
    function GetOldIDValue : Integer;
    function GetOldID_EMPRESAValue : Integer;
    function GetOldREFERENCIAValue : String;
    function GetOldDESCRIPCIONValue : 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 GetOldPRECIO_PVPValue : Currency;
    function GetOldINVENTARIABLEValue : SmallInt;
    function GetOldID_PROVEEDORValue : Integer;
    function GetOldNOMBRE_PROVEEDORValue : String;
    function GetOldELIMINADOValue : SmallInt;

    { Properties }
    property OldID : Integer read GetOldIDValue;
    property OldID_EMPRESA : Integer read GetOldID_EMPRESAValue;
    property OldREFERENCIA : String read GetOldREFERENCIAValue;
    property OldDESCRIPCION : String read GetOldDESCRIPCIONValue;
    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 OldPRECIO_PVP : Currency read GetOldPRECIO_PVPValue;
    property OldINVENTARIABLE : SmallInt read GetOldINVENTARIABLEValue;
    property OldID_PROVEEDOR : Integer read GetOldID_PROVEEDORValue;
    property OldNOMBRE_PROVEEDOR : String read GetOldNOMBRE_PROVEEDORValue;
    property OldELIMINADO : SmallInt read GetOldELIMINADOValue;
  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 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 GetPRECIO_PVPValue: Currency; virtual;
    function GetPRECIO_PVPIsNull: Boolean; virtual;
    function GetOldPRECIO_PVPValue: Currency; virtual;
    function GetOldPRECIO_PVPIsNull: Boolean; virtual;
    procedure SetPRECIO_PVPValue(const aValue: Currency); virtual;
    procedure SetPRECIO_PVPIsNull(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;

    { 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 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 PRECIO_PVP : Currency read GetPRECIO_PVPValue write SetPRECIO_PVPValue;
    property PRECIO_PVPIsNull : Boolean read GetPRECIO_PVPIsNull write SetPRECIO_PVPIsNull;
    property OldPRECIO_PVP : Currency read GetOldPRECIO_PVPValue;
    property OldPRECIO_PVPIsNull : Boolean read GetOldPRECIO_PVPIsNull;
    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;

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

  end;

  { IArticulosParaClienteDelta }
  IArticulosParaClienteDelta = interface(IArticulosParaCliente)
  ['{2EAA9D80-3FE0-45F6-A1E2-A725762EE394}']
    { Property getters and setters }
    function GetOldIDValue : Integer;
    function GetOldID_EMPRESAValue : Integer;
    function GetOldREFERENCIAValue : String;
    function GetOldDESCRIPCIONValue : String;
    function GetOldFAMILIAValue : String;
    function GetOldIMAGENValue : IROStream;
    function GetOldCOMISIONABLEValue : SmallInt;
    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 GetOldPRECIO_PVPValue : Currency;
    function GetOldINVENTARIABLEValue : SmallInt;
    function GetOldID_PROVEEDORValue : Integer;
    function GetOldNOMBRE_PROVEEDORValue : String;
    function GetOldELIMINADOValue : SmallInt;

    { Properties }
    property OldID : Integer read GetOldIDValue;
    property OldID_EMPRESA : Integer read GetOldID_EMPRESAValue;
    property OldREFERENCIA : String read GetOldREFERENCIAValue;
    property OldDESCRIPCION : String read GetOldDESCRIPCIONValue;
    property OldFAMILIA : String read GetOldFAMILIAValue;
    property OldIMAGEN : IROStream read GetOldIMAGENValue;
    property OldCOMISIONABLE : SmallInt 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 OldPRECIO_PVP : Currency read GetOldPRECIO_PVPValue;
    property OldINVENTARIABLE : SmallInt read GetOldINVENTARIABLEValue;
    property OldID_PROVEEDOR : Integer read GetOldID_PROVEEDORValue;
    property OldNOMBRE_PROVEEDOR : String read GetOldNOMBRE_PROVEEDORValue;
    property OldELIMINADO : SmallInt read GetOldELIMINADOValue;
  end;

  { TArticulosParaClienteBusinessProcessorRules }
  TArticulosParaClienteBusinessProcessorRules = class(TDABusinessProcessorRules, IArticulosParaCliente, IArticulosParaClienteDelta)
  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 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: SmallInt; virtual;
    function GetCOMISIONABLEIsNull: Boolean; virtual;
    function GetOldCOMISIONABLEValue: SmallInt; virtual;
    function GetOldCOMISIONABLEIsNull: Boolean; virtual;
    procedure SetCOMISIONABLEValue(const aValue: SmallInt); 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 GetPRECIO_PVPValue: Currency; virtual;
    function GetPRECIO_PVPIsNull: Boolean; virtual;
    function GetOldPRECIO_PVPValue: Currency; virtual;
    function GetOldPRECIO_PVPIsNull: Boolean; virtual;
    procedure SetPRECIO_PVPValue(const aValue: Currency); virtual;
    procedure SetPRECIO_PVPIsNull(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;

    { 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 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 : SmallInt read GetCOMISIONABLEValue write SetCOMISIONABLEValue;
    property COMISIONABLEIsNull : Boolean read GetCOMISIONABLEIsNull write SetCOMISIONABLEIsNull;
    property OldCOMISIONABLE : SmallInt 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 PRECIO_PVP : Currency read GetPRECIO_PVPValue write SetPRECIO_PVPValue;
    property PRECIO_PVPIsNull : Boolean read GetPRECIO_PVPIsNull write SetPRECIO_PVPIsNull;
    property OldPRECIO_PVP : Currency read GetOldPRECIO_PVPValue;
    property OldPRECIO_PVPIsNull : Boolean read GetOldPRECIO_PVPIsNull;
    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;

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

  end;

implementation

uses
  Variants, uROBinaryHelpers, uDAInterfaces;

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

destructor TExisteImagenBusinessProcessorRules.Destroy;
begin
  inherited;
end;

function TExisteImagenBusinessProcessorRules.GetIDValue: Integer;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ExisteImagenID];
end;

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

function TExisteImagenBusinessProcessorRules.GetOldIDValue: Integer;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ExisteImagenID];
end;

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

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

procedure TExisteImagenBusinessProcessorRules.SetIDIsNull(const aValue: Boolean);
begin
  if aValue then
    BusinessProcessor.CurrentChange.NewValueByName[fld_ExisteImagenID] := 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] := BinaryToBlobVariant((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.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
    BlobVariantToBinary(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();
  BlobVariantToBinary(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.GetPRECIO_PVPValue: Currency;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosPRECIO_PVP];
end;

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

function TArticulosBusinessProcessorRules.GetOldPRECIO_PVPValue: Currency;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosPRECIO_PVP];
end;

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

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

procedure TArticulosBusinessProcessorRules.SetPRECIO_PVPIsNull(const aValue: Boolean);
begin
  if aValue then
    BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosPRECIO_PVP] := 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.GetID_PROVEEDORValue: Integer;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosID_PROVEEDOR];
end;

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

function TArticulosBusinessProcessorRules.GetOldID_PROVEEDORValue: Integer;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosID_PROVEEDOR];
end;

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

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

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

function TArticulosBusinessProcessorRules.GetNOMBRE_PROVEEDORValue: String;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosNOMBRE_PROVEEDOR];
end;

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

function TArticulosBusinessProcessorRules.GetOldNOMBRE_PROVEEDORValue: String;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosNOMBRE_PROVEEDOR];
end;

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

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

procedure TArticulosBusinessProcessorRules.SetNOMBRE_PROVEEDORIsNull(const aValue: Boolean);
begin
  if aValue then
    BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosNOMBRE_PROVEEDOR] := 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;


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

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

destructor TArticulosParaClienteBusinessProcessorRules.Destroy;
begin
  inherited;
end;

procedure TArticulosParaClienteBusinessProcessorRules.IMAGEN_OnChange(Sender: TObject);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaClienteIMAGEN] := BinaryToBlobVariant((TROStream(Sender) as IROStream).Stream);
end;

function TArticulosParaClienteBusinessProcessorRules.GetIDValue: Integer;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaClienteID];
end;

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

function TArticulosParaClienteBusinessProcessorRules.GetOldIDValue: Integer;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaClienteID];
end;

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

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

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

function TArticulosParaClienteBusinessProcessorRules.GetID_EMPRESAValue: Integer;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaClienteID_EMPRESA];
end;

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

function TArticulosParaClienteBusinessProcessorRules.GetOldID_EMPRESAValue: Integer;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaClienteID_EMPRESA];
end;

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

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

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

function TArticulosParaClienteBusinessProcessorRules.GetREFERENCIAValue: String;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaClienteREFERENCIA];
end;

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

function TArticulosParaClienteBusinessProcessorRules.GetOldREFERENCIAValue: String;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaClienteREFERENCIA];
end;

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

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

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

function TArticulosParaClienteBusinessProcessorRules.GetDESCRIPCIONValue: String;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaClienteDESCRIPCION];
end;

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

function TArticulosParaClienteBusinessProcessorRules.GetOldDESCRIPCIONValue: String;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaClienteDESCRIPCION];
end;

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

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

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

function TArticulosParaClienteBusinessProcessorRules.GetFAMILIAValue: String;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaClienteFAMILIA];
end;

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

function TArticulosParaClienteBusinessProcessorRules.GetOldFAMILIAValue: String;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaClienteFAMILIA];
end;

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

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

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

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

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

function TArticulosParaClienteBusinessProcessorRules.GetOldIMAGENValue: IROStream;
begin
  result := NewROStream();
  BlobVariantToBinary(BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaClienteIMAGEN], result.Stream);
end;

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

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

function TArticulosParaClienteBusinessProcessorRules.GetCOMISIONABLEValue: SmallInt;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaClienteCOMISIONABLE];
end;

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

function TArticulosParaClienteBusinessProcessorRules.GetOldCOMISIONABLEValue: SmallInt;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaClienteCOMISIONABLE];
end;

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

procedure TArticulosParaClienteBusinessProcessorRules.SetCOMISIONABLEValue(const aValue: SmallInt);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaClienteCOMISIONABLE] := aValue;
end;

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

function TArticulosParaClienteBusinessProcessorRules.GetFECHA_ALTAValue: DateTime;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaClienteFECHA_ALTA];
end;

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

function TArticulosParaClienteBusinessProcessorRules.GetOldFECHA_ALTAValue: DateTime;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaClienteFECHA_ALTA];
end;

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

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

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

function TArticulosParaClienteBusinessProcessorRules.GetFECHA_MODIFICACIONValue: DateTime;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaClienteFECHA_MODIFICACION];
end;

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

function TArticulosParaClienteBusinessProcessorRules.GetOldFECHA_MODIFICACIONValue: DateTime;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaClienteFECHA_MODIFICACION];
end;

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

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

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

function TArticulosParaClienteBusinessProcessorRules.GetUSUARIOValue: String;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaClienteUSUARIO];
end;

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

function TArticulosParaClienteBusinessProcessorRules.GetOldUSUARIOValue: String;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaClienteUSUARIO];
end;

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

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

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

function TArticulosParaClienteBusinessProcessorRules.GetREFERENCIA_PROVValue: String;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaClienteREFERENCIA_PROV];
end;

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

function TArticulosParaClienteBusinessProcessorRules.GetOldREFERENCIA_PROVValue: String;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaClienteREFERENCIA_PROV];
end;

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

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

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

function TArticulosParaClienteBusinessProcessorRules.GetPRECIO_COSTEValue: Currency;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaClientePRECIO_COSTE];
end;

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

function TArticulosParaClienteBusinessProcessorRules.GetOldPRECIO_COSTEValue: Currency;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaClientePRECIO_COSTE];
end;

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

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

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

function TArticulosParaClienteBusinessProcessorRules.GetPRECIO_PORTEValue: Currency;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaClientePRECIO_PORTE];
end;

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

function TArticulosParaClienteBusinessProcessorRules.GetOldPRECIO_PORTEValue: Currency;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaClientePRECIO_PORTE];
end;

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

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

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

function TArticulosParaClienteBusinessProcessorRules.GetDESCUENTOValue: Float;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaClienteDESCUENTO];
end;

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

function TArticulosParaClienteBusinessProcessorRules.GetOldDESCUENTOValue: Float;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaClienteDESCUENTO];
end;

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

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

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

function TArticulosParaClienteBusinessProcessorRules.GetPRECIO_NETOValue: Currency;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaClientePRECIO_NETO];
end;

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

function TArticulosParaClienteBusinessProcessorRules.GetOldPRECIO_NETOValue: Currency;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaClientePRECIO_NETO];
end;

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

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

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

function TArticulosParaClienteBusinessProcessorRules.GetPRECIO_PVPValue: Currency;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaClientePRECIO_PVP];
end;

function TArticulosParaClienteBusinessProcessorRules.GetPRECIO_PVPIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaClientePRECIO_PVP]);
end;

function TArticulosParaClienteBusinessProcessorRules.GetOldPRECIO_PVPValue: Currency;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaClientePRECIO_PVP];
end;

function TArticulosParaClienteBusinessProcessorRules.GetOldPRECIO_PVPIsNull: Boolean;
begin
  result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaClientePRECIO_PVP]);
end;

procedure TArticulosParaClienteBusinessProcessorRules.SetPRECIO_PVPValue(const aValue: Currency);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaClientePRECIO_PVP] := aValue;
end;

procedure TArticulosParaClienteBusinessProcessorRules.SetPRECIO_PVPIsNull(const aValue: Boolean);
begin
  if aValue then
    BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaClientePRECIO_PVP] := Null;
end;

function TArticulosParaClienteBusinessProcessorRules.GetINVENTARIABLEValue: SmallInt;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaClienteINVENTARIABLE];
end;

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

function TArticulosParaClienteBusinessProcessorRules.GetOldINVENTARIABLEValue: SmallInt;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaClienteINVENTARIABLE];
end;

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

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

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

function TArticulosParaClienteBusinessProcessorRules.GetID_PROVEEDORValue: Integer;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaClienteID_PROVEEDOR];
end;

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

function TArticulosParaClienteBusinessProcessorRules.GetOldID_PROVEEDORValue: Integer;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaClienteID_PROVEEDOR];
end;

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

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

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

function TArticulosParaClienteBusinessProcessorRules.GetNOMBRE_PROVEEDORValue: String;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaClienteNOMBRE_PROVEEDOR];
end;

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

function TArticulosParaClienteBusinessProcessorRules.GetOldNOMBRE_PROVEEDORValue: String;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaClienteNOMBRE_PROVEEDOR];
end;

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

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

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

function TArticulosParaClienteBusinessProcessorRules.GetELIMINADOValue: SmallInt;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaClienteELIMINADO];
end;

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

function TArticulosParaClienteBusinessProcessorRules.GetOldELIMINADOValue: SmallInt;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaClienteELIMINADO];
end;

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

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

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


initialization
  RegisterBusinessProcessorRules(RID_ExisteImagenDelta, TExisteImagenBusinessProcessorRules);
  RegisterBusinessProcessorRules(RID_ArticulosDelta, TArticulosBusinessProcessorRules);
  RegisterBusinessProcessorRules(RID_ArticulosParaClienteDelta, TArticulosParaClienteBusinessProcessorRules);

end.
