Add(ClassId: MetabaseObjectClass): ISaveMetabaseObjectHandler;
ClassId. Класс объектов, для которых добавляется обработчик события.
Метод Add для указанного класса объектов создаёт обработчик событий, наступающих при изменении метаданных объекта.
В качестве значения параметра ClassId указывается один из элементов перечисления MetabaseObjectClass. Если обработчик событий задаётся для расширений продукта «Форсайт. Аналитическая платформа», то необходимый класс объекта можно получить в коллекции IMetabaseCustomExtender.Classes в свойстве IMetabaseCustomClass.ClassId.
Для выполнения примера в репозитории предполагается наличие модуля с идентификатором M_HANDLERS. В модуле реализован класс CSaveTableLog, который содержит обработчики событий.
Добавьте ссылку на системную сборку 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;
При выполнении примера для таблиц в репозитории будет создан обработчик событий.
См. также: