unit uBizSubCuentasContacto; interface uses uDAInterfaces, uDADataTable, schContactosClient_Intf; const BIZ_CLIENT_SUBCUENTAS_CONTACTO = 'Client.SubCuentasContacto'; type IBizSubCuentasContacto = interface(ISubCuentasContacto) ['{A14F362E-2FE5-4BA7-8241-C4B21E5CFC28}'] function EsNuevo : Boolean; end; TBizSubCuentasContacto = class(TSubCuentasContactoDataTableRules, IBizSubCuentasContacto) protected procedure BeforeInsert(Sender: TDADataTable); override; public function EsNuevo : Boolean; end; implementation uses Dialogs,uDataTableUtils, DB; { TBizSubCuentasContacto } procedure TBizSubCuentasContacto.BeforeInsert(Sender: TDADataTable); var AMasterTable : TDADataTable; begin inherited; AMasterTable := DataTable.GetMasterDataTable; if Assigned(AMasterTable) and (AMasterTable.State in dsEditModes) then AMasterTable.Post; end; function TBizSubCuentasContacto.EsNuevo: Boolean; begin Result := (ID < 0); end; initialization RegisterDataTableRules(BIZ_CLIENT_SUBCUENTAS_CONTACTO, TBizSubCuentasContacto); end.