ClassId: Integer;
The ClassId property determines class of the objects which will be checked on searching.
To specify the class of the objects, it is necessary to use values contained in the enumerated type MetabaseObjectClass, and MetabaseObjectMetaClass.
Foresight Analytics Platform extensions are based on custom class objects. Classes of these objects are absent in the MetabaseObjectClass enumeration but they can be obtained in the IMetabaseCustomClass.ClassId property. The custom class described by the IMetabaseCustomClass interface can be obtained in the IMetabaseCustomExtender.Classes collection.
One can also use the GetMetabaseHelper.GetCustomClassByEnum(BPClasses.<object type>) function. This function is implemented in the Repository Interaction Unit unit (P10002_METABASE_HELPER) of the Designer of Business Applications extension.
The "-1" value is set for the property by default, and the search is executed among all repository objects.
To execute the example, add a link to the Metabase system assembly.
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("Identifier: " + MDesc.Id + "; Name: " + MDesc.Name);
End For;
End Sub UserProc;
After executing the example all standard cubes, which are contained in the repository, are searched. Names and identifiers of the found objects are displayed in the development environment console.
See also: