FindByClassId(ClassId: Integer) : IMetabaseCustomClass;
FindByClassId(ClassId: integer) : Prognoz.Platform.Interop.Metabase.IMetabaseCustomClass;
Метод FindByClassId выполняет поиск класса по числовому идентификатору пользовательского объекта репозитория.
Для выполнения примера предполагается наличие пользовательского объекта репозитория с идентификатором «CUSTOM_OBJECT» .
Добавьте ссылку на системную сборку Metabase.
Sub UserProc;
Var
MB: IMetabase;
Extender: IMetabaseCustomExtender;
Custom: IMetabaseCustomClass;
Begin
MB := MetabaseClass.Active;
Extender := MB.SpecialObject(MetabaseSpecialObject.CustomExtender).Edit As IMetabaseCustomExtender;
Custom := Extender.Classes.FindByClassId(MB.ItemById("CUSTOM_OBJECT").ClassId);
text := Custom = Null ? "Null" : Custom.Name;
End Sub UserProc;
После выполнения примера будет произведен поиск класса по идентификатору. В случае если описание получено, то оно будет выведено в заголовке формы.
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore. Вместо компонентов Fore используйте их Fore.NET аналоги.
Imports Prognoz.Platform.Interop.Metabase;
…
Public Shared Sub Main(Params: StartParams);
Var
MB: IMetabase;
Extender: IMetabaseCustomExtender;
Custom: IMetabaseCustomClass;
Begin
MB := Self.Metabase;
Extender := MB.SpecialObject[MetabaseSpecialObject.msoCustomExtender].Edit() As IMetabaseCustomExtender;
Custom := Extender.Classes.FindByClassId(MB.ItemById["CUSTOM_OBJECT"].ClassId);
text := Custom = Null ? "Null" : Custom.Name;
End Sub;
См. также: