Глава 4. Формы и детали — ввод и просмотр в одном месте

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

Tip

Раздел 4.4 «История записей» доступен в Pro-версии. Пропуск этого раздела не повлияет на остальные главы.

4.1 Дорабатываем форму создания заявки

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

Добавляем кнопку «Создать»

  1. Убедитесь, что включён UI Editor (переключатель в правом верхнем углу).
  2. На странице «Список заявок» нажмите «Actions» над блоком таблицы.
  3. Отметьте «Add».
  4. Над таблицей появится кнопка «Add», открывающая всплывающее окно.

04-forms-and-details-2026-03-13-09-43-54

Настраиваем форму во всплывающем окне

  1. Нажмите кнопку «Add», откроется окно.

  2. Во всплывающем окне нажмите «Add block» → Data block → Form (Add).

  3. Выберите «Current collection». Окно уже привязано к нужному контексту таблицы — указывать вручную не нужно.

    04-forms-and-details-2026-03-13-09-44-50

  4. В форме нажмите «Fields» и отметьте поля:

ПолеЧто важно
ЗаголовокОбязательное (наследуется глобально)
ОписаниеБольшой текстовый ввод
СтатусВыпадающий список (значение по умолчанию настроим через связные правила)
ПриоритетВыпадающий список
КатегорияСвязное поле, показывается как селектор
ЗаявительСвязное поле (значение по умолчанию через связные правила)
ОбработчикСвязное поле

04-forms-and-details-2026-03-13-12-44-49

Заметьте, что у поля «Заголовок» автоматически появляется звёздочка * — потому что в Главе 2 при создании поля мы установили его обязательным, и форма наследует это правило с уровня таблицы. Отдельно настраивать не нужно.

04-forms-and-details-2026-03-13-12-46-34

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

04-forms-and-details-2026-03-13-12-47-26

Добавляем кнопку «Submit»

  1. Под блоком формы нажмите «Actions».
  2. Отметьте «Submit».

04-forms-and-details-2026-03-13-16-30-06

  1. После заполнения пользователь нажимает «Submit» — создаётся новая заявка.

04-forms-and-details-2026-03-13-16-32-19

4.2 Связные правила: значения по умолчанию и связки полей

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

  1. В правом верхнем углу блока формы нажмите настройки блока (иконка трёх линий).
  2. Найдите «Linkage rules» — справа откроется панель настройки.

04-forms-and-details-2026-03-13-16-43-35

Значения по умолчанию

Сначала зададим значения по умолчанию для «Статуса» и «Заявителя»:

  1. Нажмите «Add linkage rule».
  2. Условие не задаём (оставляем пустым) — связное правило без условий выполняется при загрузке формы.

04-forms-and-details-2026-03-13-16-47-34

  1. Настройте действия (Actions):
    • Поле «Статус» → Set default value → На рассмотрении
    • Поле «Заявитель» → Set default value → Текущий пользователь

Внимание при выборе значений: при настройке обязательно сначала выбирайте «Current form» в качестве источника. Для связных полей (категория, заявитель, обработчик и т. п. — поля «многие к одному») выбирайте сам объект, а не его развёрнутые подполя.

При выборе переменной (например, «Текущий пользователь») сначала кликом выделите её, а затем двойным кликом перенесите в строку выбора.

04-forms-and-details-2026-03-13-17-01-06

04-forms-and-details-2026-03-13-17-02-20

04-forms-and-details-2026-03-13-17-03-41

Если хотите, чтобы поле нельзя было редактировать (например, статус), в настройках поля установите «Display mode» в «Readonly».

04-forms-and-details-2026-03-13-17-22-15

Три режима отображения: Editable, Readonly (нельзя редактировать, но поле выглядит как обычное), Easy-reading (только текст).

04-forms-and-details-2026-03-13-12-54-53

Срочные заявки требуют описание

Добавим связное правило с условием: при выборе приоритета «Срочный» поле «Описание» становится обязательным — пусть заявитель опишет ситуацию подробнее.

  1. Нажмите «Add linkage rule».

04-forms-and-details-2026-03-13-17-07-34

  1. Настройте правило:
    • Condition: Current form / Приоритет равен Срочный
    • Actions: поле «Описание» → Required

04-forms-and-details-2026-03-13-17-08-46

04-forms-and-details-2026-03-13-17-18-16

  1. Сохраните правило.

Тестируем: выбираем приоритет «Срочный» — у поля «Описание» появляется красная звёздочка *. Выбираем другой приоритет — звёздочка пропадает.

04-forms-and-details-2026-03-13-17-20-18

Подгоним раскладку, как в предыдущих главах: 04-forms-and-details-2026-03-13-17-25-55

Что ещё умеют связные правила? Помимо значений по умолчанию и обязательности, можно управлять видимостью полей и динамически назначать значения. Например: при статусе «Закрыто» скрыть поле «Обработчик». Подробности — в следующих главах.

4.3 Блок деталей

В прошлой главе мы добавили в строки кнопку «View» — клик открывает выезжающую панель. Теперь настроим её содержимое.

  1. В таблице нажмите кнопку «View» какой-либо строки — откроется панель.
  2. В панели нажмите «Add block» → Data block → Details.
  3. Выберите «Current collection».

04-forms-and-details-2026-03-13-17-27-02

  1. В блоке деталей нажмите «Fields» и расставьте поля по такой схеме:
ЗонаПоля
ШапкаЗаголовок, Статус (стиль метки)
ТелоОписание (большая текстовая область)
Боковая панельНазвание категории, Приоритет, Заявитель, Обработчик, Дата создания

Как вставить большой заголовок? Fields > markdown > Edit markdown > в редакторе выберите переменную > Current record > Заголовок. Так заголовок записи динамически вставится в Markdown-блок. Удалите дефолтный текст и Markdown-синтаксисом превратите его в заголовок второго уровня (т. е. поставьте ## в начало).

04-forms-and-details-2026-03-13-17-36-26

04-forms-and-details-2026-03-13-17-39-51

Поле «Заголовок» в самой панели можно убрать — настроим раскладку:

04-forms-and-details-2026-03-13-17-43-36

Лайфхак: несколько полей можно ставить в одну строку перетаскиванием — раскладка получится плотнее и опрятнее.

  1. В блоке деталей в «Actions» отметьте «Edit» — будет удобно из деталей сразу переходить в редактирование.

04-forms-and-details-2026-03-13-17-45-15

Настройка формы редактирования

При клике на «Edit» откроется новое всплывающее окно — внутри нужна форма редактирования. Поля у неё практически такие же, как у формы создания. Настраивать всё заново?

Не надо. Сохраним форму создания как шаблон, а форма редактирования будет на него ссылаться.

Шаг 1: возвращаемся к форме создания и сохраняем как шаблон

  1. Закройте текущее окно, вернитесь к списку заявок и нажмите «Add», чтобы открыть форму создания.
  2. В правом верхнем углу формы нажмите настройки блока (иконка трёх линий) и найдите «Save as template».

04-forms-and-details-2026-03-13-17-47-21

  1. Сохраните; по умолчанию используется «Reference» — все формы, ссылающиеся на шаблон, разделяют одну конфигурацию: меняешь в одном месте, синхронизируется везде.

04-forms-and-details-2026-03-13-17-47-44

04-forms-and-details-2026-03-13-18-39-05

Наша форма заявки несложная, поэтому удобнее «Reference». «Copy» создаёт независимые копии для каждой формы — изменения у каждой свои.

Шаг 2: ссылаемся на шаблон в форме редактирования

  1. Возвращаемся к панели деталей или строке таблицы, нажимаем «Edit» — открывается окно редактирования.

Может показаться: «Создать блок → Other blocks → Block templates» — самый быстрый путь? Но Вы получите форму создания, и поля не подгрузятся автоматически. Это распространённая ловушка.

04-forms-and-details-2026-03-13-17-59-36

Правильный путь:

  1. Нажмите «Add block» → Data block → Form (Edit) — обычный блок формы редактирования.
  2. В нём нажмите «Fields» → «Field templates» и выберите сохранённый шаблон.
  3. Поля заполнятся одним кликом, идентично форме создания.
  4. Не забудьте добавить кнопку «Submit», чтобы пользователь мог сохранить изменения.

04-forms-and-details-2026-03-13-18-05-13

04-forms-and-details-2026-03-13-18-15-11

В будущем достаточно изменить шаблон — обе формы обновятся.

Быстрое редактирование: меняем данные без открытия окна

Помимо редактирования через окно, NocoBase поддерживает быстрое редактирование прямо в таблице — без открытия чего-либо, мышью.

Включается в двух местах:

  • Уровень блока таблицы: настройки блока (иконка трёх линий) → «Quick editing». Все поля таблицы будут поддерживать быстрое редактирование.
  • Уровень отдельного поля: настройки колонки → «Quick editing» — управление полем-по-полю.

04-forms-and-details-2026-03-13-18-20-07

После активации при наведении на ячейку появится иконка карандаша — клик откроет редактор поля, изменения сохраняются автоматически.

04-forms-and-details-2026-03-13-18-21-09

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

4.4 Включаем историю изменений

Коммерческий plugin

«История записей» — plugin Pro-версии, требует коммерческой лицензии. В Community-версии раздел можно пропустить, на остальные главы это не влияет.

В системе заявок очень важно: кто, когда и что изменил — должно быть видно. Plugin «История записей» автоматически фиксирует каждое изменение.

Настройка истории

  1. В Settings → Plugin Manager убедитесь, что plugin «Record History» включён.

04-forms-and-details-2026-03-13-18-22-44

  1. Зайдите в страницу настройки plugin, нажмите «Add collection» и выберите «Заявки».
  2. Отметьте поля для журналирования: Заголовок, Статус, Приоритет, Обработчик, Описание и т. д.

04-forms-and-details-2026-03-13-18-25-11

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

  1. Теперь в настройках нажмите «Sync history snapshots» — plugin сделает текущее состояние всех заявок первой записью истории, а далее каждая правка добавит новую запись.

04-forms-and-details-2026-03-13-18-27-01

04-forms-and-details-2026-03-13-18-28-50

История на странице деталей

  1. Возвращаемся в панель деталей заявки (клик «View» на строке).
  2. В панели «Add block» → Record History.
  3. Выберите «Current collection», данные — «Current record».
  4. Внизу панели появится timeline: видно, кто и когда какое поле и с какого на какое значение изменил.

04-forms-and-details-2026-03-13-18-31-45

04-forms-and-details-2026-03-13-18-33-00

Даже если заявка прошла через нескольких людей, все изменения как на ладони.

Итоги главы

В этой главе мы прошли полный жизненный цикл данных:

  • Форма — пользователь создаёт новую заявку, есть default-значения и валидация
  • Связные правила — у срочных заявок описание автоматически становится обязательным
  • Блок деталей — наглядно показывает всю информацию о заявке
  • История записей — автоматический аудит каждого изменения (коммерческий plugin, опционально)

От «видеть» к «вводить» и «находить» — система заявок стала по-настоящему пригодной к использованию.

Связанные ресурсы