Перейти к содержанию

Статья для предыдущей поддерживаемой версии ПО — 4.7!

Текущая рекомендованная версия — Comindware Platform 5.0. См. документацию к версии 5.0.

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

Введение

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

Предусловия: пройден Урок 2. Мой первый реестр данных, создан и настроен реестр данных «Заявка на автомобиль».

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

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

Диаграмма «сущность-связь»

Определение

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

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

Примечание

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

2. Нажмите кнопку «Создать», чтобы создать новую диаграмму.

3. В окне «Новая диаграмма» укажите название «Модель данных — заказ автотранспорта»тип « Диаграмма модели данных» и приложение «Управление автопарком». 

4. Нажмите кнопку «Сохранить».

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

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

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

Определение

Конструктор диаграммы позволяет создавать и редактировать модель данных приложения.
Конструктор диаграммы содержит:
(1) панель элементов, которая содержит уже созданные шаблоны и кнопки для создания новых;
(2) область диаграммы;
(3) кнопки для работы с диаграммой. 

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

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

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

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

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

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

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

Примечание

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

Добавим справочник типов автомобилей…

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

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

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

2. В окне «Новый шаблон» введите название  шаблона — «Тип автомобиля» и нажмите кнопку «Создать».

Создание нового шаблона записи

Создание нового шаблона записи

Создадим атрибут текстового типа для реестра данных «Тип автомобиля»…

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

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

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

Отобразится форма создания атрибута.

2. Укажите тип данных «Текст» и название атрибута «Тип автомобиля».

3. Установите флажок «Использовать как заголовок записей».

4. Нажмите кнопку «Сохранить».

Окно свойств нового атрибута

Окно свойств нового атрибута

Примечание

Когда установлен флажок «Использовать как заголовок записей», что значение этого атрибута будет отображаться как заголовок записей этого шаблона на формах и в таблицах. Если в качестве заголовка записей не выбран ни один атрибут, заголовком будет ID записи — служебный числовой идентификатор. Это будет неинформативно, поэтому атрибут-заголовок записей следует задать. 

Настроим форму, с помощью которой мы будем заполнять справочник типов автомобилей…

1. Выберите шаблон «Тип автомобиля» на диаграмме. В меню элемента выберите пункт «Перейти к шаблону» — «Формы».

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

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

2. В отобразившемся списке форм дважды нажмите форму «Тип автомобиля — Основная форма», чтобы открыть её.

3. Перетащите на форму новую область и переименуйте её в «Тип автомобиля».

4. Перетащите атрибут «Тип автомобиля» с панели элементов на область «Тип автомобиля».

5. Нажмите кнопку «Сохранить».

6. Нажмите кнопку «Настроить шаблон» .

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

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

Создадим таблицу «Тип автомобиля»…

1. Перейдите на вкладку «Таблицы» шаблона записи «Тип автомобиля» .

2.  Дважды нажмите строку «Все записи», чтобы перейти к конструктору таблицы.

Вкладка «Таблицы» шаблона записи

Вкладка «Таблицы» шаблона записи

3. В конструкторе таблицы нажмите кнопку «Очистить», чтобы удалить все атрибуты из макета таблицы. В отобразившемся диалоговом окне подтвердите очистку.

4. Перетащите атрибут «Тип автомобиля» на форму.

5. Нажмите кнопку «Сохранить».

6. Нажмите кнопку «Настроить шаблон» для возврата к вкладке «Свойства» шаблона записи «Тип автомобиля».

Добавление в список атрибута «Тип автомобиля»

Добавление в список атрибута «Тип автомобиля»

Заполним справочник типов автомобилей…

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

2.  В списке записей «Тип автомобиля» нажмите кнопку «Создать».

3. В поле «Тип автомобиля» укажите значение «Легковой» и нажмите кнопку «Сохранить».

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

5. Аналогичным образом создайте ещё два типа автомобилей — «Представительский» и «Автобус».

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

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

Справочник типов автомобилей готов:

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

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

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

Определение

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

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

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

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

2. В окне «Новый атрибут» выберите тип данных «Запись» и укажите название «Тип автомобиля».

3. Выберите связанный шаблон «Тип автомобиля».

4. Остальные поля оставьте неизменными.

5. Нажмите кнопку «Сохранить».

Настройка атрибута типа «Запись»

Настройка атрибута типа «Запись»

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

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

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

Примечание

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

Примечание

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

Мастер-данные «Автомобиль»

Определение

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

Сотрудникам Гаража необходимо вести учет автомобилей и видеть, какие автомобили на данный момент свободны. Для этого создадим реестр данных (шаблон записи), где будут храниться данные конкретного автомобиля. 

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

2. Выберите добавленный шаблон и перейдите на его вкладку «Атрибуты».

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

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

3. Добавьте три атрибута типа «Текст»:

  • Марка
  • Модель
  • Регистрационный номер — для этого атрибута выберите  формат отображения «Регистрационный номер ТС (РФ)» и установите флажок «Использовать как заголовок записей»

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

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

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

5. Перейдите на вкладку «Формы» и откройте конструктор формы «Автомобиль — Основная форма».

6 . Для новой области на макете формы укажите отображаемое название «Автомобиль».

7. Перетащите только что созданные атрибуты на область «Автомобиль» в конструкторе формы.

Примечание

Для удобства конечного пользователя можно использовать элементы «Колонки» и «Вкладки»,  позволяющие упорядочить поля формы. Вы можете поэкспериментировать с макетом формы.

8. Нажмите кнопку «Сохранить».

Создание основной формы «Автомобиль»

Создание основной формы «Автомобиль»

Настроим таблицу, чтобы в ней отображались нужные нам атрибуты…

1. Нажмите кнопку «Настроить шаблон» и перейдите на вкладку «Таблицы».

2. Откройте конструктор таблицы «Все записи».

3. Нажмите кнопку «Очистить».

4. Перетащите на макет таблицы атрибуты: «Марка», «Модель», «Регистрационный номер» и «Тип».

5. Нажмите кнопку «Сохранить».

6. Нажмите кнопку «Настроить шаблон», чтобы перейти к свойствам шаблона записи «Автомобиль». 

Создание списка

Создание списка

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

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

1. На вкладке «Свойства» шаблона записи «Автомобиль» нажмите кнопку «Перейти к экземплярам».

2. Нажмите кнопку «Создать». Отобразится форма «Автомобиль».

3. Заполните экранную форму, в поле «Тип» выберите тип автомобиля.

4. Нажмите кнопку «Сохранить»

5. Нажмите ссылку «Автомобиль» над формой, чтобы вернуться к списку записей.

Заполнение формы новой записи «Автомобиль»

Заполнение формы новой записи «Автомобиль»

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

Список записей «Автомобиль»

Список записей «Автомобиль»

Теперь настроим список с группировкой по типу автомобиля…

1. Щелкните значок воронки в столбце «Тип».

2. Установите флажок «Группировать» в раскрывшемся меню.

3. Нажмите кнопку «Сохранить».

Пункты в списке будут сгруппированы по значению атрибута «Тип».

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

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

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

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

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

Определение

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

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

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

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

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

2. Откройте конструктор формы «Автомобиль — Основная форма» и перетащите атрибут «Заявки на автомобиль» на область «Автомобиль».

3. Выберите представление «Таблица» с помощью панели свойств.

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

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

Примечание

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

4. Раскройте атрибут «Заявки на автомобиль» на панели элементов и перетащите в таблицу на форме атрибуты «Время подачи», «Маршрут» и «Создатель».

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

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

5. Выберите область кнопок таблицы и перетащите на нее кнопки «Добавить» и «Перейти». Это позволит привязывать имеющиеся заявки к автомобилю и переходить к связанным с ним заявкам.

6. Нажмите кнопку «Сохранить».

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

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

Транзакционные данные: затраты

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

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

Или можно дать возможность водителю отчитаться о затратах, сделанных в ходе рейса.

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

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

1. Выберите на панели навигации слева раздел «Настройки» — «Приложения».

2. Перейдите в приложение — «Управление автопарком».

3. Выберите раздел «Диаграммы» и перейдите к диаграмме «Модель данных — Заказ автотранспорта».

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

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

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

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

6. Создайте текстовый атрибут «Название» и установите в его свойствах флажок «Использовать как заголовок записей».

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

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

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

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

9. Создайте область «Укажите тип затрат» и перетащите на нее атрибут «Название».

10. Нажмите кнопку «Сохранить» и кнопку «Настроить шаблон» , чтобы перейти к свойствам шаблона.

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

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

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

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

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

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

Экземпляры шаблона записи «Тип затрат»

Экземпляры шаблона записи «Тип затрат»

Теперь создадим реестр данных (шаблон записи) для затрат…

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

2. Выберите созданный шаблон и создайте следующие атрибуты:

  • название — Сумма, тип данных — Число, количество знаков после запятой 2;
  • название — Тип затрат, тип данных Запись, связанный шаблонТип затрат.

3. Перейдите на вкладку «Формы» через меню элемента «Затраты».

4. Откройте конструктор формы «Затраты — Основная форма».

5. Создайте на форме область «Затраты».

6. Перетащите на область «Затраты» атрибуты «Сумма» и «Тип затрат».

7. Нажмите кнопку «Сохранить».

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

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

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

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

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

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

1. Выберите шаблон «Заявка на автомобиль» и нажмите кнопку ( Добавить новый атрибут) в меню элемента.

2. Создайте атрибут со следующими свойствами:

  • тип данных — Запись;
  • название Затраты;
  • связанный шаблон Затраты;
  • взаимная связь с атрибутом — С новым;
  • название нового атрибута Заявка;
  • хранить несколько значений — флажок установлен для атрибута «Затраты».

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

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

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

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

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

Настроим отображение реестра данных…

4. Перейдите на вкладку «Таблицы» шаблона «Затраты», нажав кнопку «Таблицы» в его меню элемента.

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

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

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

6. Нажмите кнопку «Сохранить».

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

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

Результаты

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

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

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