Перейти к основному содержимому

Связывание данных

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

В конце этого этапа форма Запись будет связана с таблицей Задача, что позволит просматривать связанную задачу прямо в списке записей.

Предварительные требования​

Перед началом проверьте, что вы уже выполнили:

  • Создание формы Задача с полем имя.
  • Создание формы Запись с базовыми полями учёта отработанных часов.
  • Настройку соответствующих таблиц в разделе База данных.
совет

Подробнее о том, как связывать данные, см. в Руководстве по интерфейсу: Связи.

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

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

На этом этапе вы:

  • Создадите поле типа select в форме Запись.
  • Настроите поле для связи с таблицей Задача.
  • Обновите некоторые данные, чтобы увидеть связь на практике.

Поле типа select​

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

  1. В среде Сборка откройте форму Запись и перейдите к управлению полями.
  2. Создайте новое поле со следующими настройками:
    • Название поля: Задача
    • Имя столбца: задача_id
    • Тип: select
  3. Включите опцию Обязательное, чтобы гарантировать, что каждая запись связана с задачей.
  4. Оставьте опцию Уникальные значения отключённой, так как для одной задачи будет много записей.
примечание

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

Использование суффикса _id​

Имя поля, которое ссылается на другую запись, должно заканчиваться на _id.
Этот шаблон упрощает определение того, что поле представляет связь с другой таблицей, и делает модель данных более организованной.

предупреждение

Избегайте использования общих имён, таких как задача или ref_задача, для полей связи.
Стандартизация с _id помогает избежать путаницы при анализе данных или создании интеграций.

Настройка связи​

Настройте Связь, которая отвечает за связывание поля задача_id с таблицей задач.

  1. В только что созданном поле (задача_id) прокрутите до раздела настройки Связь.
  2. Нажмите Добавить.
  3. В открывшемся окне:
    • Выберите опцию задача.
    • Затем выберите поле имя.
    • Закройте окно, чтобы применить.

После завершения Связь будет определена как:

задача:имя

Это означает, что:

  • Связь будет установлена с таблицей задача.
  • В интерфейсе при выборе в поле Задача будет отображаться значение поля имя задачи.

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

совет

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

Обновление записей​

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

  1. Откройте представление формы Запись.
  2. Обратите внимание, что теперь таблица результатов содержит новый столбец Задача, который изначально будет пустым.
  3. Отредактируйте несколько записей:
    • Щёлкните по строке в таблице результатов, чтобы открыть форму редактирования.
    • В поле Задача выберите соответствующую задачу.
    • Нажмите Сохранить, чтобы сохранить.

После сохранения:

  • Столбец Задача в таблице результатов начнёт отображать имя связанной задачи.
  • Каждая Запись будет явно связана с Задачей, что позволит более полно анализировать время, затраченное на каждое действие.
примечание

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

Ожидаемый результат​

Список Запись должен отображать:

  • Столбец Задача, заполненный именами связанных задач.
  • Каждая строка представляет запись учёта времени с соответствующей задачей, что упрощает понимание того, на что было потрачено время.

Следующие шаги​

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