Преимущества применения Отчётов в базе данных
Эта статья является продолжением серии "Правильный путь создания приложений на сервисе QuintaDB". Из предыдущей статьи вы узнали как создать правильную структуру базы данных. Если вы еще не ознакомились с первой статьей из этой серии, рекомендуем начать с нее.
На примере всё той же базы данных для магазина бытовой техники мы рассмотрим следующие вопросы:
- Как перенести выполненные заказы в отдельную таблицу?
- Как настроить гибкие права доступа для менеджеров к заказам клиентов?
Первая мысль - клонировать[1] или создать еще одну таблицу и каким-то образом перенести в нее выполненные заказы. Затем создать отдельные таблицы для каждого менеджера и т.д..
Но это не правильный способ. Так как при таком подходе вы не только теряете драгоценное время, но и создаете лишние сущности, которые содержат избыточные данные. Вместо этого, мы просто создадим Отчёты, с помощью которых можно решить все описанные выше задачи. Идея проста — отчёт представляет собой выборку данных из таблицы по заданным критериям. Или другими словами - это представление данных, которое сохраняется в базе как отдельный объект, но при этом не является самостоятельным.
Можно сказать, что это "виртуальная" (логическая) таблица, созданная на основе "настоящей" таблицы. С отчётами можно работать как с обычной таблицей: читать, редактировать и создавать новые записи. Содержимое отчётов меняется динамически на основании данных, находящихся в реальных таблицах. Любые изменения данных в таблице немедленно отражаются во всех отчетах. Одна таблица может содержать множество отчётов[2].
Применение отчётов дает следующие преимущества:
Используя данный пример, вы научитесь создавать собственные отчёты из таблиц.
Начнем с задачи: Как перенести выполненные заказы в отдельную таблицу?
Для начала добавим колонки Дата и Статус (радио кнопка с выбором значений) в нашу форму Продажи:
Теперь можно указать дату заказа и его статус. Для удобства создадим в таблице правила форматирования[5], чтобы легче отличить выполненные заказы от текущих:
В таблице выполним поиск по колонке Статус, чтобы отобрать только выполненные заказы:
Мы получили результат поиска. Это и будет наш первый отчёт. Нажмите на кнопку Сохранить отчёт и укажите его название. Теперь в этот отчёт будут попадать только те записи, у которых колонка Статус содержит значение Выполнен. Это могут быть как новые записи, так и ранее добавленные, в которых изменился статус.
Обратите внимание, что правила форматирования, которые мы создавали ранее для таблицы Продажи не применяются к отчёту. Это сделано для того, чтобы в каждом отдельном отчёте, вы могли настроить особое форматирование. Например, в отчёте Выполненные заказы не имеет смысла выделять колонку статус, но можно обозначить заказы выше 20 000 рублей.
По аналогии создадим отчёт для заказов со статусом Обрабатывается.
Отчёты можно использовать как отдельные виджеты[6], а также подключать их как отдельный модуль в меню Портала и на Дашборд[7] . Если ранее вы настроили дизайн виджета отчёта и встроили его на свой сайт, но хотите изменить выборку или группировку, то не следует удалять отчёт и создавать новый. В любой момент вы можете изменить параметры отчёта. Для этого откройте таблицу, чтобы перейти меню "Записи". Чтобы посмотреть все созданные отчёты для таблицы, откройте вкладку Все отчёты или используйте боковое меню.
Здесь вы можете изменить параметры отчёта, т.е. те критерии по которым выполняется выборка. Для этого нужно вызвать контекстное меню на плитке отчёта и выбрать пункт Изменить параметры:
Примечание: для редактирования записи в виджете отчета, достаточно скрыть колонку[8] со статусом, чтобы пользователи не смогли изменить значение в этой колонке. Иначе запись пропадет из отчёта. Для пользователей Портала, нужно настроить доступ на уровне полей отдельно.
Следующая задача: Как настроить гибкие права доступа для менеджеров к заказам клиентов?
Предположим, что в нашем магазине работает три подразделения менеджеров. Мы можем просто добавить поле с выбором подразделения, и с помощью выборки по этой колонке, сформировать отдельные отчёты (аналогично, как мы делали выборку по Статусу выше).
Для формирования ежемесячных отчетов по выполненным заказам, используем дополнительные критерии поиска по колонкам Дата и Статус. Например, создадим отчет для Подразделения 2, в котором будут только выполненные заказы за Декабрь:
1. Выполняем поиск;
2. Первый критерий - Подразделение = Подразделение 2;
3. Второй критерий - Дата в диапазоне от 01-12-2021 до 31-12-2021;
4. Третий критерий - Статус = Выполнен.
Между всеми критериями должен стоять оператор "и", чтобы были найдены только те записи, в которых есть совпадение по всем трем критериям.
Примечание: лучший способ ограничить права доступа для пользователей - Портал. Как настроить права доступа к определенным записям для пользователей можно узнать по этой ссылке.
Читайте также, как использовать поле Владельцы записи[9] для настройки прав доступа для пользователей портала.
Подводя итог этой статье, можно с уверенностью сказать, что отчёты являются незаменимыми помощниками при работе с базой данных, которые значительно упрощают обработку данных и экономят время.
2. Как создать отчёт в онлайн базе данных QuintaDB
4. Как вывести отчёт на печать
8. Как скрыть колонки внутри виджета отчёта