Files
cc-1c-skills/.opencode/skills/form-compile/references/layout-advanced.md
T
2026-06-30 15:48:20 +00:00

8.7 KiB

Продвинутая раскладка

Тонкая настройка размещения элемента внутри родителя сверх базовой геометрии (width/height/horizontalStretch/verticalStretch/visible/enabled и ориентации групп/страниц — они в основной инструкции). Все ключи ниже задаются прямо на элементе и необязательны — без них действует поведение платформы по умолчанию.

Выравнивание внутри родителя

Различают выравнивание самого элемента в отведённой ему ячейке и выравнивание содержимого элемента.

Ключ Значения Что выравнивает
groupHorizontalAlign Left / Center / Right Положение элемента по горизонтали в родительской группе (когда элемент у́же доступного места)
groupVerticalAlign Top / Center / Bottom Положение элемента по вертикали в родительской группе
horizontalAlign Left / Center / Right Выравнивание содержимого (текста/значения) внутри самого элемента
verticalAlign Top / Center / Bottom Выравнивание содержимого по вертикали внутри элемента

group*Align отвечает на вопрос «куда сдвинуть нерастянутый элемент в его ячейке», horizontalAlign/verticalAlign — «как разместить текст внутри элемента». Это разные оси настройки, их часто комбинируют.

{ "button": "ОК", "groupHorizontalAlign": "Right" }
{ "input": "Сумма", "path": "Объект.Сумма", "horizontalAlign": "Right" }
{ "label": "Итого", "groupHorizontalAlign": "Center", "horizontalAlign": "Center" }

Ограничение максимального размера

По умолчанию растягивающийся элемент имеет авто-вычисляемый предел ширины/высоты. Чтобы задать жёсткий предел или вовсе снять авто-предел:

Ключ Значения Назначение
maxWidth число Жёсткий максимум ширины элемента
maxHeight число Жёсткий максимум высоты элемента
autoMaxWidth false Отключить авто-предел ширины (элемент тянется без ограничения сверху)
autoMaxHeight false Отключить авто-предел высоты

autoMaxWidth: false нужен, например, для широкого многострочного поля или растянутого по всей форме поля ввода, чтобы платформа не «прижимала» его к авто-пределу. Указывают именно отклонение от дефолта; обычное значение true писать не нужно.

{ "input": "Комментарий", "path": "Объект.Комментарий", "multiLine": true,
  "horizontalStretch": true, "autoMaxWidth": false }
{ "input": "Поиск", "path": "СтрокаПоиска", "horizontalStretch": true, "maxWidth": 600 }

Поведение при вводе и активации

Ключ Значения Назначение
skipOnInput true / false Пропускать элемент при обходе по Enter/Tab (фокус через него не проходит). Указывают явно, в т.ч. false чтобы вернуть в обход поле, которое платформа пропустила бы
defaultItem true Элемент получает фокус по умолчанию при открытии формы (поле/таблица для немедленного ввода)
{ "input": "Идентификатор", "path": "Объект.Идентификатор", "skipOnInput": true }
{ "input": "Штрихкод", "path": "Штрихкод", "defaultItem": true }

skipOnInput: true — для служебных/расчётных полей, которые видны, но не редактируются вводом с клавиатуры в общем потоке. defaultItem: true ставят на одном элементе формы — точке, с которой пользователь начнёт работу.

Перетаскивание

Ключ Значения Назначение
enableStartDrag true Разрешить начинать перетаскивание из элемента (источник drag-n-drop)

Для таблиц приём/перемещение строк управляется ключами таблицы (enableDrag, changeRowOrder) — см. основную инструкцию; enableStartDrag — общий низкоуровневый флаг «этот элемент может быть источником перетаскивания».

Закрепление колонки в таблице (fixingInTable)

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

Значения
None (по умолчанию — не закреплена) / Left / Right
{ "table": "Товары", "path": "Объект.Товары", "columns": [
    { "input": "Номенклатура", "path": "Объект.Товары.Номенклатура", "fixingInTable": "Left" },
    { "input": "Количество", "path": "Объект.Товары.Количество" },
    { "input": "Сумма", "path": "Объект.Товары.Сумма", "fixingInTable": "Right" } ] }

Закрепляют ключевые колонки (идентифицирующую слева, итоговую справа), чтобы они оставались видны при прокрутке широкой таблицы.

Ячейки колонок: шапка и подвал

Для поля-колонки внутри таблицы (и columnGroup) — размещение в шапке/подвале и выравнивание текста ячеек. Применять только к элементам внутри columns таблицы.

Ключ Значения Назначение
showInHeader true / false Показывать колонку в шапке таблицы
showInFooter true / false Показывать колонку в подвале (нужно для итогов; подвал самой таблицы включается footer: true)
headerHorizontalAlign Left / Right / Center / Auto Выравнивание текста в шапке колонки
footerHorizontalAlign Left / Right / Center Выравнивание текста в подвале колонки
autoCellHeight true / false Авто-высота ячейки (перенос содержимого на несколько строк)
{ "table": "Товары", "path": "Объект.Товары", "footer": true, "columns": [
    { "input": "Номенклатура", "path": "Объект.Товары.Номенклатура", "autoCellHeight": true },
    { "input": "Сумма", "path": "Объект.Товары.Сумма",
      "headerHorizontalAlign": "Right", "showInFooter": true, "footerHorizontalAlign": "Right" } ] }

Адаптивная важность (displayImportance)

Значения
VeryHigh / High / Usual / VeryLow / Low

Приоритет элемента при адаптивной перекомпоновке формы на узких/мобильных экранах: элементы с меньшей важностью сворачиваются/прячутся первыми. Применимо к любому элементу.

{ "input": "Комментарий", "path": "Объект.Комментарий", "displayImportance": "Low" }