IMetabase.Find

Синтаксис Fore

Find(Info: IMetabaseObjectFindInfo): IMetabaseObjectDescriptors;

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

Find(Info: Prognoz.Platform.Interop.Metabase.IMetabaseObjectFindInfo): Prognoz.Platform.Interop.Metabase.IMetabaseObjectDescriptors;

Параметры

Info. Информация для осуществления поиска объекта репозитория.

Описание

Метод Find производит поиск объекта (объектов), удовлетворяющего (удовлетворяющих) условиям поиска.

Комментарии

Метод возвращает пустую коллекцию описаний, если ни один объект не найден.

Пример Fore

Добавьте ссылку на системную сборку Metabase.

Sub UserProc;
Var
    MB: IMetabase;
    MDescs: IMetabaseObjectDescriptors;
    MDesc: IMetabaseObjectDescriptor;
    FInfo: IMetabaseObjectFindInfo;
Begin
    MB := MetabaseClass.Active;
    FInfo := MB.CreateFindInfo;
    FInfo.Text := "OBJTEST";
    FInfo.Attribute := FindAttribute.NameOrIdent;
    FInfo.WholeWordsOnly := False;
    MDescs := MB.Find(FInfo);
    If MDescs.Count <> 0 Then
        For Each MDesc In MDescs Do
            Debug.WriteLine("Идентификатор: " + MDesc.Id + "; Наименование: " + MDesc.Name);
        End For;
    Else
        Debug.WriteLine("Объекты не найдены.");
End If;
End Sub UserProc;

При выполнении примера будет осуществлён поиск всех объектов, содержащих в своем наименовании или идентификаторе текст «OBJTEST». Наименования и идентификаторы найденных объектов будут выведены в консоль среды разработки.

Пример Fore.NET

Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.

Imports Prognoz.Platform.Interop.Metabase;

Public Shared Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    MDescs: IMetabaseObjectDescriptors;
    MDesc: IMetabaseObjectDescriptor;
    FInfo: IMetabaseObjectFindInfo;
Begin
    MB := Params.Metabase;
    FInfo := MB.CreateFindInfo();
    FInfo.Text := "OBJTEST";
    FInfo.Attribute := FindAttribute.fnaNameOrIdent;
    FInfo.WholeWordsOnly := False;
    MDescs := MB.Find(FInfo);
    If MDescs.Count <> 0 Then
        For Each MDesc In MDescs Do
            System.Diagnostics.Debug.WriteLine("Идентификатор: " + MDesc.Id + "; Наименование: " + MDesc.Name);
        End For;
    Else
        System.Diagnostics.Debug.WriteLine("Объекты не найдены.");
    End If;
End Sub;

См. также:

IMetabase