Урок 5. Структуры данных


Введение

В ходе этого урока вы научитесь использовать диаграмму «сущность-связь» для визуальной настройки модели данных приложения, создания шаблонов записей различных типов (для справочников, мастер-данных и транзакционных данных) и установления связей между ними.

Предусловия: пройден урок 2 «Мой первый реестр данных».

Расчётная продолжительность: 70 мин.

Примечание

В данном уроке представлен продукт Comindware Platform версии 5.0, внешний вид страниц и меню в других версиях продукта может отличаться.

Определения

  • В Comindware Platform для визуализации и проектирования модели данных приложения используются диаграммы «сущность-связь» (ER-диаграммы).
  • Диаграмма модели данных наглядно показывает шаблоны записей, их атрибуты и связи друг с другом.
  • Непосредственно в ходе создания и редактирования диаграммы можно создавать и настраивать новые шаблоны записей (реестры данных) и добавлять атрибуты.
  • Это позволяет настраивать приложение и при этом видеть его модель данных в целом.

Создание диаграммы модели данных

  1. На панели навигации слева выберите пункты «Настройки» — «Диаграммы».
  2. Отобразится список диаграмм всех приложений.

    Примечание

    • По умолчанию список диаграмм содержит диаграммы процессов и диаграммы классов:
      • диаграмма классов создается автоматически для каждого приложения;
      • диаграмма процесса создается автоматически для каждого шаблона процесса.
  3. Создайте диаграмму, нажав кнопку «Создать».

  4. В отобразившемся окне настройте новую диаграмму:

    • Название: Модель данных — заказ автотранспорта
    • Тип: диаграмма модели данных
    • приложение Управление автопарком
  5. Нажмите кнопку «Сохранить».

    Создание новой диаграммы модели данных
    Создание новой диаграммы модели данных

  6. Отобразится конструктор диаграммы модели данных.

    Конструктор диаграммы модели данных

    Конструктор диаграммы модели данных содержит следующие области:

    (1) Панель элементов — содержит имеющиеся шаблоны и кнопки для создания новых.

    (2) Диаграмма — отображает шаблоны, атрибуты и связи между ними.

    (3) Кнопки

    • Выбрать версию — загрузить одну из ранее сохраненных версий диаграммы.
    • Создать новую версию — сохранить текущую диаграмму как новую версию.
    • Клонировать — создать новую диаграмму путем копирования текущей.
    • Настройки — переименовать диаграмму.
    • Обновить данные — вывести актуальную модель данных приложения на диаграмму.
    • Экспортировать — сохранить диаграмму как файл в формате SVG.
    • Отображать системные имена — показать для шаблонов и атрибутов системные имена вместо отображаемых названий.
    • Очистить — скрыть все элементы диаграммы, при этом соответствующие сущности из приложения не удаляются.

    Примечание

    Изменения диаграммы модели данных автоматически сохраняются в текущей версии диаграммы.

    Конструктор диаграммы модели данных
    Конструктор диаграммы модели данных

  7. Перетащите на диаграмму шаблон записи «Заявки на автомобили» с панели элементов слева.

    Добавление шаблона на диаграмму модели данных
    Добавление шаблона на диаграмму модели данных

Настройка шаблона для справочных данных

Бизнес-логика

Чтобы Заказчик мог указать тип автомобиля в заявке, добавим справочник типов автомобилей.

Для этого создадим шаблон записи «Типы автомобилей», настроим форму типа автомобиля, список типов автомобилей и заполним справочник данными.

Создавать и настраивать справочник будем с помощью конструктора диаграммы модели данных.

Создание шаблона записи «Типы автомобилей»

  1. Перетащите на диаграмму модели данных элемент «Новый шаблон записи» с панели элементов.

    Создание шаблона записи на диаграмме модели данных

  2. В отобразившемся окне настройте и сохраните новый шаблон:

    • Название: Типы автомобилей
    • Системное имя: будет заполнено автоматически

    Настройка шаблона записи с помощью диаграммы модели данных
    Настройка шаблона записи с помощью диаграммы модели данных

Настройка текстового атрибута в качестве заголовка записи

Бизнес-логика

По умолчанию в качестве заголовка записи используется её цифровой идентификатор. Этот идентификатор отображается при выборе типа автомобиля в раскрывающемся списке, но это неинформативно.

Дадим возможность пользователям выбирать тип автомобиля по названию. Для этого создадим текстовый атрибут в шаблоне записи «Типы автомобилей» и установим его в качестве заголовка записей.

Рекомендуем задать атрибут-заголовок записей в каждом шаблоне, чтобы повысить удобство пользования приложением.

Атрибут-заголовок записей

Шаблон записи имеет заголовок, который отображается на формах и в таблицах.

По умолчанию в качестве заголовка используется системный атрибут ID, содержащий цифровой идентификатор записи.

Чтобы выводить наглядный заголовок записи, используйте подходящий атрибут: установите в его свойствах флажок «Использовать как заголовок записей». После этого в заголовках записей будет отображаться значение данного атрибута.

В качестве заголовка записи можно использовать атрибуты следующих типов: Аккаунт, Дата и время, Длительность, Текст, Число.

В качестве заголовка записи можно использовать только один атрибут шаблона.

  1. Выберите шаблон «Типы автомобилей» на диаграмме.
  2. В меню элемента нажмите кнопку «Добавить новый атрибут» .

    Переход к созданию атрибута шаблона записи на диаграмме модели данных
    Переход к созданию атрибута шаблона записи на диаграмме модели данных

  3. В отобразившемся окне настройте и сохраните новый атрибут:

    • Тип данных: текст
    • Название: Тип автомобиля
    • Использовать как заголовок записей: установите флажок

    Настройка нового атрибута с помощью диаграммы модели данных
    Настройка нового атрибута с помощью диаграммы модели данных

Настройка формы «Тип автомобиля»

Настроим форму для заполнения справочника типов автомобилей.

  1. Выберите шаблон «Типы автомобилей» на диаграмме модели данных.
  2. В меню элемента выберите пункт «Перейти к шаблону» — «Формы» .
  3. В отобразившемся списке форм дважды нажмите форму «Типы автомобилей — Основная форма», чтобы открыть её.
  4. Перетащите на форму новую область и переименуйте её в «Тип автомобиля».
  5. Перетащите атрибут «Тип автомобиля» с панели элементов на область «Тип автомобиля».
  6. Нажмите кнопку «Сохранить».
  7. Нажмите кнопку «Настроить шаблон» .
  8. Отобразится страница свойств шаблона записи «Типы автомобилей»

Настройка таблицы «Типы автомобилей»

Создадим таблицу со списком типов автомобилей.

  1. Перейдите на вкладку «Таблицы» шаблона записи «Типы автомобилей».
  2. Дважды нажмите строку «Все записи».
  3. Отобразится конструктор таблицы.
  4. В конструкторе таблицы нажмите кнопку «Очистить», чтобы удалить все атрибуты (столбцы) из макета таблицы. Подтвердите очистку.
  5. Перетащите атрибут «Тип автомобиля» на макет таблицы. Этот атрибут станет столбцом таблицы.
  6. Сохраните таблицу.
  7. Нажмите кнопку «Настроить шаблон» .
  8. Отобразится страница свойств шаблона записи «Типы автомобилей»

Заполнение справочника «Типы автомобилей»

  1. На вкладке «Свойства» шаблона записи «Типы автомобилей» нажмите кнопку «Перейти к экземплярам».
  2. В списке записей «Типы автомобилей» нажмите кнопку «Создать».
  3. Отобразится форма нового типа автомобиля.
  4. В поле «Тип автомобиля» укажите значение «Легковой»
  5. Сохраните запись.
  6. Нажмите ссылку «Типы автомобилей» над формой, чтобы вернуться к списку записей «Типы автомобилей».
  7. Аналогичным образом создайте ещё два типа автомобилей — «Представительский» и «Автобус».

    Создание записи с типом автомобиля и переход к списку записей
    Создание записи с типом автомобиля и переход к списку записей

  8. Должен получиться показанный ниже справочник типов автомобилей.

    Справочник «Типы автомобилей»
    Справочник «Типы автомобилей»

Создание атрибута, связывающего два шаблона записей

Бизнес-логика

Теперь следует добавить на форму заявки поле «Тип автомобиля», в котором Заказчик будет выбирать вариант из справочника.

Для этого установим связь между шаблонами «Заявки на автомобили» и «Типы автомобилей» с помощью атрибута типа «Запись».

Атрибут типа «Запись»

  • Атрибут типа «Запись» используется для создания связи между шаблонами вида «один ко многим» (1:M), «один к одному» (1:1) или «многие ко многим» (N:M).
  • При установлении связи «один ко многим» несколько записей одного шаблона могут ссылаться на одну запись другого шаблона.
  • Такой шаблон называется связанным шаблоном.
  • Связанный шаблон всегда указывается при создании атрибута типа «Запись».
  1. На диаграмме модели данных заказа автотранспорта выберите шаблон «Заявки на автомобили».
  2. В меню элемента нажмите кнопку «Добавить новый атрибут» .

    Создание атрибута шаблона записи с помощью диаграммы модели данных
    Создание атрибута шаблона записи с помощью диаграммы модели данных

  3. В отобразившемся окне настройте и сохраните новый атрибут:

    • Тип данных: запись
    • Название: Тип автомобиля
    • Связанный шаблон: Типы автомобилей

    Настройка атрибута «Тип автомобиля»
    Настройка атрибута «Тип автомобиля»

  4. На диаграмме отобразится связь между шаблонами в виде линии.

Линии связей на диаграмме модели данных

Соединительная линия показывает, что для одной заявки на автомобиль может быть указан только один тип автомобиля, и разные заявки могут ссылаться на один и тот же тип автомобиля.

Для связанных нами шаблонов соединительная линия показывает, что для одной заявки на автомобиль может быть указан только один тип автомобиля — символ Символ «один» на ER-диаграмме, а разные заявки могут ссылаться на один и тот же тип автомобиля — символ Символ «многие» на ER-диаграмме.

Примечание

Если линия связи не отобразилась автоматически, выберите любой шаблон и в меню элементов нажмите кнопку «Показать связанные элементы» .

Отображение связи между шаблонами

Отображение связи между шаблонами

Настройка шаблона для мастер-данных

Бизнес-логика

Диспетчеру гаража необходимо вести учет автомобилей и видеть, какие автомобили на данный момент свободны.

Для этого создадим шаблон записи для хранения данных конкретного автомобиля — реестр мастер-данных.

Мастер-данные

Мастер-данные описывают объекты учёта, например автомобили, клиенты, товарная номенклатура.

Мастер данные обеспечивают контекст для бизнес-транзакций.

Создание шаблона записи «Автомобили»

  1. Перетащите на диаграмму модели данных заказа автотранспорта элемент «Новый шаблон записи».
  2. В отобразившемся окне «Новый шаблон» введите название «Автомобили» и сохраните шаблон.
  3. Выберите созданный шаблон и в меню элементов выберите пункт «Перейти к шаблону» — «Атрибуты» .
  4. Отобразится вкладка «Атрибуты» со списком атрибутов шаблона.

    Создание нового шаблона записи с помощью диаграммы модели данных и переход к его списку атрибутов
    Создание нового шаблона записи с помощью диаграммы модели данных и переход к его списку атрибутов

  5. Создайте три атрибута типа «Текст» со следующими свойствами:

    Название Формат отображения Использовать как заголовок записей
    Марка Обычный текст
    Модель Обычный текст
    Регистрационный номер Регистрационный номер ТС (РФ) Флажок установлен
  6. Создайте атрибут:

    • Название: «Тип»
    • Тип данных: запись
    • Связанный шаблон: Типы автомобилей

Атрибуты шаблона записи «Автомобили»

Атрибуты шаблона записи «Автомобили»

Настройка формы «Автомобиль»

  1. Перейдите на вкладку «Формы» шаблона записи «Автомобили».
  2. Откройте форму «Автомобили — Основная форма».
  3. Для новой области на макете формы укажите отображаемое название «Автомобиль».
  4. Перетащите на область «Автомобиль» атрибуты «Марка», «Модель», «Регистрационный номер» и «Тип».
  5. Сохраните форму.

Примечание

Для удобства конечного пользователя можно упорядочить поля с помощью колонок и вкладок.

Вы можете поэкспериментировать с макетом формы, чтобы сделать её более наглядной и удобной.

Настройка формы «Автомобиль»

Настройка формы «Автомобиль»

Настройка таблицы «Автомобили»

Настроим таблицу, чтобы в ней отображались требуемые данные об автомобилях — атрибуты, которые мы создали.

  1. В конструкторе формы нажмите кнопку «Настроить шаблон» .
  2. Перейдите на вкладку «Таблицы».
  3. Откройте таблицу «Все записи».
  4. Нажмите кнопку «Очистить».
  5. Перетащите на макет таблицы атрибуты «Марка», «Модель», «Регистрационный номер» и «Тип».
  6. Сохраните таблицу.
  7. Нажмите кнопку «Настроить шаблон» , чтобы перейти к свойствам шаблона записи «Автомобили».

Настройка таблицы «Автомобили»

Настройка таблицы «Автомобили»

Тестирование: справочники и мастер-данные

Создание записи с данными автомобиля

Протестируем созданные справочники и мастер-данные.

  1. На вкладке «Свойства» шаблона записи «Автомобиль» нажмите кнопку «Перейти к экземплярам».
  2. Нажмите кнопку «Создать».
  3. Отобразится форма «Автомобиль».
  4. Укажите произвольные марку, модель, регистрационный номер ТС и тип автомобиля.
  5. Нажмите кнопку «Сохранить»
  6. Нажмите ссылку «Автомобили» над формой, чтобы вернуться к списку записей.

    Создание новой записи в шаблоне «Автомобили»
    Создание новой записи в шаблоне «Автомобили»

  7. Создайте ещё несколько записей в шаблоне «Автомобили», указав при этом разные данные и типы автомобилей, как показано на следующей иллюстрации.

    Список автомобилей
    Список автомобилей

Группировка автомобилей в таблице

  1. В таблице «Автомобили» нажмите значок в столбце «Тип».
  2. Установите флажок «Группировать» в раскрывшемся меню.
  3. Нажмите кнопку «Сохранить».
  4. Пункты в таблице будут сгруппированы по значению атрибута «Тип».

Группировка записей по значению атрибута «Тип»

Группировка записей по значению атрибута «Тип»

Установление связи между автомобилями и заявками на автомобили

Бизнес-логика

Добавим в реестр данных «Автомобили» информацию о выполненных заявках, в которых использовался этот автомобиль.

Для этого создадим атрибут, который свяжет шаблоны записей «Автомобили» и «Заявки на автомобили» связью «один ко многим» (1:M), то есть на один автомобиль может быть несколько заявок. Такую связь позволяет установить атрибут типа «Запись» с взаимной связью и несколькими значениями.

Атрибут типа «Запись» с несколькими значениями

  • Атрибут типа «Запись» позволяет хранить, отображать и изменять набор (коллекцию) связанных записей в связанном шаблоне.
  • Между шаблонами можно установить взаимную связь с помощью двух атрибутов типа «Запись», тогда при изменении значения в любом из взаимосвязанных атрибутов во второй атрибут будет автоматически записываться обратная ссылка на запись в связанном шаблоне.
  • При создании атрибута типа «Запись» можно настроить взаимную связь с имеющимся или новым атрибутом в связанном шаблоне.
  • Пример работы взаимосвязанных атрибутов
    • В шаблоне «Автомобили» атрибут «Заявки на автомобиль» взаимосвязан с атрибутом «Автомобили» из шаблона «Заявки на автомобили».
    • При указании автомобиля в заявке в соответствующей записи в шаблоне «Автомобили» будет автоматически установлена обратная ссылка на заявку.

Создание взаимосвязанных атрибутов типа «Запись»

  1. В шаблоне «Автомобили» создайте атрибут типа «Запись» со следующими свойствами:

    • Название: Заявки на автомобиль
    • Связанный шаблон Заявки на автомобили
    • Хранить несколько значений: установите флажок (только для атрибута «Заявки на автомобиль»)
    • Взаимная связь с атрибутом: с новым — это атрибут в шаблоне «Заявки на автомобили»
      • Название нового атрибута Автомобиль
      • Хранить несколько значений: не устанавливайте флажок

Создание атрибута «Заявки на автомобиль», взаимосвязанного с атрибутом «Автомобили»

Создание атрибута «Заявки на автомобиль», взаимосвязанного с атрибутом «Автомобили»

Настройка таблицы на форме «Автомобиль» для отображения связанных заявок

Таблица на форме

На форме атрибут типа «Запись» с несколькими значениями может отображаться в виде таблицы, в столбцах которой отображаются атрибуты связанного шаблона.

Для таблицы на форме можно настроить набор столбцов, режим доступа, отображение дочерних записей, фильтр записей и кнопки.

  1. Откройте конструктор формы «Автомобили — Основная форма».
  2. Перетащите атрибут «Заявки на автомобиль» на область «Автомобиль».
  3. Для поля «Заявки на автомобиль» выберите представление «Таблица» с помощью панели свойств.

    Добавление таблицы на форму
    Добавление таблицы на форму

  4. Раскройте атрибут «Заявки на автомобиль» на панели элементов.

  5. Перетащите в таблицу на форме атрибуты «Время подачи», «Маршрут» и «Создатель».

    Добавление столбцов в таблицу на форме
    Добавление столбцов в таблицу на форме

  6. Выберите область кнопок таблицы.

  7. В панели элементов отобразятся кнопки, доступные таблицы.
  8. Перетащите на область кнопок таблицы кнопки «Добавить» и «Перейти». Эти кнопки позволят привязывать имеющиеся заявки к автомобилю и переходить к заявкам, связанным с автомобилем.
  9. Сохраните форму.

    Настройка кнопок для работы с записями в связанном шаблоне
    Настройка кнопок для работы с записями в связанном шаблоне

Настройка шаблонов транзакционных данных для учёта затрат

Бизнес-логика

Мы научились работать со справочниками и мастер-данными. Помимо этого для бизнес-процесса могут потребоваться транзакционные данные, дополняющие исходные данные процесса (заявку на автомобиль).

Например, мы можем хранить список пассажиров или точек маршрута в дополнение к пункту назначения. Кроме того, водитель может регистрировать расходы, понесённые во время поездки.

Для этого нам потребуются два новых шаблона записей: затраты на поездки (транзакционные данные) и типы затрат (справочник). Эти шаблоны мы свяжем с заявкой: заявки — с затратами, а затраты — с типами затрат.

Создание шаблона записи «Типы затрат»

Создадим справочник типов затрат. Для этого вернемся к диаграмме модели данных.

  1. Выберите на панели навигации слева раздел «Настройки» — «Приложения».
  2. Перейдите в приложение — «Управление автопарком».
  3. Выберите раздел «Диаграммы» и перейдите к диаграмме «Модель данных — Заказ автотранспорта».
  4. Создайте новый шаблон записи «Типы затрат».
  5. Выберите созданный шаблон и в меню элемента нажмите кнопку «Добавить новый атрибут» .
  6. Настройте и сохраните новый атрибут:

    • НазваниеНазвание
    • Тип данных: текст
    • Использовать как заголовок записей: установите флажок

Настройка формы «Тип затрат»

  1. На диаграмме модели данных выберите шаблон. записи «Типы затрат»
  2. С помощью меню элемента перейдите на вкладку «Формы».

    Переход к списку формы шаблона записи с диаграммы модели данных
    Переход к списку формы шаблона записи с диаграммы модели данных

  3. Откройте форму «Типы затрат — Основная форма».

  4. Создайте область «Укажите тип затрат» и перетащите на нее атрибут «Название».
  5. Сохраните форму.
  6. Нажмите кнопку «Настроить шаблон» , чтобы перейти к свойствам шаблона.

    Настройка формы «Типы затрат — Основная форма»
    Настройка формы «Типы затрат — Основная форма»

Настройка таблицы «Типы затрат»

  1. Перейдите на вкладку «Таблицы» шаблона «Типы затрат».
  2. Настройте таблицу «Все записи» так, чтобы в ней отображался только атрибут «Название».
  3. Сохраните таблицу.
  4. Нажмите кнопку «Настроить шаблон» , чтобы перейти к свойствам шаблона.

    Настройка таблицы «Типы затрат»
    Настройка таблицы «Типы затрат»

Заполнение справочника «Типы затрат»

  1. Перейдите к списку экземпляров шаблона записи «Типы затрат».
  2. Создайте следующие типы затрат:

    • Топливо
    • Сервис
    • Прочее

Список типов затрат

Список типов затрат

Создание шаблона записи «Затраты»

  1. Вернитесь к диаграмме модели данных и создайте шаблон записи «Затраты».
  2. Выберите созданный шаблон и создайте следующие атрибуты:

    Название Тип данных Свойства
    Сумма Число Количество знаков после запятой: 2
    Тип затрат Запись Связанный шаблон: Типы затрат

Настройка формы «Затраты»

  1. На диаграмме модели данных перейдите к вкладке «Формы» шаблона «Затраты» через меню элемента.
  2. Откройте конструктор формы «Затраты — Основная форма».
  3. Создайте на форме область «Затраты».
  4. Перетащите на область «Затраты» атрибуты «Сумма» и «Тип затрат».
  5. Сохраните форму.

    Настройка формы «Затраты»
    Настройка формы «Затраты»

  6. Вернитесь к диаграмме модели данных.

  7. На диаграмме должна отображаться связь между шаблонами «Типы затрат» и «Затраты».
  8. Если связь не отображается, в меню элемента шаблона «Типы затрат» нажмите кнопку «Показать связанные элементы» .

    Отображение связей шаблона «Типы затрат» на диаграмме модели данных
    Отображение связей шаблона «Типы затрат» на диаграмме модели данных

Установление связей между заявками на автомобили с затратами

Теперь свяжем реестр данных «Заявки на автомобили» с «Затратами» с помощью взаимной связи атрибутов типа «Запись»…

  1. На диаграмме модели данных выберите шаблон «Заявки на автомобили».
  2. Нажмите кнопку «Добавить новый атрибут» в меню элемента.
  3. Создайте атрибут со следующими свойствами:

    • Тип данных: запись
    • Название: Затраты
    • Хранить несколько значений: установите флажок (только для атрибута «Затраты»)
    • Связанный шаблон: Затраты
    • Взаимная связь с атрибутом: с новым
      • Название нового атрибута: Заявка
      • Хранить несколько значений: не устанавливайте флажок

    Настройка взаимосвязанных атрибутов «Затраты» и «Заявка»
    Настройка взаимосвязанных атрибутов «Затраты» и «Заявка»

  4. На диаграмме должна отображаться связь между шаблонами «Заявки на автомобили» и «Затраты». Если связь не отображается, в меню элемента шаблона «Заявки на автомобили» нажмите кнопку «Показать связанные элементы» .

    Отображение связей шаблона записи «Заявки на автомобили»
    Отображение связей шаблона записи «Заявки на автомобили»

Настройка таблицы затрат

  1. Откройте диаграмму модели данных.
  2. Перейдите к списку таблиц шаблона «Затраты», выбрав в его меню элемента пункт «Перейти к шаблону» — «Таблицы» .

    Переход к таблицам шаблона записи «Затраты» с диаграммы модели данных
    Переход к таблицам шаблона записи «Затраты» с диаграммы модели данных

  3. Настройте таблицу «Все записи» шаблона «Затраты» так, чтобы в ней отображались атрибуты «Заявка», «Тип затрат» и «Сумма».

  4. Сохраните таблицу.

    Настройка таблицы «Все записи» шаблона «Затраты»
    Настройка таблицы «Все записи» шаблона «Затраты»

Результаты

В ходе этого урока вы познакомились с новым типом атрибутов — «Запись» и узнали, как с его помощью установить взаимную связь между шаблонами записей.

Мы улучшили наше приложение — добавили в него справочник «Типы автомобилей» и мастер-данные для учёта автомобилей.

В следующем уроке мы усовершенствуем наш процесс — используем созданный справочник, мастер-данные и транзакционные данные.

К началу


Номер Статьи: 4869
Размещено: Tue, Mar 29, 2022
Последнее обновление: Fri, May 31, 2024

Online URL: https://kb.comindware.ru/article/urok-5-struktury-dannyh-4869.html