IMetabaseCustomExtender.FindByClassId

Синтаксис Fore

FindByClassId(ClassId: Integer) : IMetabaseCustomClass;

Синтаксис Fore.NET

FindByClassId(ClassId: integer) : Prognoz.Platform.Interop.Metabase.IMetabaseCustomClass;

Описание

Метод FindByClassId выполняет поиск класса по числовому идентификатору пользовательского объекта репозитория.

Пример Fore

Для выполнения примера предполагается наличие пользовательского объекта репозитория с идентификатором «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.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;

См. также:

IMetabaseCustomExtender