Создание объектов пользовательского класса

Объекты пользовательского класса создаются в навигаторе объектов как и другие объекты репозитория. Для этого в контекстном меню навигатора и у кнопки «Новый объект» в группе «Создать» на вкладке ленты «Главная» выделена подгруппа команд «Пользовательские объекты».

Дальнейшая работа с объектами пользовательских классов полностью осуществляется через язык Fore. Свойства и методы для доступа к объекту пользовательского класса содержатся в интерфейсе IMetabaseCustomObject сборки Metabase. В объекте пользовательского класса могут храниться любые данные. Рассмотрим простые примеры по записи данных в объект пользовательского класса и считыванию данных из него. Чтение/запись данных будет производиться из/в файл:

Запись данных в объект пользовательского класса

Чтение данных из объекта пользовательского класса

Выполнение операций

Для того, чтобы работа с объектами пользовательских классов в навигаторе объектов не отличалась от работы с другими объектами репозитория, в настройках класса создайте список операций и укажите обработчик, в котором расположен класс с реализацией операций. Например, для обработки стандартных операций «Открыть», «Редактировать» и каких-либо еще двух операций реализация класса может быть следующей:

Класс с операциями

Для записи/чтения данных в объектах пользовательских классов указанные выше процедуры можно переписать в обработчики операций:

Чтение/запись данных

Параметрические объекты пользовательского класса

При необходимости объекты пользовательского класса можно сделать параметрическими. Для этого через Fore заполните коллекцию IMetabaseObjectDescriptor.Params. Следующий код может использоваться для создания параметров:

Создание параметров

Для параметрического объекта перед выполнением операции будет выведено окно ввода параметров. После ввода значений и нажатия кнопки «ОК» будет вызван соответствующий метод-обработчик. Если в диалоге была нажата кнопка «Отмена», то обработчик будет вызван, но в него будут переданы пустые значения параметров.

Для обработки операций у параметрических объектов должны быть реализованы соответствующие обработчики:

Класс с операциями

См. также:

Создание пользовательских объектов