{ =============================================================================== Copyright (©) 2007. Rodax Software. =============================================================================== Los contenidos de este fichero son propiedad de Rodax Software titular del copyright. Este fichero sólo podrá ser copiado, distribuido y utilizado, en su totalidad o en parte, con el permiso escrito de Rodax Software, o de acuerdo con los términos y condiciones establecidas en el acuerdo/contrato bajo el que se suministra. ----------------------------------------------------------------------------- Web: www.rodax-software.com =============================================================================== Fecha primera versión: Versión actual: 1.0.0 Fecha versión actual: =============================================================================== Modificaciones: Fecha Comentarios --------------------------------------------------------------------------- =============================================================================== } unit uBizUnidadesMedida; interface uses uDAInterfaces, uDADataTable, uDBSelectionListUtils, schUnidadesMedidaClient_Intf; const BIZ_CLIENT_UNIDADMEDIDA = 'Client.UnidadMedida'; type IBizUnidadMedida = interface(IUnidadesMedida) ['{1A127C8E-2D86-4504-A041-B66152CC7A99}'] function EsNuevo : Boolean; // Descomentar esto si hay clases detalles // procedure SetDetalles(AValue : IBizDetalles); // function GetDetalles : IBizDetalles; // property Detalles : IBizDetalles read GetDetalles write SetDetalles; end; TBizUnidadMedida = class(TUnidadesMedidaDataTableRules, IBizUnidadMedida, ISeleccionable) protected FSeleccionableInterface : ISeleccionable; // Descomentar esto si hay clases detalles // FDetalles : IBizDetalles; // FDetallesLink : TDADataSource; // procedure SetDetalles(AValue : IBizDetalles); // function GetDetalles : IBizDetalles; procedure OnNewRecord(Sender: TDADataTable); override; procedure AfterOpen(Sender: TDADataTable); override; public procedure IniciarValoresUnidadMedidaNuevo; function EsNuevo : Boolean; constructor Create(aDataTable: TDADataTable); override; destructor Destroy; override; property SeleccionableInterface : ISeleccionable read FSeleccionableInterface write FSeleccionableInterface implements ISeleccionable; // Descomentar esto si hay clases detalles // property Detalles : IBizDetalles read GetDetalles write SetDetalles; end; implementation { TBizUnidadMedida } uses SysUtils, uDataTableUtils; // Descomentar esto si hay clases detalles // function TBizUnidadMedida.GetDetalles: IBizDetalles; // begin // Result := FDetalles; // end; // Descomentar esto si hay clases detalles // procedure TBizUnidadMedida.SetDetalles(AValue: IBizDetalles); // begin // FDetalles := AValue; // EnlazarMaestroDetalle(FDetallesLink, FDetalles); // end; procedure TBizUnidadMedida.AfterOpen(Sender: TDADataTable); begin inherited; DataTable.Sort([fld_UnidadesMedidaDESCRIPCION], [sdAscending]); end; constructor TBizUnidadMedida.Create(aDataTable: TDADataTable); begin inherited; // Descomentar esto si hay clases detalles // FDetallesLink := TDADataSource.Create(NIL); // FDetallesLink.DataTable := aDataTable; FSeleccionableInterface := TSeleccionable.Create(aDataTable); end; destructor TBizUnidadMedida.Destroy; begin // Descomentar esto si hay clases detalles // FDetalles := NIL; // FreeAndNIL(FDetallesLink); FSeleccionableInterface := NIL; inherited; end; function TBizUnidadMedida.EsNuevo: Boolean; begin Result := (ID < 0); end; procedure TBizUnidadMedida.IniciarValoresUnidadMedidaNuevo; begin // end; procedure TBizUnidadMedida.OnNewRecord(Sender: TDADataTable); begin inherited; ID := GetRecNo; // -1, -2, -3... IniciarValoresUnidadMedidaNuevo; end; initialization RegisterDataTableRules(BIZ_CLIENT_UNIDADMEDIDA, TBizUnidadMedida); finalization end.