IMetabaseObjectFindInfo.ClassId

Синтаксис

ClassId: Integer;

Описание

Свойство ClassId определяет класс объектов, которые будут проверяться в процессе поиска.

Комментарии

Для задания класса объектов необходимо использовать значения, содержащиеся в перечислимом типе MetabaseObjectClass, а также MetabaseObjectMetaClass.

В основе расширений продукта лежат объекты пользовательских классов. Классы этих объектов отсутствуют в перечислении MetabaseObjectClass, но их можно получить в свойстве IMetabaseCustomClass.ClassId. Пользовательский класс, описываемый интерфейсом IMetabaseCustomClass, можно получить в коллекции IMetabaseCustomExtender.Classes.

Также может использоваться функцию GetMetabaseHelper.GetCustomClassByEnum(BPClasses.<тип объекта>). Данная функция реализована в модуле «Модуль взаимодействия с метабазой» (P10002_METABASE_HELPER) расширения «Конструктор бизнес-приложения».

По умолчанию свойству установлено значение «-1», при этом поиск осуществляется среди всех объектов репозитория.

Пример

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

Sub UserProc;
Var
    MB: IMetabase;
    MDescs: IMetabaseObjectDescriptors;
    MDesc: IMetabaseObjectDescriptor;
    FInfo: IMetabaseObjectFindInfo;
Begin
    MB := MetabaseClass.Active;
    FInfo := MB.CreateFindInfo;
    FInfo.ClassId := MetabaseObjectClass.KE_CLASS_STDCUBE;
    FInfo.WholeWordsOnly := False;
    MDescs := MB.Find(FInfo);
    For Each MDesc In MDescs Do
        Debug.WriteLine("Идентификатор: " + MDesc.Id + "; Наименование: " + MDesc.Name);
    End For;
End Sub UserProc;

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

См. также:

IMetabaseObjectFindInfo