Operations: IMetabaseCustomClassOperations;
Свойство Operations возвращает коллекцию пользовательских операций класса.
Для выполнения примера предполагается наличие в репозитории модуля с идентификатором «Operations». В данном модуле реализован класс для обработки операций объектов пользовательских классов.
Sub UserProc;
Var
Mb: IMetabase;
CustomClassExtender: IMetabaseCustomExtender;
CustomClass: IMetabaseCustomClass;
Operations: IMetabaseCustomClassOperations;
Operation: IMetabaseCustomClassOperation;
Begin
Mb := MetabaseClass.Active;
//Получение контейнера пользовательских классов
CustomClassExtender := Mb.SpecialObject(MetabaseSpecialObject.CustomExtender).Edit As IMetabaseCustomExtender;
//Добавление пользовательского класса
CustomClass := CustomClassExtender.Classes.Add;
CustomClass.Id := "UserObjectClass1";
CustomClass.Name := "Тестовый объект";
CustomClass.ImplementationAssembly := MB.ItemById("Operations");
CustomClass.ImplementationClass := "OperationsClass";
//Создание операции
Operations := CustomClass.Operations;
Operation := Operations.Add(0);
Operation.Name := "Новая операция";
Debug.WriteLine("Идентификатор созданной операции: " + Operation.Id);
(CustomClassExtender As IMetabaseObject).Save;
End Sub UserProc;
При выполнении примера в контейнере пользовательских классов будет создан новый класс объектов. Для класса будут определены базовые свойства и создана одна операция. Идентификатор созданной операции будет выведен в консоль среды разработки. В качестве обработчика операций будет указан класс OperationsClass. В данном классе необходимо реализовать метод с идентификатором, который получит созданная операция.
См. также: