ISaveMetabaseObjectHandlers.Add

Синтаксис

Add(ClassId: MetabaseObjectClass): ISaveMetabaseObjectHandler;

Параметры

ClassId. Класс объектов, для которых добавляется обработчик события.

Описание

Метод Add для указанного класса объектов создаёт обработчик событий, наступающих при изменении метаданных объекта.

Комментарии

В качестве значения параметра ClassId указывается один из элементов перечисления MetabaseObjectClass. Если обработчик событий задаётся для расширений продукта «Форсайт. Аналитическая платформа», то необходимый класс объекта можно получить в коллекции IMetabaseCustomExtender.Classes в свойстве IMetabaseCustomClass.ClassId.

Пример

Для выполнения примера в репозитории предполагается наличие модуля с идентификатором M_HANDLERS. В модуле реализован класс CSaveTableLog, который содержит обработчики событий.

Код модуля M_HANDLERS

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

Sub AddHandler;
Var
    Mb: IMetabase;
    SpecObj: ISpecialObjects;
    ObjectHandlers: ISaveMetabaseObjectHandlers;
    ObjectHandler: ISaveMetabaseObjectHandler;
Begin
    Mb := MetabaseClass.Active;
    SpecObj := Mb.SpecialObjects(True);
    ObjectHandlers := SpecObj.SaveMetabaseObjectHandlers;
    ObjectHandler := ObjectHandlers.Add(MetabaseObjectClass.KE_CLASS_TABLE);
    ObjectHandler.Assembly := Mb.ItemById("M_HANDLERS");
    ObjectHandler.Class_ := "CSaveTableLog";
    (SpecObj As IMetabaseObject).Save;
End Sub AddHandler;

При выполнении примера для таблиц в репозитории будет создан обработчик событий.

См. также:

ISaveMetabaseObjectHandlers