Урок 5. Структуры данных
Введение
В ходе этого урока вы научитесь использовать диаграмму «сущность-связь» для визуальной настройки модели данных приложения, создания шаблонов записей различных типов (для справочников, мастер-данных и транзакционных данных) и установления связей между ними.
Предусловия: пройден урок 2 «Мой первый реестр данных».
Расчётная продолжительность: 70 мин.
Примечание
В данном уроке представлен продукт Comindware Platform версии 5.0, внешний вид страниц и меню в других версиях продукта может отличаться.
Определения
- В Comindware Platform для визуализации и проектирования модели данных приложения используются диаграммы «сущность-связь» (ER-диаграммы).
- Диаграмма модели данных наглядно показывает шаблоны записей, их атрибуты и связи друг с другом.
- Непосредственно в ходе создания и редактирования диаграммы можно создавать и настраивать новые шаблоны записей (реестры данных) и добавлять атрибуты.
- Это позволяет настраивать приложение и при этом видеть его модель данных в целом.
Создание диаграммы модели данных
- На панели навигации слева выберите пункты «Настройки» — «Диаграммы».
-
Отобразится список диаграмм всех приложений.
Примечание
- По умолчанию список диаграмм содержит диаграммы процессов и диаграммы классов:
- диаграмма классов создается автоматически для каждого приложения;
- диаграмма процесса создается автоматически для каждого шаблона процесса.
- По умолчанию список диаграмм содержит диаграммы процессов и диаграммы классов:
-
Создайте диаграмму, нажав кнопку «Создать».
-
В отобразившемся окне настройте новую диаграмму:
- Название: Модель данных — заказ автотранспорта
- Тип: диаграмма модели данных
- приложение Управление автопарком
-
Нажмите кнопку «Сохранить».
Создание новой диаграммы модели данных -
Отобразится конструктор диаграммы модели данных.
Конструктор диаграммы модели данных
Конструктор диаграммы модели данных содержит следующие области:
(1) Панель элементов — содержит имеющиеся шаблоны и кнопки для создания новых.
(2) Диаграмма — отображает шаблоны, атрибуты и связи между ними.
(3) Кнопки
- Выбрать версию — загрузить одну из ранее сохраненных версий диаграммы.
- Создать новую версию — сохранить текущую диаграмму как новую версию.
- Клонировать — создать новую диаграмму путем копирования текущей.
- Настройки — переименовать диаграмму.
- Обновить данные — вывести актуальную модель данных приложения на диаграмму.
- Экспортировать — сохранить диаграмму как файл в формате SVG.
- Отображать системные имена — показать для шаблонов и атрибутов системные имена вместо отображаемых названий.
- Очистить — скрыть все элементы диаграммы, при этом соответствующие сущности из приложения не удаляются.
Примечание
Изменения диаграммы модели данных автоматически сохраняются в текущей версии диаграммы.
Конструктор диаграммы модели данных -
Перетащите на диаграмму шаблон записи «Заявки на автомобили» с панели элементов слева.
Добавление шаблона на диаграмму модели данных
Настройка шаблона для справочных данных
Бизнес-логика
Чтобы Заказчик мог указать тип автомобиля в заявке, добавим справочник типов автомобилей.
Для этого создадим шаблон записи «Типы автомобилей», настроим форму типа автомобиля, список типов автомобилей и заполним справочник данными.
Создавать и настраивать справочник будем с помощью конструктора диаграммы модели данных.
Создание шаблона записи «Типы автомобилей»
-
Перетащите на диаграмму модели данных элемент «Новый шаблон записи» с панели элементов.
-
В отобразившемся окне настройте и сохраните новый шаблон:
- Название: Типы автомобилей
- Системное имя: будет заполнено автоматически
Настройка шаблона записи с помощью диаграммы модели данных
Настройка текстового атрибута в качестве заголовка записи
Бизнес-логика
По умолчанию в качестве заголовка записи используется её цифровой идентификатор. Этот идентификатор отображается при выборе типа автомобиля в раскрывающемся списке, но это неинформативно.
Дадим возможность пользователям выбирать тип автомобиля по названию. Для этого создадим текстовый атрибут в шаблоне записи «Типы автомобилей» и установим его в качестве заголовка записей.
Рекомендуем задать атрибут-заголовок записей в каждом шаблоне, чтобы повысить удобство пользования приложением.
Атрибут-заголовок записей
Шаблон записи имеет заголовок, который отображается на формах и в таблицах.
По умолчанию в качестве заголовка используется системный атрибут ID, содержащий цифровой идентификатор записи.
Чтобы выводить наглядный заголовок записи, используйте подходящий атрибут: установите в его свойствах флажок «Использовать как заголовок записей». После этого в заголовках записей будет отображаться значение данного атрибута.
В качестве заголовка записи можно использовать атрибуты следующих типов: Аккаунт, Дата и время, Длительность, Текст, Число.
В качестве заголовка записи можно использовать только один атрибут шаблона.
- Выберите шаблон «Типы автомобилей» на диаграмме.
-
В меню элемента нажмите кнопку «Добавить новый атрибут» .
Переход к созданию атрибута шаблона записи на диаграмме модели данных -
В отобразившемся окне настройте и сохраните новый атрибут:
- Тип данных: текст
- Название: Тип автомобиля
- Использовать как заголовок записей: установите флажок
Настройка нового атрибута с помощью диаграммы модели данных
Настройка формы «Тип автомобиля»
Настроим форму для заполнения справочника типов автомобилей.
- Выберите шаблон «Типы автомобилей» на диаграмме модели данных.
- В меню элемента выберите пункт «Перейти к шаблону» — «Формы» .
- В отобразившемся списке форм дважды нажмите форму «Типы автомобилей — Основная форма», чтобы открыть её.
- Перетащите на форму новую область и переименуйте её в «Тип автомобиля».
- Перетащите атрибут «Тип автомобиля» с панели элементов на область «Тип автомобиля».
- Нажмите кнопку «Сохранить».
- Нажмите кнопку «Настроить шаблон» .
- Отобразится страница свойств шаблона записи «Типы автомобилей»
Настройка таблицы «Типы автомобилей»
Создадим таблицу со списком типов автомобилей.
- Перейдите на вкладку «Таблицы» шаблона записи «Типы автомобилей».
- Дважды нажмите строку «Все записи».
- Отобразится конструктор таблицы.
- В конструкторе таблицы нажмите кнопку «Очистить», чтобы удалить все атрибуты (столбцы) из макета таблицы. Подтвердите очистку.
- Перетащите атрибут «Тип автомобиля» на макет таблицы. Этот атрибут станет столбцом таблицы.
- Сохраните таблицу.
- Нажмите кнопку «Настроить шаблон» .
- Отобразится страница свойств шаблона записи «Типы автомобилей»
Заполнение справочника «Типы автомобилей»
- На вкладке «Свойства» шаблона записи «Типы автомобилей» нажмите кнопку «Перейти к экземплярам».
- В списке записей «Типы автомобилей» нажмите кнопку «Создать».
- Отобразится форма нового типа автомобиля.
- В поле «Тип автомобиля» укажите значение «Легковой»
- Сохраните запись.
- Нажмите ссылку «Типы автомобилей» над формой, чтобы вернуться к списку записей «Типы автомобилей».
-
Аналогичным образом создайте ещё два типа автомобилей — «Представительский» и «Автобус».
Создание записи с типом автомобиля и переход к списку записей -
Должен получиться показанный ниже справочник типов автомобилей.
Справочник «Типы автомобилей»
Создание атрибута, связывающего два шаблона записей
Бизнес-логика
Теперь следует добавить на форму заявки поле «Тип автомобиля», в котором Заказчик будет выбирать вариант из справочника.
Для этого установим связь между шаблонами «Заявки на автомобили» и «Типы автомобилей» с помощью атрибута типа «Запись».
Атрибут типа «Запись»
- Атрибут типа «Запись» используется для создания связи между шаблонами вида «один ко многим» (1:M), «один к одному» (1:1) или «многие ко многим» (N:M).
- При установлении связи «один ко многим» несколько записей одного шаблона могут ссылаться на одну запись другого шаблона.
- Такой шаблон называется связанным шаблоном.
- Связанный шаблон всегда указывается при создании атрибута типа «Запись».
- На диаграмме модели данных заказа автотранспорта выберите шаблон «Заявки на автомобили».
-
В меню элемента нажмите кнопку «Добавить новый атрибут» .
Создание атрибута шаблона записи с помощью диаграммы модели данных -
В отобразившемся окне настройте и сохраните новый атрибут:
- Тип данных: запись
- Название: Тип автомобиля
- Связанный шаблон: Типы автомобилей
Настройка атрибута «Тип автомобиля» -
На диаграмме отобразится связь между шаблонами в виде линии.
Линии связей на диаграмме модели данных
Соединительная линия показывает, что для одной заявки на автомобиль может быть указан только один тип автомобиля, и разные заявки могут ссылаться на один и тот же тип автомобиля.
Для связанных нами шаблонов соединительная линия показывает, что для одной заявки на автомобиль может быть указан только один тип автомобиля — символ , а разные заявки могут ссылаться на один и тот же тип автомобиля — символ
.
Примечание
Если линия связи не отобразилась автоматически, выберите любой шаблон и в меню элементов нажмите кнопку «Показать связанные элементы» .
Настройка шаблона для мастер-данных
Бизнес-логика
Диспетчеру гаража необходимо вести учет автомобилей и видеть, какие автомобили на данный момент свободны.
Для этого создадим шаблон записи для хранения данных конкретного автомобиля — реестр мастер-данных.
Мастер-данные
Мастер-данные описывают объекты учёта, например автомобили, клиенты, товарная номенклатура.
Мастер данные обеспечивают контекст для бизнес-транзакций.
Создание шаблона записи «Автомобили»
- Перетащите на диаграмму модели данных заказа автотранспорта элемент «Новый шаблон записи».
- В отобразившемся окне «Новый шаблон» введите название «Автомобили» и сохраните шаблон.
- Выберите созданный шаблон и в меню элементов выберите пункт «Перейти к шаблону» — «Атрибуты» .
-
Отобразится вкладка «Атрибуты» со списком атрибутов шаблона.
Создание нового шаблона записи с помощью диаграммы модели данных и переход к его списку атрибутов -
Создайте три атрибута типа «Текст» со следующими свойствами:
Название Формат отображения Использовать как заголовок записей Марка Обычный текст Модель Обычный текст Регистрационный номер Регистрационный номер ТС (РФ) Флажок установлен -
Создайте атрибут:
- Название: «Тип»
- Тип данных: запись
- Связанный шаблон: Типы автомобилей
Настройка формы «Автомобиль»
- Перейдите на вкладку «Формы» шаблона записи «Автомобили».
- Откройте форму «Автомобили — Основная форма».
- Для новой области на макете формы укажите отображаемое название «Автомобиль».
- Перетащите на область «Автомобиль» атрибуты «Марка», «Модель», «Регистрационный номер» и «Тип».
- Сохраните форму.
Примечание
Для удобства конечного пользователя можно упорядочить поля с помощью колонок и вкладок.
Вы можете поэкспериментировать с макетом формы, чтобы сделать её более наглядной и удобной.
Настройка таблицы «Автомобили»
Настроим таблицу, чтобы в ней отображались требуемые данные об автомобилях — атрибуты, которые мы создали.
- В конструкторе формы нажмите кнопку «Настроить шаблон» .
- Перейдите на вкладку «Таблицы».
- Откройте таблицу «Все записи».
- Нажмите кнопку «Очистить».
- Перетащите на макет таблицы атрибуты «Марка», «Модель», «Регистрационный номер» и «Тип».
- Сохраните таблицу.
- Нажмите кнопку «Настроить шаблон» , чтобы перейти к свойствам шаблона записи «Автомобили».
Тестирование: справочники и мастер-данные
Создание записи с данными автомобиля
Протестируем созданные справочники и мастер-данные.
- На вкладке «Свойства» шаблона записи «Автомобиль» нажмите кнопку «Перейти к экземплярам».
- Нажмите кнопку «Создать».
- Отобразится форма «Автомобиль».
- Укажите произвольные марку, модель, регистрационный номер ТС и тип автомобиля.
- Нажмите кнопку «Сохранить»
-
Нажмите ссылку «Автомобили» над формой, чтобы вернуться к списку записей.
Создание новой записи в шаблоне «Автомобили» -
Создайте ещё несколько записей в шаблоне «Автомобили», указав при этом разные данные и типы автомобилей, как показано на следующей иллюстрации.
Список автомобилей
Группировка автомобилей в таблице
- В таблице «Автомобили» нажмите значок в столбце «Тип».
- Установите флажок «Группировать» в раскрывшемся меню.
- Нажмите кнопку «Сохранить».
- Пункты в таблице будут сгруппированы по значению атрибута «Тип».
Установление связи между автомобилями и заявками на автомобили
Бизнес-логика
Добавим в реестр данных «Автомобили» информацию о выполненных заявках, в которых использовался этот автомобиль.
Для этого создадим атрибут, который свяжет шаблоны записей «Автомобили» и «Заявки на автомобили» связью «один ко многим» (1:M), то есть на один автомобиль может быть несколько заявок. Такую связь позволяет установить атрибут типа «Запись» с взаимной связью и несколькими значениями.
Атрибут типа «Запись» с несколькими значениями
- Атрибут типа «Запись» позволяет хранить, отображать и изменять набор (коллекцию) связанных записей в связанном шаблоне.
- Между шаблонами можно установить взаимную связь с помощью двух атрибутов типа «Запись», тогда при изменении значения в любом из взаимосвязанных атрибутов во второй атрибут будет автоматически записываться обратная ссылка на запись в связанном шаблоне.
- При создании атрибута типа «Запись» можно настроить взаимную связь с имеющимся или новым атрибутом в связанном шаблоне.
- Пример работы взаимосвязанных атрибутов
- В шаблоне «Автомобили» атрибут «Заявки на автомобиль» взаимосвязан с атрибутом «Автомобили» из шаблона «Заявки на автомобили».
- При указании автомобиля в заявке в соответствующей записи в шаблоне «Автомобили» будет автоматически установлена обратная ссылка на заявку.
Создание взаимосвязанных атрибутов типа «Запись»
-
В шаблоне «Автомобили» создайте атрибут типа «Запись» со следующими свойствами:
- Название: Заявки на автомобиль
- Связанный шаблон Заявки на автомобили
- Хранить несколько значений: установите флажок (только для атрибута «Заявки на автомобиль»)
- Взаимная связь с атрибутом: с новым — это атрибут в шаблоне «Заявки на автомобили»
- Название нового атрибута Автомобиль
- Хранить несколько значений: не устанавливайте флажок
Настройка таблицы на форме «Автомобиль» для отображения связанных заявок
Таблица на форме
На форме атрибут типа «Запись» с несколькими значениями может отображаться в виде таблицы, в столбцах которой отображаются атрибуты связанного шаблона.
Для таблицы на форме можно настроить набор столбцов, режим доступа, отображение дочерних записей, фильтр записей и кнопки.
- Откройте конструктор формы «Автомобили — Основная форма».
- Перетащите атрибут «Заявки на автомобиль» на область «Автомобиль».
-
Для поля «Заявки на автомобиль» выберите представление «Таблица» с помощью панели свойств.
Добавление таблицы на форму -
Раскройте атрибут «Заявки на автомобиль» на панели элементов.
-
Перетащите в таблицу на форме атрибуты «Время подачи», «Маршрут» и «Создатель».
Добавление столбцов в таблицу на форме -
Выберите область кнопок таблицы.
- В панели элементов отобразятся кнопки, доступные таблицы.
- Перетащите на область кнопок таблицы кнопки «Добавить» и «Перейти». Эти кнопки позволят привязывать имеющиеся заявки к автомобилю и переходить к заявкам, связанным с автомобилем.
-
Сохраните форму.
Настройка кнопок для работы с записями в связанном шаблоне
Настройка шаблонов транзакционных данных для учёта затрат
Бизнес-логика
Мы научились работать со справочниками и мастер-данными. Помимо этого для бизнес-процесса могут потребоваться транзакционные данные, дополняющие исходные данные процесса (заявку на автомобиль).
Например, мы можем хранить список пассажиров или точек маршрута в дополнение к пункту назначения. Кроме того, водитель может регистрировать расходы, понесённые во время поездки.
Для этого нам потребуются два новых шаблона записей: затраты на поездки (транзакционные данные) и типы затрат (справочник). Эти шаблоны мы свяжем с заявкой: заявки — с затратами, а затраты — с типами затрат.
Создание шаблона записи «Типы затрат»
Создадим справочник типов затрат. Для этого вернемся к диаграмме модели данных.
- Выберите на панели навигации слева раздел «Настройки» — «Приложения».
- Перейдите в приложение — «Управление автопарком».
- Выберите раздел «Диаграммы» и перейдите к диаграмме «Модель данных — Заказ автотранспорта».
- Создайте новый шаблон записи «Типы затрат».
- Выберите созданный шаблон и в меню элемента нажмите кнопку «Добавить новый атрибут» .
-
Настройте и сохраните новый атрибут:
- НазваниеНазвание
- Тип данных: текст
- Использовать как заголовок записей: установите флажок
Настройка формы «Тип затрат»
- На диаграмме модели данных выберите шаблон. записи «Типы затрат»
-
С помощью меню элемента перейдите на вкладку «Формы».
Переход к списку формы шаблона записи с диаграммы модели данных -
Откройте форму «Типы затрат — Основная форма».
- Создайте область «Укажите тип затрат» и перетащите на нее атрибут «Название».
- Сохраните форму.
-
Нажмите кнопку «Настроить шаблон» , чтобы перейти к свойствам шаблона.
Настройка формы «Типы затрат — Основная форма»
Настройка таблицы «Типы затрат»
- Перейдите на вкладку «Таблицы» шаблона «Типы затрат».
- Настройте таблицу «Все записи» так, чтобы в ней отображался только атрибут «Название».
- Сохраните таблицу.
-
Нажмите кнопку «Настроить шаблон» , чтобы перейти к свойствам шаблона.
Настройка таблицы «Типы затрат»
Заполнение справочника «Типы затрат»
- Перейдите к списку экземпляров шаблона записи «Типы затрат».
-
Создайте следующие типы затрат:
- Топливо
- Сервис
- Прочее
Создание шаблона записи «Затраты»
- Вернитесь к диаграмме модели данных и создайте шаблон записи «Затраты».
-
Выберите созданный шаблон и создайте следующие атрибуты:
Название Тип данных Свойства Сумма Число Количество знаков после запятой: 2 Тип затрат Запись Связанный шаблон: Типы затрат
Настройка формы «Затраты»
- На диаграмме модели данных перейдите к вкладке «Формы» шаблона «Затраты» через меню элемента.
- Откройте конструктор формы «Затраты — Основная форма».
- Создайте на форме область «Затраты».
- Перетащите на область «Затраты» атрибуты «Сумма» и «Тип затрат».
-
Сохраните форму.
Настройка формы «Затраты» -
Вернитесь к диаграмме модели данных.
- На диаграмме должна отображаться связь между шаблонами «Типы затрат» и «Затраты».
-
Если связь не отображается, в меню элемента шаблона «Типы затрат» нажмите кнопку «Показать связанные элементы» .
Отображение связей шаблона «Типы затрат» на диаграмме модели данных
Установление связей между заявками на автомобили с затратами
Теперь свяжем реестр данных «Заявки на автомобили» с «Затратами» с помощью взаимной связи атрибутов типа «Запись»…
- На диаграмме модели данных выберите шаблон «Заявки на автомобили».
- Нажмите кнопку «Добавить новый атрибут» в меню элемента.
-
Создайте атрибут со следующими свойствами:
- Тип данных: запись
- Название: Затраты
- Хранить несколько значений: установите флажок (только для атрибута «Затраты»)
- Связанный шаблон: Затраты
- Взаимная связь с атрибутом: с новым
- Название нового атрибута: Заявка
- Хранить несколько значений: не устанавливайте флажок
Настройка взаимосвязанных атрибутов «Затраты» и «Заявка» -
На диаграмме должна отображаться связь между шаблонами «Заявки на автомобили» и «Затраты». Если связь не отображается, в меню элемента шаблона «Заявки на автомобили» нажмите кнопку «Показать связанные элементы» .
Отображение связей шаблона записи «Заявки на автомобили»
Настройка таблицы затрат
- Откройте диаграмму модели данных.
-
Перейдите к списку таблиц шаблона «Затраты», выбрав в его меню элемента пункт «Перейти к шаблону» — «Таблицы» .
Переход к таблицам шаблона записи «Затраты» с диаграммы модели данных -
Настройте таблицу «Все записи» шаблона «Затраты» так, чтобы в ней отображались атрибуты «Заявка», «Тип затрат» и «Сумма».
-
Сохраните таблицу.
Настройка таблицы «Все записи» шаблона «Затраты»
Результаты
В ходе этого урока вы познакомились с новым типом атрибутов — «Запись» и узнали, как с его помощью установить взаимную связь между шаблонами записей.
Мы улучшили наше приложение — добавили в него справочник «Типы автомобилей» и мастер-данные для учёта автомобилей.
В следующем уроке мы усовершенствуем наш процесс — используем созданный справочник, мастер-данные и транзакционные данные.
Эта статья была полезна 1 чел.