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

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

Содержание урока

 

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

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

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

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

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

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

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

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

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

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

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

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

Настройка нового шаблона записи

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

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

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

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

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

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

2. Укажите имя атрибута «Тип автомобиля».

3. Установите флажок «Отображаемый атрибут».

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

Форма настройки атрибута

Форма настройки атрибута

Флажок «Отображаемый атрибут» означает, что значение этого атрибута будет отображаться при заполнении атрибута-ссылки на форме. Если в качестве отображаемого не выбран ни один атрибут, отображаться будет «#id записи» — служебный числовой идентификатор. Это будет не информативно, поэтому отображаемый атрибут следует задать. 

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

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

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

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

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

3.  Переименуйте созданную по умолчанию «Новую область» в «Тип автомобиля».

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

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

6. Нажмите кнопку со значком шестеренки.

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

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

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

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

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

Вкладка «Списки» шаблона записи

Вкладка «Списки» шаблона записи

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

4. Перетащите атрибут «Тип автомобиля» на форму. Нажмите кнопку «Сохранить».

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

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

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

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

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

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

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

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

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

Наш справочник готов:

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

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

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

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

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

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

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

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

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

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

Настройка атрибута типа «ссылка»

Настройка атрибута типа «ссылка»

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

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

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

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

 

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

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

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

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

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

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

3. Добавьте три атрибута текстового типа: «Марка», «Модель», «Регистрационный номер» (установите флажок «Отображаемый атрибут»).

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

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

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

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

6. Перетащите атрибуты на «Новую область» в конструкторе формы

7 . Переименуйте «Новую область» в «Автомобиль» и сохраните форму.

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

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

Настроим список, чтобы отображались нужные нам атрибуты…

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

2. Двойным щелчком откройте список «Все записи».

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

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

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

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

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

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

 

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

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

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

2. Нажмите кнопку «Создать».

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

Коллекции

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

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

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

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

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

Создание атрибута-коллекции «Заявки на автомобиль».

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

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

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

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

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

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

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

4. Выберите коллекцию и на правой панели укажите следующие настройки:

  • установите флажки «Добавление существующих записей» и «Переход на связанный объект»;
  • выберите способ создания сущностей «Не доступно».

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

Настройка коллекции

При настройке коллекции мы указали следующие характеристики:
  • флажок «Добавление существующих записей» позволяет включить возможность выбора и добавления существующих записей;
  • флажок «Переход на связанный объект» позволяет переходить к форме редактирования записи коллекции;
  • способ создания сущностей «Не доступно» — создание записей связанного реестра в коллекции не допускается.

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

6. Создайте текстовый атрибут «Название», установите флажок «Отображаемый атрибут».

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

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

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

8. Откройте форму «Тип затрат — Основная форма», переименуйте «Новую область» в «Укажите тип затрат» и перетащите на нее атрибут «Название». Нажмите кнопку «Сохранить» и кнопку со значком шестеренки, чтобы перейти к настройкам шаблона.

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

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

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

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

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

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

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

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

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

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

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

  • «Сумма», тип данных — «Число», формат отображения — «2» (два знака после запятой);
  • «Тип затрат», тип данных — «Ссылка», целевой шаблон — «Тип затрат».

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

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

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

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

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

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

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

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

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

7. Создайте атрибут со следующими характеристиками:

  • тип данных — Коллекция;
  • имя — Затраты;
  • целевой шаблон — Затраты;
  • имя для новой ссылки — Заявка.

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

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

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

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

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

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

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

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

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

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

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

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

 

Результаты

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

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

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


Исследования осуществляются <br>ООО «Колловэар» при грантовой <br>поддержке Фонда «Сколково»
Comindware