unit schAlmacenesClient_Intf;

interface

uses
  Classes, DB, schBase_Intf, SysUtils, uROClasses, uDADataTable, FmtBCD, uROXMLIntf;

const
  { Data table rules ids
       Feel free to change them to something more human readable
       but make sure they are unique in the context of your application }
  RID_Almacenes = '{EE679D71-1729-4CD1-8CB9-1A2CE6B05493}';

  { Data table names }
  nme_Almacenes = 'Almacenes';

  { Almacenes fields }
  fld_AlmacenesID = 'ID';
  fld_AlmacenesID_EMPRESA = 'ID_EMPRESA';
  fld_AlmacenesNOMBRE = 'NOMBRE';
  fld_AlmacenesCALLE = 'CALLE';
  fld_AlmacenesPROVINCIA = 'PROVINCIA';
  fld_AlmacenesPOBLACION = 'POBLACION';
  fld_AlmacenesCODIGO_POSTAL = 'CODIGO_POSTAL';
  fld_AlmacenesTELEFONO = 'TELEFONO';
  fld_AlmacenesMOVIL = 'MOVIL';
  fld_AlmacenesFAX = 'FAX';
  fld_AlmacenesPERSONA_CONTACTO = 'PERSONA_CONTACTO';
  fld_AlmacenesOBSERVACIONES = 'OBSERVACIONES';
  fld_AlmacenesFECHA_ALTA = 'FECHA_ALTA';
  fld_AlmacenesFECHA_MODIFICACION = 'FECHA_MODIFICACION';
  fld_AlmacenesUSUARIO = 'USUARIO';

  { Almacenes field indexes }
  idx_AlmacenesID = 0;
  idx_AlmacenesID_EMPRESA = 1;
  idx_AlmacenesNOMBRE = 2;
  idx_AlmacenesCALLE = 3;
  idx_AlmacenesPROVINCIA = 4;
  idx_AlmacenesPOBLACION = 5;
  idx_AlmacenesCODIGO_POSTAL = 6;
  idx_AlmacenesTELEFONO = 7;
  idx_AlmacenesMOVIL = 8;
  idx_AlmacenesFAX = 9;
  idx_AlmacenesPERSONA_CONTACTO = 10;
  idx_AlmacenesOBSERVACIONES = 11;
  idx_AlmacenesFECHA_ALTA = 12;
  idx_AlmacenesFECHA_MODIFICACION = 13;
  idx_AlmacenesUSUARIO = 14;

type
  { IAlmacenes }
  IAlmacenes = interface(IDAStronglyTypedDataTable)
  ['{A51A2256-3355-4ABC-83D8-C6C5F3FB8FED}']
    { Property getters and setters }
    function GetIDValue: Integer;
    procedure SetIDValue(const aValue: Integer);
    function GetIDIsNull: Boolean;
    procedure SetIDIsNull(const aValue: Boolean);
    function GetID_EMPRESAValue: Integer;
    procedure SetID_EMPRESAValue(const aValue: Integer);
    function GetID_EMPRESAIsNull: Boolean;
    procedure SetID_EMPRESAIsNull(const aValue: Boolean);
    function GetNOMBREValue: String;
    procedure SetNOMBREValue(const aValue: String);
    function GetNOMBREIsNull: Boolean;
    procedure SetNOMBREIsNull(const aValue: Boolean);
    function GetCALLEValue: String;
    procedure SetCALLEValue(const aValue: String);
    function GetCALLEIsNull: Boolean;
    procedure SetCALLEIsNull(const aValue: Boolean);
    function GetPROVINCIAValue: String;
    procedure SetPROVINCIAValue(const aValue: String);
    function GetPROVINCIAIsNull: Boolean;
    procedure SetPROVINCIAIsNull(const aValue: Boolean);
    function GetPOBLACIONValue: String;
    procedure SetPOBLACIONValue(const aValue: String);
    function GetPOBLACIONIsNull: Boolean;
    procedure SetPOBLACIONIsNull(const aValue: Boolean);
    function GetCODIGO_POSTALValue: String;
    procedure SetCODIGO_POSTALValue(const aValue: String);
    function GetCODIGO_POSTALIsNull: Boolean;
    procedure SetCODIGO_POSTALIsNull(const aValue: Boolean);
    function GetTELEFONOValue: String;
    procedure SetTELEFONOValue(const aValue: String);
    function GetTELEFONOIsNull: Boolean;
    procedure SetTELEFONOIsNull(const aValue: Boolean);
    function GetMOVILValue: String;
    procedure SetMOVILValue(const aValue: String);
    function GetMOVILIsNull: Boolean;
    procedure SetMOVILIsNull(const aValue: Boolean);
    function GetFAXValue: String;
    procedure SetFAXValue(const aValue: String);
    function GetFAXIsNull: Boolean;
    procedure SetFAXIsNull(const aValue: Boolean);
    function GetPERSONA_CONTACTOValue: String;
    procedure SetPERSONA_CONTACTOValue(const aValue: String);
    function GetPERSONA_CONTACTOIsNull: Boolean;
    procedure SetPERSONA_CONTACTOIsNull(const aValue: Boolean);
    function GetOBSERVACIONESValue: IROStrings;
    function GetOBSERVACIONESIsNull: Boolean;
    procedure SetOBSERVACIONESIsNull(const aValue: Boolean);
    function GetFECHA_ALTAValue: DateTime;
    procedure SetFECHA_ALTAValue(const aValue: DateTime);
    function GetFECHA_ALTAIsNull: Boolean;
    procedure SetFECHA_ALTAIsNull(const aValue: Boolean);
    function GetFECHA_MODIFICACIONValue: DateTime;
    procedure SetFECHA_MODIFICACIONValue(const aValue: DateTime);
    function GetFECHA_MODIFICACIONIsNull: Boolean;
    procedure SetFECHA_MODIFICACIONIsNull(const aValue: Boolean);
    function GetUSUARIOValue: String;
    procedure SetUSUARIOValue(const aValue: String);
    function GetUSUARIOIsNull: Boolean;
    procedure SetUSUARIOIsNull(const aValue: Boolean);


    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property ID_EMPRESA: Integer read GetID_EMPRESAValue write SetID_EMPRESAValue;
    property ID_EMPRESAIsNull: Boolean read GetID_EMPRESAIsNull write SetID_EMPRESAIsNull;
    property NOMBRE: String read GetNOMBREValue write SetNOMBREValue;
    property NOMBREIsNull: Boolean read GetNOMBREIsNull write SetNOMBREIsNull;
    property CALLE: String read GetCALLEValue write SetCALLEValue;
    property CALLEIsNull: Boolean read GetCALLEIsNull write SetCALLEIsNull;
    property PROVINCIA: String read GetPROVINCIAValue write SetPROVINCIAValue;
    property PROVINCIAIsNull: Boolean read GetPROVINCIAIsNull write SetPROVINCIAIsNull;
    property POBLACION: String read GetPOBLACIONValue write SetPOBLACIONValue;
    property POBLACIONIsNull: Boolean read GetPOBLACIONIsNull write SetPOBLACIONIsNull;
    property CODIGO_POSTAL: String read GetCODIGO_POSTALValue write SetCODIGO_POSTALValue;
    property CODIGO_POSTALIsNull: Boolean read GetCODIGO_POSTALIsNull write SetCODIGO_POSTALIsNull;
    property TELEFONO: String read GetTELEFONOValue write SetTELEFONOValue;
    property TELEFONOIsNull: Boolean read GetTELEFONOIsNull write SetTELEFONOIsNull;
    property MOVIL: String read GetMOVILValue write SetMOVILValue;
    property MOVILIsNull: Boolean read GetMOVILIsNull write SetMOVILIsNull;
    property FAX: String read GetFAXValue write SetFAXValue;
    property FAXIsNull: Boolean read GetFAXIsNull write SetFAXIsNull;
    property PERSONA_CONTACTO: String read GetPERSONA_CONTACTOValue write SetPERSONA_CONTACTOValue;
    property PERSONA_CONTACTOIsNull: Boolean read GetPERSONA_CONTACTOIsNull write SetPERSONA_CONTACTOIsNull;
    property OBSERVACIONES: IROStrings read GetOBSERVACIONESValue;
    property OBSERVACIONESIsNull: Boolean read GetOBSERVACIONESIsNull write SetOBSERVACIONESIsNull;
    property FECHA_ALTA: DateTime read GetFECHA_ALTAValue write SetFECHA_ALTAValue;
    property FECHA_ALTAIsNull: Boolean read GetFECHA_ALTAIsNull write SetFECHA_ALTAIsNull;
    property FECHA_MODIFICACION: DateTime read GetFECHA_MODIFICACIONValue write SetFECHA_MODIFICACIONValue;
    property FECHA_MODIFICACIONIsNull: Boolean read GetFECHA_MODIFICACIONIsNull write SetFECHA_MODIFICACIONIsNull;
    property USUARIO: String read GetUSUARIOValue write SetUSUARIOValue;
    property USUARIOIsNull: Boolean read GetUSUARIOIsNull write SetUSUARIOIsNull;
  end;

  { TAlmacenesDataTableRules }
  TAlmacenesDataTableRules = class(TIntfObjectDADataTableRules, IAlmacenes)
  private
    f_OBSERVACIONES: IROStrings;
    procedure OBSERVACIONES_OnChange(Sender: TObject);
  protected
    { Property getters and setters }
    function GetIDValue: Integer; virtual;
    procedure SetIDValue(const aValue: Integer); virtual;
    function GetIDIsNull: Boolean; virtual;
    procedure SetIDIsNull(const aValue: Boolean); virtual;
    function GetID_EMPRESAValue: Integer; virtual;
    procedure SetID_EMPRESAValue(const aValue: Integer); virtual;
    function GetID_EMPRESAIsNull: Boolean; virtual;
    procedure SetID_EMPRESAIsNull(const aValue: Boolean); virtual;
    function GetNOMBREValue: String; virtual;
    procedure SetNOMBREValue(const aValue: String); virtual;
    function GetNOMBREIsNull: Boolean; virtual;
    procedure SetNOMBREIsNull(const aValue: Boolean); virtual;
    function GetCALLEValue: String; virtual;
    procedure SetCALLEValue(const aValue: String); virtual;
    function GetCALLEIsNull: Boolean; virtual;
    procedure SetCALLEIsNull(const aValue: Boolean); virtual;
    function GetPROVINCIAValue: String; virtual;
    procedure SetPROVINCIAValue(const aValue: String); virtual;
    function GetPROVINCIAIsNull: Boolean; virtual;
    procedure SetPROVINCIAIsNull(const aValue: Boolean); virtual;
    function GetPOBLACIONValue: String; virtual;
    procedure SetPOBLACIONValue(const aValue: String); virtual;
    function GetPOBLACIONIsNull: Boolean; virtual;
    procedure SetPOBLACIONIsNull(const aValue: Boolean); virtual;
    function GetCODIGO_POSTALValue: String; virtual;
    procedure SetCODIGO_POSTALValue(const aValue: String); virtual;
    function GetCODIGO_POSTALIsNull: Boolean; virtual;
    procedure SetCODIGO_POSTALIsNull(const aValue: Boolean); virtual;
    function GetTELEFONOValue: String; virtual;
    procedure SetTELEFONOValue(const aValue: String); virtual;
    function GetTELEFONOIsNull: Boolean; virtual;
    procedure SetTELEFONOIsNull(const aValue: Boolean); virtual;
    function GetMOVILValue: String; virtual;
    procedure SetMOVILValue(const aValue: String); virtual;
    function GetMOVILIsNull: Boolean; virtual;
    procedure SetMOVILIsNull(const aValue: Boolean); virtual;
    function GetFAXValue: String; virtual;
    procedure SetFAXValue(const aValue: String); virtual;
    function GetFAXIsNull: Boolean; virtual;
    procedure SetFAXIsNull(const aValue: Boolean); virtual;
    function GetPERSONA_CONTACTOValue: String; virtual;
    procedure SetPERSONA_CONTACTOValue(const aValue: String); virtual;
    function GetPERSONA_CONTACTOIsNull: Boolean; virtual;
    procedure SetPERSONA_CONTACTOIsNull(const aValue: Boolean); virtual;
    function GetOBSERVACIONESValue: IROStrings; virtual;
    function GetOBSERVACIONESIsNull: Boolean; virtual;
    procedure SetOBSERVACIONESIsNull(const aValue: Boolean); virtual;
    function GetFECHA_ALTAValue: DateTime; virtual;
    procedure SetFECHA_ALTAValue(const aValue: DateTime); virtual;
    function GetFECHA_ALTAIsNull: Boolean; virtual;
    procedure SetFECHA_ALTAIsNull(const aValue: Boolean); virtual;
    function GetFECHA_MODIFICACIONValue: DateTime; virtual;
    procedure SetFECHA_MODIFICACIONValue(const aValue: DateTime); virtual;
    function GetFECHA_MODIFICACIONIsNull: Boolean; virtual;
    procedure SetFECHA_MODIFICACIONIsNull(const aValue: Boolean); virtual;
    function GetUSUARIOValue: String; virtual;
    procedure SetUSUARIOValue(const aValue: String); virtual;
    function GetUSUARIOIsNull: Boolean; virtual;
    procedure SetUSUARIOIsNull(const aValue: Boolean); virtual;

    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property ID_EMPRESA: Integer read GetID_EMPRESAValue write SetID_EMPRESAValue;
    property ID_EMPRESAIsNull: Boolean read GetID_EMPRESAIsNull write SetID_EMPRESAIsNull;
    property NOMBRE: String read GetNOMBREValue write SetNOMBREValue;
    property NOMBREIsNull: Boolean read GetNOMBREIsNull write SetNOMBREIsNull;
    property CALLE: String read GetCALLEValue write SetCALLEValue;
    property CALLEIsNull: Boolean read GetCALLEIsNull write SetCALLEIsNull;
    property PROVINCIA: String read GetPROVINCIAValue write SetPROVINCIAValue;
    property PROVINCIAIsNull: Boolean read GetPROVINCIAIsNull write SetPROVINCIAIsNull;
    property POBLACION: String read GetPOBLACIONValue write SetPOBLACIONValue;
    property POBLACIONIsNull: Boolean read GetPOBLACIONIsNull write SetPOBLACIONIsNull;
    property CODIGO_POSTAL: String read GetCODIGO_POSTALValue write SetCODIGO_POSTALValue;
    property CODIGO_POSTALIsNull: Boolean read GetCODIGO_POSTALIsNull write SetCODIGO_POSTALIsNull;
    property TELEFONO: String read GetTELEFONOValue write SetTELEFONOValue;
    property TELEFONOIsNull: Boolean read GetTELEFONOIsNull write SetTELEFONOIsNull;
    property MOVIL: String read GetMOVILValue write SetMOVILValue;
    property MOVILIsNull: Boolean read GetMOVILIsNull write SetMOVILIsNull;
    property FAX: String read GetFAXValue write SetFAXValue;
    property FAXIsNull: Boolean read GetFAXIsNull write SetFAXIsNull;
    property PERSONA_CONTACTO: String read GetPERSONA_CONTACTOValue write SetPERSONA_CONTACTOValue;
    property PERSONA_CONTACTOIsNull: Boolean read GetPERSONA_CONTACTOIsNull write SetPERSONA_CONTACTOIsNull;
    property OBSERVACIONES: IROStrings read GetOBSERVACIONESValue;
    property OBSERVACIONESIsNull: Boolean read GetOBSERVACIONESIsNull write SetOBSERVACIONESIsNull;
    property FECHA_ALTA: DateTime read GetFECHA_ALTAValue write SetFECHA_ALTAValue;
    property FECHA_ALTAIsNull: Boolean read GetFECHA_ALTAIsNull write SetFECHA_ALTAIsNull;
    property FECHA_MODIFICACION: DateTime read GetFECHA_MODIFICACIONValue write SetFECHA_MODIFICACIONValue;
    property FECHA_MODIFICACIONIsNull: Boolean read GetFECHA_MODIFICACIONIsNull write SetFECHA_MODIFICACIONIsNull;
    property USUARIO: String read GetUSUARIOValue write SetUSUARIOValue;
    property USUARIOIsNull: Boolean read GetUSUARIOIsNull write SetUSUARIOIsNull;

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

  end;

implementation

uses Variants, uROBinaryHelpers;

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

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

destructor TAlmacenesDataTableRules.Destroy;
begin
  inherited;
end;

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

function TAlmacenesDataTableRules.GetIDValue: Integer;
begin
  result := DataTable.Fields[idx_AlmacenesID].AsInteger;
end;

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

function TAlmacenesDataTableRules.GetIDIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlmacenesID].IsNull;
end;

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

function TAlmacenesDataTableRules.GetID_EMPRESAValue: Integer;
begin
  result := DataTable.Fields[idx_AlmacenesID_EMPRESA].AsInteger;
end;

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

function TAlmacenesDataTableRules.GetID_EMPRESAIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlmacenesID_EMPRESA].IsNull;
end;

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

function TAlmacenesDataTableRules.GetNOMBREValue: String;
begin
  result := DataTable.Fields[idx_AlmacenesNOMBRE].AsString;
end;

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

function TAlmacenesDataTableRules.GetNOMBREIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlmacenesNOMBRE].IsNull;
end;

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

function TAlmacenesDataTableRules.GetCALLEValue: String;
begin
  result := DataTable.Fields[idx_AlmacenesCALLE].AsString;
end;

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

function TAlmacenesDataTableRules.GetCALLEIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlmacenesCALLE].IsNull;
end;

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

function TAlmacenesDataTableRules.GetPROVINCIAValue: String;
begin
  result := DataTable.Fields[idx_AlmacenesPROVINCIA].AsString;
end;

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

function TAlmacenesDataTableRules.GetPROVINCIAIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlmacenesPROVINCIA].IsNull;
end;

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

function TAlmacenesDataTableRules.GetPOBLACIONValue: String;
begin
  result := DataTable.Fields[idx_AlmacenesPOBLACION].AsString;
end;

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

function TAlmacenesDataTableRules.GetPOBLACIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlmacenesPOBLACION].IsNull;
end;

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

function TAlmacenesDataTableRules.GetCODIGO_POSTALValue: String;
begin
  result := DataTable.Fields[idx_AlmacenesCODIGO_POSTAL].AsString;
end;

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

function TAlmacenesDataTableRules.GetCODIGO_POSTALIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlmacenesCODIGO_POSTAL].IsNull;
end;

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

function TAlmacenesDataTableRules.GetTELEFONOValue: String;
begin
  result := DataTable.Fields[idx_AlmacenesTELEFONO].AsString;
end;

procedure TAlmacenesDataTableRules.SetTELEFONOValue(const aValue: String);
begin
  DataTable.Fields[idx_AlmacenesTELEFONO].AsString := aValue;
end;

function TAlmacenesDataTableRules.GetTELEFONOIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlmacenesTELEFONO].IsNull;
end;

procedure TAlmacenesDataTableRules.SetTELEFONOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_AlmacenesTELEFONO].AsVariant := Null;
end;

function TAlmacenesDataTableRules.GetMOVILValue: String;
begin
  result := DataTable.Fields[idx_AlmacenesMOVIL].AsString;
end;

procedure TAlmacenesDataTableRules.SetMOVILValue(const aValue: String);
begin
  DataTable.Fields[idx_AlmacenesMOVIL].AsString := aValue;
end;

function TAlmacenesDataTableRules.GetMOVILIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlmacenesMOVIL].IsNull;
end;

procedure TAlmacenesDataTableRules.SetMOVILIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_AlmacenesMOVIL].AsVariant := Null;
end;

function TAlmacenesDataTableRules.GetFAXValue: String;
begin
  result := DataTable.Fields[idx_AlmacenesFAX].AsString;
end;

procedure TAlmacenesDataTableRules.SetFAXValue(const aValue: String);
begin
  DataTable.Fields[idx_AlmacenesFAX].AsString := aValue;
end;

function TAlmacenesDataTableRules.GetFAXIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlmacenesFAX].IsNull;
end;

procedure TAlmacenesDataTableRules.SetFAXIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_AlmacenesFAX].AsVariant := Null;
end;

function TAlmacenesDataTableRules.GetPERSONA_CONTACTOValue: String;
begin
  result := DataTable.Fields[idx_AlmacenesPERSONA_CONTACTO].AsString;
end;

procedure TAlmacenesDataTableRules.SetPERSONA_CONTACTOValue(const aValue: String);
begin
  DataTable.Fields[idx_AlmacenesPERSONA_CONTACTO].AsString := aValue;
end;

function TAlmacenesDataTableRules.GetPERSONA_CONTACTOIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlmacenesPERSONA_CONTACTO].IsNull;
end;

procedure TAlmacenesDataTableRules.SetPERSONA_CONTACTOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_AlmacenesPERSONA_CONTACTO].AsVariant := Null;
end;

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

function TAlmacenesDataTableRules.GetOBSERVACIONESIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlmacenesOBSERVACIONES].IsNull;
end;

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

function TAlmacenesDataTableRules.GetFECHA_ALTAValue: DateTime;
begin
  result := DataTable.Fields[idx_AlmacenesFECHA_ALTA].AsDateTime;
end;

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

function TAlmacenesDataTableRules.GetFECHA_ALTAIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlmacenesFECHA_ALTA].IsNull;
end;

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

function TAlmacenesDataTableRules.GetFECHA_MODIFICACIONValue: DateTime;
begin
  result := DataTable.Fields[idx_AlmacenesFECHA_MODIFICACION].AsDateTime;
end;

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

function TAlmacenesDataTableRules.GetFECHA_MODIFICACIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlmacenesFECHA_MODIFICACION].IsNull;
end;

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

function TAlmacenesDataTableRules.GetUSUARIOValue: String;
begin
  result := DataTable.Fields[idx_AlmacenesUSUARIO].AsString;
end;

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

function TAlmacenesDataTableRules.GetUSUARIOIsNull: boolean;
begin
  result := DataTable.Fields[idx_AlmacenesUSUARIO].IsNull;
end;

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


initialization
  RegisterDataTableRules(RID_Almacenes, TAlmacenesDataTableRules);

end.
