§ 5.2. Группы: рамка, внутри которой свой порядок

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

1. Группа — элемент без данных

Группа стоит в структуре наравне с полями, но данных у неё нет: показывать ей нечего, а потому и пути к данным не положено — об этом шла речь в разговоре об элементах. Её работа — держать в себе другие элементы. Слово «рамка» тут условное: рисовать рамку группа не обязана, и почему — разберём дальше.

Форма
├── Наименование        ← поле
└── Учёт                ← группа
    ├── Артикул         ← поле
    └── ЕдиницаИзмерения ← поле

Всё, что вложено в группу, платформа размещает внутри её места на экране. Всё, что не вложено, — снаружи, по правилам той группы, в которой лежит; для верхних элементов такой группой оказывается сама форма.

Группа не показывает значений — только рамку, заголовок, порядок. Она отвечает на вопрос, кто с кем стоит рядом.

2. Главное свойство: как выстраивать вложенное

У обычной группы и у страницы есть свойство «Группировка» — им и решается, лягут поля столбиком или встанут в строку.

значениечто получится
вертикальнаяэлементы друг под другом
горизонтальнаяэлементы в строку
горизонтальная всегдав строку, даже если тесно
горизонтальная, если возможнов строку, пока хватает ширины

Последнее значение — правило, которое само смотрит на ширину окна: на широком экране поля встанут рядом, на узком опустятся друг под друга, и делать для этого ничего не нужно. «Возможно» здесь считается по ширине, которая нужна вложенным элементам: если она не влезает, платформа переносит их вниз.

3. Группа в группе — так собирают строки

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

Форма              ← вертикальная
├── Наименование
├── Учёт           ← горизонтальная
│   ├── Артикул
│   └── ЕдиницаИзмерения
└── ПоказыватьПодробности

Читается такое дерево сверху вниз, с поправкой на направление каждой группы. По нему можно нарисовать экран, не открывая Предприятие, — этим мы займёмся отдельно, когда дойдём до скетча.

4. Рамка и заголовок — отдельные решения

Группа может выглядеть по-разному, вплоть до полной невидимости, и это настраивают двумя свойствами.

что задаютварианты
отображениебез выделения, слабое, обычное, сильное
заголовокпоказывать или нет

Отсюда важное для чтения чужой формы: группа в дереве есть, а рамки на экране нет — и это не ошибка. Возможностей две: у группы отключено выделение — или у неё снято свойство «Объединённая». Про второе документация говорит прямо: тогда элементы такой группы располагаются в родительской, а из свойств самой группы действуют только цвет фона и группировка.

что видно в деревечто на экране
группа с сильным выделениемрамка с заголовком
группа без выделенияничего, только порядок
группа без «Объединённой»элементы живут в родительской

Внешний вид группы на этом настроен. Остаётся вопрос важнее — ради чего вообще собирают элементы в группы.

5. Зачем собирать в группы

Поводов три, и все встречаются в живых формах.

поводпример
смыслполя одного дела рядом: «Учёт», «Контакты»
размещениепоставить два поля в строку
поведение разомспрятать группу — исчезнут все её элементы

Третья строка — та самая, о которой шла речь в разговоре о свойствах: поле может быть видимым, а группа над ним — нет. Отсюда и правило разбора: проверяя видимость, смотрят не только на сам элемент, но и на все группы, в которые он вложен.

Видимость, доступность и «только просмотр» группы достаются всему, что внутри. Это удобно, когда помнишь, и загадочно, когда забыл.

6. Что группы говорят при чтении

Группы — самая говорящая часть композиции: по ним видно, как автор формы представлял себе работу пользователя.

находкао чём говорит
поля собраны в группу с заголовкомавтор считает их одним делом
горизонтальная группа из двух полейзначения читают вместе
группа без выделениясгруппировали ради размещения, не ради смысла
одинокий элемент в своей группеостаток прежней раскладки — или способ управлять им отдельно

Последняя строка читается двояко. Чаще это след: поля из группы вынесли, а саму группу забыли убрать. Но бывает и замысел — группу оставили, чтобы прятать одно поле вместе с её заголовком.

7. В Конфигураторе и в Предприятии

Соберём первую группу — она останется в форме и дальше.

  1. Откройте форму элемента «Товаров» и добавьте в элементы группу. Назовите её «Учёт», заголовок задайте «Учёт».

  2. Перетащите в неё поля «Артикул» и «ЕдиницаИзмерения». В структуре они должны оказаться вложенными.

Здесь будет снимок экранаструктура элементов формы «Товаров» с группой «Учёт» и двумя полями внутри
  1. Поставьте группировку «горизонтальная» и посмотрите на предпросмотр: поля встали в строку.

  2. Обновите конфигурацию базы данных и откройте карточку товара. Сожмите окно: посмотрите, что стало со строкой.

  3. Переключите группировку на «горизонтальная, если возможно» и повторите опыт с узким окном.

  4. Оставьте группу на форме: дальше мы будем собирать композицию вокруг неё.

Пятый шаг стоит проделать внимательно. Разница между «горизонтальной» и «горизонтальной, если возможно» — это разница между правилом жёстким и правилом с оговоркой; на широком экране они выглядят одинаково.

Главное в одном абзаце

Группа — элемент, который ничего не показывает: данных у неё нет, а работа её в том, чтобы держать в себе другие элементы и задавать им свойством «Группировка» направление — вертикально или горизонтально, всегда или пока хватает ширины. Группы вкладывают друг в друга, и обычная форма оказывается вертикальной стопкой, в которой некоторые ряды разложены в строку. Рамка и заголовок — отдельные решения: выделение бывает слабым, обычным, сильным или никаким, поэтому группа в дереве может быть, а рамки на экране нет; то же самое даёт снятое свойство «Объединённая» — тогда элементы группы располагаются прямо в родительской, а из свойств самой группы действуют только цвет фона и группировка. Собирают в группы ради смысла, ради размещения и ради того, чтобы управлять всем сразу: свойства группы достаются всему, что внутри, — потому и видимость проверяют у всех групп, в которые элемент вложен. А при чтении чужой формы группы показывают, как автор представлял себе работу пользователя.


Рамка собрала поля в блок, блоки легли стопкой. Но в форме документа блоков столько, что в окно они не помещаются, и половина из них нужна не всегда. Куда девать остальное?

Контрольные вопросы

  1. Что такое группа и почему у неё нет пути к данным?
  2. Какое свойство группы решает, как выстроятся вложенные элементы, и какие у него значения?
  3. Чем «горизонтальная» отличается от «горизонтальной, если возможно»?
  4. Как из групп собирается обычная форма — опишите словами.
  5. Почему группа может быть в дереве, а рамки на экране нет?
  6. Что происходит со свойствами группы для вложенных элементов?
  7. О чём говорит одинокий элемент в собственной группе?

Упражнения

По образцу. Соберите в форме элемента «Контрагентов» группу «Контакты» и положите в неё телефон и контактное лицо.

Своё: разложите карточку. Нарисуйте на бумаге дерево групп для карточки контрагента: наименование, ИНН, телефон, контактное лицо. Объясните каждую группу одной фразой.

Ловушка: «рамка пропала». Разработчик собрал группу, задал ей заголовок, а на экране ни рамки, ни заголовка. Какие два объяснения возможны и где смотреть?

Обратный ход. На экране два поля стоят в строку. Что можно сказать о дереве элементов, не открывая его?

На чтение. В чужой форме группа «Дополнительно» содержит одно поле и имеет сильное выделение. Что, скорее всего, случилось с этой формой раньше?

Ответы — в конце части.