Формы (Portal Forms)
Платный модуль Portal Forms (korport.forms) помогает собрать удобную форму элемента списка: секции, колонки, заголовки и подсказки — без программирования макета.
Подходит администраторам и редакторам контента, которые настраивают списки заявок, реестры и кадровые формы.

Конструктор: палитра полей, холст с секциями и панель свойств
1. Зачем нужен конструктор
Заголовок раздела «1. Зачем нужен конструктор»Обычная форма списка показывает все поля подряд. Для заявки на командировку или отпуск это неудобно: длинная страница, важные поля теряются.
С конструктором вы:
- группируете поля в секции (маршрут, бюджет, контакты);
- раскладываете их в 1–3 колонки;
- добавляете заголовки и HTML-подсказки;
- встраиваете веб-части (например, вложения) прямо в макет;
- отдельно настраиваете формы создания, просмотра и редактирования.
Данные по-прежнему сохраняются в списке — меняется только внешний вид.

Так видит форму сотрудник после настройки макета
2. Что нужно перед началом
Заголовок раздела «2. Что нужно перед началом»- Установлен модуль Формы и в лицензии есть entitlement
korport.forms. - У вас есть право менять настройки списка (обычно администратор портала или узла).
- В списке уже созданы нужные поля.
Без модуля кнопка конструктора скрыта — формы работают как раньше (стек полей + скрипт + веб-части до/после).
3. Как открыть конструктор
Заголовок раздела «3. Как открыть конструктор»- Откройте список.
- Перейдите в Настройки списка.
- Вкладка Формы.
- Выберите режим: Создание / Просмотр / Редактирование.
- Нажмите Открыть конструктор.
По умолчанию открывается режим Создание — чаще всего его настраивают первым.

Вкладка «Формы»: конструктор, возврат стандартной формы, скрипт
4. Интерфейс конструктора
Заголовок раздела «4. Интерфейс конструктора»| Область | Назначение |
|---|---|
| Палитра слева | Поля списка, ещё не размещённые на форме, и блоки: заголовок, HTML, веб-часть |
| Холст по центру | Секции и блоки в том порядке, как увидит пользователь |
| Свойства справа | Подпись, ширина, подсказка, обязательность выбранного блока |
| Вкладки режимов | Создание / Просмотр / Редактирование — у каждого свой макет |
| Макет / Скрипт | Визуальная раскладка или JavaScript формы |
Панель свойств можно расширить кнопкой ↔ (как в редакторе рабочих процессов).
5. Соберите макет шаг за шагом
Заголовок раздела «5. Соберите макет шаг за шагом»5.1. Секции
Заголовок раздела «5.1. Секции»- Нажмите Секция.
- Выберите секцию → в свойствах задайте название и число колонок (1–3).
- Лишнюю секцию удалите кнопкой × (хотя бы одна секция должна остаться).
Пример для командировок:
- «Маршрут и сроки» — 2 колонки
- «Цель и бюджет» — 3 колонки
- «Вложения и контакты» — 1 колонка
5.2. Поля
Заголовок раздела «5.2. Поля»- Перетащите поле из палитры на секцию или кликните по полю — оно добавится в выбранную / первую секцию.
- На холсте перетаскивайте блоки, чтобы изменить порядок.
- Одно поле в одном режиме можно разместить только один раз.
- Поля, которых нет на макете, не показываются на форме. Обязательные поля вне макета подсвечиваются предупреждением сверху.
5.3. Заголовки и HTML
Заголовок раздела «5.3. Заголовки и HTML»- Заголовок — подзаголовок внутри секции («Детали поездки»).
- HTML-блок — короткая подсказка, ссылка на регламент, заметка для сотрудника.
5.4. Веб-часть внутри формы
Заголовок раздела «5.4. Веб-часть внутри формы»- Перетащите блок Веб-часть.
- Выберите определение из каталога.
- В свойствах откройте Свойства и настройте виджет (как на страницах).
Так можно вставить зону вложений или другой виджет рядом с полями.
5.5. Свойства блока
Заголовок раздела «5.5. Свойства блока»Выберите блок на холсте:
- подпись (вместо названия поля из списка);
- ширина в колонках секции (span);
- подсказка под полем;
- обязательность (для поля).
5.6. Сохранение
Заголовок раздела «5.6. Сохранение»Нажмите Сохранить. Уведомление появится тостом — не нужно искать полоску внизу страницы.
Проверьте результат: список → Добавить (или открыть / изменить элемент) — форма должна совпасть с макетом выбранного режима.
6. Три режима форм
Заголовок раздела «6. Три режима форм»| Режим | Когда показывается |
|---|---|
| Создание | Новая запись |
| Просмотр | Карточка элемента |
| Редактирование | Изменение записи |
Макеты независимы: на создании можно показать только нужные поля, на просмотре — больше деталей, на редактировании — запретить часть полей скриптом.
7. «Показывать область формы» — что это значит
Заголовок раздела «7. «Показывать область формы» — что это значит»На вкладке Формы есть переключатель Показывать область формы.
- Включён — на странице видна зона полей (стандартный стек или макет конструктора).
- Выключен — зона полей скрыта, остаются веб-части до/после (полная замена UI).
Этот флаг не отключает макет конструктора. Если макет сохранён, при включённой области формы поля берутся из макета.
8. Как вернуть стандартную форму
Заголовок раздела «8. Как вернуть стандартную форму»Если макет больше не нужен:
- Настройки списка → Формы → нужный режим → Вернуть стандартную форму
или та же кнопка в конструкторе. - Подтвердите Удалить макет.
После удаления снова показываются все поля списка по умолчанию (плюс скрипт и веб-части до/после, если они были).
9. Скрипт формы (по желанию)
Заголовок раздела «9. Скрипт формы (по желанию)»На вкладке Скрипт в конструкторе или в настройках форм можно добавить небольшой JavaScript. Он выполняется после отрисовки формы.
Типичные задачи:
- сделать поле только для чтения;
- скрыть секцию или поле по роли;
- подставить значение по умолчанию.
Полезные команды:
| Метод | Назначение |
|---|---|
setFieldDisabled | Заблокировать поле |
hideField / showField | Скрыть / показать поле |
hideSection / showSection | Скрыть / показать секцию макета |
getFormValues / setFieldValue | Прочитать / записать значения |
getBlockEl | Получить DOM-элемент блока |
context.layout | Текущий макет или null |
Блокировка в интерфейсе не заменяет серверную проверку прав и бизнес-правил.
Подробнее про скрипты и веб-части без конструктора: Кастомизация форм элементов.
10. Веб-часть «Форма списка»
Заголовок раздела «10. Веб-часть «Форма списка»»В каталоге веб-частей есть Форма списка (portal.list-form).
Свойства:
- список;
- режим (
new/view/edit); - при необходимости — ID элемента и заголовок.
Её можно поставить на страницу узла: заявка создаётся прямо со страницы, без перехода в список.
11. Частые вопросы
Заголовок раздела «11. Частые вопросы»Почему на форме нет поля, хотя оно есть в списке?
Поле не размещено в макете текущего режима. Добавьте его в конструкторе или верните стандартную форму.
Почему кнопка конструктора не видна?
Нет лицензии модуля Forms или нет прав на настройки списка.
Сохранил макет, а форма не изменилась?
Проверьте режим (создание / просмотр / редактирование), обновите страницу. Убедитесь, что макет сохранён именно для того режима, который открываете.
Нужно ли писать код?
Нет. Макет собирается визуально. Скрипт — только для особых правил поведения.
12. Лицензия
Заголовок раздела «12. Лицензия»{ "modules": ["korport.forms"] }Проверка на клиенте: GET /api/v1/forms/status → { moduleId, entitled }.
Карточка модуля: Формы на korport.ru.