§ 5.3. Страницы: форма, которую показывают по частям

Остальное раскладывают по страницам. Страницы — тоже группы, только особые: они показывают не всё содержимое сразу, а одну часть за раз, и пользователь сам выбирает какую, переключая закладки. Так форма документа, которая не помещается в окно, остаётся одной формой — просто показанной по частям.

1. Две группы, а не одна

Страничная раскладка собирается из групп с разным значением свойства «Вид» — «Страницы» и «Страница», — и путать их не стоит.

Форма
├── Номер, Дата
└── Страницы             ← группа «Страницы»
    ├── Шапка            ← группа «Страница»
    │   ├── Контрагент
    │   └── Склад
    └── Товары           ← группа «Страница»
        └── таблица товаров
вид группычто делает
Страницыдержит набор страниц и показывает закладки
Страницадержит элементы одной закладки

Страница внутри устроена как обычная группа: у неё своя группировка и свой «Заголовок» — он и становится надписью на закладке. Всё, что мы знаем о группах, работает и здесь.

«Страницы» — это переключатель, «Страница» — это содержимое. Одна группа держит набор, другая — то, что в нём лежит.

2. Закладки можно показывать по-разному

У группы «Страницы» есть свойство «Отображение страниц», которое решает, где будут закладки, — и будут ли вообще.

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

Есть и седьмое значение — пролистывание: закладок на виду нет, а страницы переключают жестом. Оно не про место закладок, а про способ переключения.

Значение «нет» только кажется странным. Страницы без закладок нужны, когда пользователя ведут по шагам и переключают страницы командами «Далее» и «Назад». Так устроены помощники; к ним вернёмся, когда дойдём до особых форм.

3. Какая страница открывается первой

При открытии формы видна одна страница, и это тоже решено правилом, а не случаем: у группы «Страницы» есть свойство «Текущая страница».

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

4. Что класть на какую страницу

Страницы экономят место, но прячут содержимое. Поэтому раскладывают не по удобству разработчика, а по работе.

кудачто
на первуюто, что нужно каждый раз: основное дело формы
на следующието, что нужно не всегда: подробности, дополнительно
вне страницто, что нужно видеть на любой закладке

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

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

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

5. Что страницы говорят при чтении

Страницы — самое крупное решение композиции, и по ним первым делом видно, как автор делил работу.

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

Читают страницы в том же порядке, что и всё дерево: сперва набор, потом каждая страница как обычная группа.

6. Страница — не отдельная форма

Иногда новичок, увидев закладки, решает, что каждая — своя форма. Нет: форма одна, данные у неё общие, и переключение закладок ничего не открывает и не закрывает.

страницаотдельная форма
данныеобщие с остальными страницамисвои
открытиепереключение закладкиновое окно
записьзаписывается вся форма разомсвоя запись

Это важно при чтении путей к данным: реквизиты у формы одни на все закладки, и пути полей на разных страницах ведут в одни и те же данные.

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

Соберём первую свою форму документа — поступления — и разложим её по двум закладкам.

  1. Откройте в дереве документ «ПоступлениеТоваров» и конструктором создайте ему форму документа. Назначьте её основной.

  2. Добавьте в элементы группу «Страницы», а в неё две страницы: «Шапка» и «Товары».

Здесь будет снимок экранаструктура элементов формы поступления: номер и дата вверху, под ними страницы «Шапка» и «Товары»
  1. Перетащите на страницу «Шапка» поля контрагента и склада, на страницу «Товары» — таблицу товаров. Номер и дату оставьте над страницами.

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

  3. Поменяйте положение закладок на «слева» и посмотрите ещё раз. Верните «сверху».

  4. Оставьте форму: она понадобится в главе о списках, когда будем разбирать таблицу товаров.

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

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


Поля разложены по группам и закладкам. Но в форме бывает и то, что не поле и не группа: пояснение под полем, картинка, линия, отделяющая одно от другого. Зачем они, если ничего не показывают из данных?

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

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

Упражнения

По образцу. Разложите по двум закладкам форму элемента «Контрагентов»: «Основное» — наименование и ИНН, «Контакты» — телефон и контактное лицо.

Своё: разложите реализацию. Документ «РеализацияТоваров» устроен так же, как поступление. Нарисуйте дерево его формы на закладках и объясните, что вы оставили над страницами и почему.

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

Обратный ход. Форма открывается сразу на второй закладке. Где искать причину и в каком порядке?

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

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