unit uBizFormasPago; interface uses uDAInterfaces, uDADataTable, schFormasPagoClient_Intf, uBizFormasPagoPlazos; const BIZ_CLIENT_FORMAPAGO = 'Client.FormaPago'; type IBizFormaPago = interface(IFormasPago) ['{F79E3238-1E0D-4FB6-9AF7-E5703619B067}'] function EsNuevo : Boolean; function GetPlazos: IBizFormaPagoPlazos; procedure SetPlazos(const Value: IBizFormaPagoPlazos); property Plazos : IBizFormaPagoPlazos read GetPlazos write SetPlazos; end; TBizFormaPago = class(TFormasPagoDataTableRules, IBizFormaPago) protected FPlazos : IBizFormaPagoPlazos; FPlazosLink : TDADataSource; procedure OnNewRecord(Sender: TDADataTable); override; function GetPlazos: IBizFormaPagoPlazos; procedure SetPlazos(const Value: IBizFormaPagoPlazos); public procedure IniciarValoresFormaPagoNueva; function EsNuevo : Boolean; constructor Create(aDataTable: TDADataTable); override; destructor Destroy; override; property Plazos : IBizFormaPagoPlazos read GetPlazos write SetPlazos; end; implementation { TBizFormaPago } uses SysUtils, uDataTableUtils; constructor TBizFormaPago.Create(aDataTable: TDADataTable); begin inherited; FPlazos := NIL; FPlazosLink := TDADataSource.Create(NIL); FPlazosLink.DataTable := aDataTable; end; destructor TBizFormaPago.Destroy; begin FPlazos := NIL; FreeAndNIL(FPlazosLink); inherited; end; function TBizFormaPago.EsNuevo: Boolean; begin Result := (ID < 0); end; function TBizFormaPago.GetPlazos: IBizFormaPagoPlazos; begin Result := FPlazos; end; procedure TBizFormaPago.IniciarValoresFormaPagoNueva; begin // end; procedure TBizFormaPago.OnNewRecord(Sender: TDADataTable); begin inherited; // Eliminar ID := GetRecNo; // -1, -2, -3... IniciarValoresFormaPagoNueva; end; procedure TBizFormaPago.SetPlazos(const Value: IBizFormaPagoPlazos); begin FPlazos := Value; EnlazarMaestroDetalle(FPlazosLink, FPlazos); end; initialization RegisterDataTableRules(BIZ_CLIENT_FORMAPAGO, TBizFormaPago); finalization end.