- •Урок 5 Архитектура Global
- •Введение Содержание урока
- •Краткая аннотация платформы Global Framework
- •Арихитекура Global Framework for Oracle Основные сведения Основы архитектуры
- •Общие сведения о понятиях
- •Принципы модульности
- •Архитектура ядровых сервисов
- •Начало работы Создание пользователя
- •Главная форма приложения Конфигуратор
- •Создание нового модуля
- •Проектирование классов Общие сведения о классах
- •Окружение класса
- •Дерево классов
- •Процесс создания и настройки классов
- •Пример создания и настройки класса Создание класса
- •Настройка свойств класса
- •Создание атрибутов класса
- •Компиляция
- •Открытие объектов класса на редактирование
- •Изменение структуры хранения класса
- •Серверные методы класса Общие сведения
- •Наследование типов
- •Основные методы, формирующиеся автоматически при компиляции
- •Переопределение методов в api
- •Пересчет заголовка и мнемокода в репозитории при изменении фунций их вычисления
- •Общий обзор подсистем, входящих в Global Framework
- •Сервис управления данными о структуре объектов и способами отображения объектов.
- •Сервис управления безопасностью и пользователями
- •Сервис оповещений
- •Сервис напоминаний
- •Подсистема построения отчетов
- •Подсистема планирования задач и поддержки пользователей
- •Сервис выпуска обновлений
- •Подсистема интеграции
- •Подсистема репликации данных
Процесс создания и настройки классов
Вцелом, создание новой функциональности в Global FrameWork проходит через последовательное прохождение нескольких этапов:
1. Создание Er-win диаграммы пользовательских классов в рамках модуля или бизнес-объекта, создание UML-диаграммы бизнес-логики.
2. Создание класса
3. Настройка собственных свойств класса
4. Настройка атрибутов класса
5. Компиляция класса
6. Настройка коллекций (зависимых классов)
7. Настройка бизнес-объекта, в который входит класс.
8. Компиляция классов, включенных в бизнес-объект.
8. Настройка серверных методов по работе с классом
9. Настройка визуальных интерфейсов при помощи выборок класса
Пример создания и настройки класса Создание класса
В рамках данного примера будет создан класс, позволяющий описать сущность «Сотрудник», приведенную в примере, рассматриваемом в Уроке №2. При этом атрибут «Должность» этой сущности, ссылочный на сущность должностей, будет создан в рамках следующего урока. Итак, нам необходимо создать следующий класс:
Данное задание подразумевает, что уже был создан модуль TST, в рамках которого и будет создан этот класс. Если Вы создали модуль с другим кодовым именем, то необходимо будет для создаваемого класса выбрать системное имя, начинающееся с кодового имени Вашего модуля.
Открываем дерево классов, выбираем ветку Reference «Справочники». В дереве классов имеются две кнопки создания нового класса: «Создать новый класс на текущем уровне иерархии» и «Создать новый класс-наследник от текущего класса» (одна под другой). Первая операция позволяет создать новый класс на том же уровне иерархии классов, что и тот класс, который является для Вас текущим. Если Вы хотитете создать класс-наследник от текущего класса, необходимо использовать вторую операцию. Для создания нового справочника TST_Employees необходимо раскрыть ветку классов Reference, встать на любой из классов внутри этой ветки и выбрать операцию «Создать новый класс на текущем уровне иерархии». Либо встать на класс Reference и выбрать «Создать новый класс-наследник от текущего класса».
После создания откроется карточка нового класса:
Совет: Если по какой то причине, после создания нового класса его карточка не открылась, и Вы все еще находитесь в дереве классов, то перейдите на последнее из MDI-окон, открытых в Конфигураторе. Это и есть карточка Вашего класса, которая открылась, но фокус ввода остался в дереве классов, по системной причине, которая будет устранена в очередных версиях Global Framework.
Введите системное имя Вашего класса, например TST_Employees. По умолчанию класс получает модуль, совпадающий с модулем класса предка, поэтому при создании класса в справочниках, он получит модуль BTK. Измените модуль, выбрав созданным Вами модуль. В качестве наименования выберите представление понятия. При этом, для новых классов лучше создавать новое понятие. Если необходимо, введите описание класса, поясняющее его назначение.
Бизнес-объект класса пока не будем указывать, он будет сопоставлен позже.
Флаг «Абстрактный класс» означает, что в данном классе не могут быть созданы объекты, и что он создан как класс-предок. Флаг «Заключительный класс» говорит о том, что у класса не может быть наследников. Его выставление позволяет наиболее оптимально сформировать представление класса (VIEW), одноменное с классом, поэтому выставляйте его в случае уверенности в том, что у класса не будет наследников.
Настройка «Табличный класс» означает, что класс будет создан в особом режиме, в котором у него не будет ни предсавления, ни таблиц мэпирования. В этом режиме класс создается как таблица, и права на SELECT будут выдаваться прямо на эту таблицу. В случае необходимости хранения в классе очень большого объема данных, отсутствии необходимости в создании классов-наследников, и наличии потребности в массовых DML над объектами класса, создавайте новые классы как табличные.
Флаг «Разрешено удаление» позволяет удалить этот класс из дерева классов. Если он не выставлен, в удалении будет отказано.
