Глава 3: Управление данными задач
Мы уже разобрались с требованиями к системе управления задачами — пора приступать к практике! Напомним: наша система должна уметь создавать, редактировать и удалять задачи, а также запрашивать список задач, и всё это можно реализовать средствами NocoBase: страниц, блоков и операций.
Подробное описание меню и страниц есть в официальной документации.
3.1 С чего начнём?
Возможно, Вы помните, что мы уже создавали страницу и отображали список пользователей. Эти страницы похожи на холст: на них можно размещать разные типы блоков и свободно менять их порядок и размер. Чтобы освежить шаги:
- Создать страницу: несколько кликов — и страница готова.

- Создать табличный блок: выберите табличный блок, и Вы сможете отображать различные данные.

Выглядит просто, правда? Однако, открыв «Список данных», Вы увидите, что по умолчанию доступны только две таблицы: «Пользователи» и «Роли». А где же таблица задач? Не волнуйтесь, ответ кроется в функциональности NocoBase под названием источники данных.
О источниках данных: источник данных может быть БД, API или другим хранилищем; поддерживаются разны е реляционные БД — MySQL, PostgreSQL, SQLite, MariaDB. В NocoBase уже есть плагин управления источниками данных, отвечающий за управление источниками и таблицами. Однако этот плагин лишь предоставляет UI: для подключения к самим источникам нужны соответствующие плагины источников данных.
3.2 Источник данных: хранилище Ваших таблиц

В NocoBase все таблицы хранятся в источниках данных. Источник данных — это как книга, в которой описаны структуры каждой таблицы. Сейчас мы впишем в неё новую страницу: таблицу задач.
ВниманиеУправление источниками данных и Обзор таблиц данных.
- Перейдите в настройки источника данных:
- В правом верхнем углу нажмите Настройки > Источники данных > Конфигурация основного источника данных.
- Вы увидите все таблицы, существующие в основном источнике данных NocoBase: обычно это «Пользователи» и «Роли».

Пора создать третью таблицу — нашу таблицу задач. Это будет первое создание таблицы в NocoBase — волнующий момент! Согласно ранее намеченному плану, создадим простую таблицу со следующими полями:
3.3 Создание таблицы задач
-
Создайте таблицу задач:
- Нажмите «Создать таблицу» > выберите Обычная таблица > заполните Название таблицы (например, «Таблица задач») и Идентификатор таблицы (например, «tasks»).
- Идентификатор таблицы — её уникальный ID. Рекомендуется использовать латиницу, цифры или нижнее подчёркивание, чтобы было удобно искать и поддерживать таблицу в будущем.
- Подтвердите создание.

-
Поля по умолчанию: NocoBase автоматически добавляет в каждую обычную таблицу следующие поля:
- ID: уникальный идентификатор записи.
- Дата создания: автоматически фиксирует время создания задачи.
- Создатель: автоматически фиксирует автора задачи.
- Дата последнего изменения и Автор последнего изменения: фиксируют время последнего изменения задачи и пользователя, который его внёс.
Эти поля уже соответствуют нашим требованиям и избавляют нас от ручного добавления.
- Создание пользовательских полей:
- Название задачи: нажмите «Добавить поле» > выберите Однострочный текст > задайте название «Название задачи», идентификатор «task_name».

- Описание задачи: создайте поле Многострочный текст с идентификатором «task_description».

- Название задачи: нажмите «Добавить поле» > выберите Однострочный текст > задайте название «Название задачи», идентификатор «task_name».
Поздравляем! Наша таблица задач определена, Вы успешно создали свою первую структуру данных. Так держать!
3.4 Создание страницы управления задачами
Теперь, когда у нас есть таблица задач, осталось разместить её данные на странице с помощью подходящего блока. Создадим страницу управления задачами и добавим на неё табличный блок с задачами.
-
Создайте страницу управления задачами:
- Нажмите «Создать страницу», назовите её «Управление задачами».
- Создайте блок с задачами, который отображает данные таблицы задач.

-
Добавление данных:
- «А почему нет данных?» — не волнуйтесь, сейчас добавим!
- Нажмите кнопку «Конфигурация операций» в правом верхнем углу страницы и активируйте операцию «Добавить»: появится пустой контейнер модального окна. Операци и Добавить и Редактировать по умолчанию связаны с модальным окном.
- Появится новый блок (форма): создайте блок модального окна > выберите Текущую таблицу.
- Покажите поля «Название задачи» и «Описание», настройте операцию отправки — и форма готова!

-
Ввод данных:
- Введите тестовую запись и нажмите «Отправить» — готово! Данные задачи добавлены.

- Введите тестовую запись и нажмите «Отправить» — готово! Данные задачи добавлены.
Волнующий момент! Вы успешно ввели первую задачу. Просто, верно?
3.5 Поиск и фильтрация задач — быстрый поиск нужной задачи
Когда задач становится больше, как быстро найти нужную? На помощь приходит операция фильтрации. В NocoBase Вы можете легко находить нужные задачи, комбинируя условия фильтрации.
3.5.1 Включение операции фильтрации
Сначала включим операцию фильтрации:
- Наведите курсор на «Конфигурация операций» и активируйте переключатель фильтрации.

3.5.2 Использование условий фильтрации
После включения на странице появится кнопка фильтрации. Проверим её работу по полю «Название задачи»:
- В панели фильтрации выберите «Название задачи» и введите искомое значение.
- Нажмите «Отправить» и убедитесь, что в списке задач отобразились отфильтрованные результаты.

3.5.3 Отключение операции фильтрации
Если фильтрация больше не нужна, для операций-переключателей достаточно одного клика:
- Сбросьте условия фильтрации: убедитесь, что ни одно условие не применено, и нажмите «Сбросить».
- Снова нажмите переключатель «Фильтр» — фильтр исчезнет со страницы.

Вот и всё! Операция фильтрации очень упрощает работу с большим количеством задач. По мере знакомства с системой Вы откроете для себя и другие гибкие способы поиска (см. Блок фильтрации в виде формы и Блок фильтрации в виде раскрывающейся панели).
Сохраняйте этот настрой и идём дальше!
3.6 Редактирование и удаление задач
Помимо создания и поиска нам нужны операции редактирования и удаления. Вы уже знакомы с тем, как добавлять блоки, поля и операции, поэтому здесь всё просто:
-
Редактирование задачи:
- В конфигурации списка задач добавьте операцию Редактировать, нажмите на неё > добавьте блок (форму) Редактирование > выберите поля для редактирования.
-
Удаление задачи:
- Аналогично включите переключатель Удалить в конфигурации столбца операций. Появится кнопка удаления: нажмите её > подтвердите, и задача будет удалена.

- Аналогично включите переключатель Удалить в конфигурации столбца операций. Появится кнопка удаления: нажмите её > подтвердите, и задача будет удалена.
Готово — все операции CRUD для списка задач реализованы.
Великолепно! Этот шаг успешно пройден.
Задание-вызов
После того как Вы освоились с NocoBase, попробуйте выполнить небольшое задание: нам нужно отметить статус задачи и поддерживать загрузку вложений — как это сделать?
Подсказка:
- В таблицу задач добавьте:
- поле «Статус (status)» — выпадающий список с одним выбором, со значениями: Не начато, В работе, На проверке, Выполнено, Отменено, В архиве;
- поле «Вложение (attachment)».
- В табличном блоке задач, формах «Добавить» и «Редактировать» отобразите поля «Статус» и «Вложение».
Появилась идея? Без спешки, ответ ждёт Вас в следующей главе (Глава 4: Плагины задач и комментариев — крылья за спиной)!
Продолжайте экспериментировать и проявлять креативность! Если возникнут вопросы, не забывайте, что Вы всегда можете заглянуть в официальную документацию NocoBase или присоединиться к сообществу NocoBase.

