К статье
Практический материал

Разработка и Конфигурация · 9 мин

Как добавить страницу на форму в 1С

Как добавить страницу на форму в 1С: конфигуратор, группа-страницы, программное создание, настройка отображения и типичные ошибки разработчика.

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

Добавить страницу можно двумя способами: в конфигураторе через редактор формы (рекомендуемый путь для большинства задач) или программно из кода модуля формы, когда состав вкладок должен меняться динамически. Оба подхода работают и в управляемых, и в обычных формах, но синтаксис и возможности различаются.

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

Как устроены страницы в структуре формы

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

Все элементы, которые нужно показать на конкретной вкладке, помещаются внутрь соответствующей группы-страницы. Один элемент не может находиться на двух страницах одновременно: если поле нужно видеть всегда, его размещают вне группы «Страницы» — выше или ниже неё в дереве элементов.

Добавление страницы в конфигураторе

Откройте конфигуратор, найдите нужный объект (документ, справочник, обработку) и откройте его форму двойным щелчком. В правой части окна редактора формы находится дерево элементов — именно с ним предстоит работать.

Если на форме ещё нет контейнера вкладок, добавьте его: щёлкните правой кнопкой по корню дерева (элемент «Форма»), выберите «Добавить» → «Группа», в свойствах установите вид «Страницы». Затем щёлкните правой кнопкой по этой группе и снова добавьте группу, но уже с видом «Страница» — это и есть первая вкладка.

Порядок действий в конфигураторе
  1. 1
    Откройте форму объекта в конфигураторе и перейдите к дереву элементов
  2. 2
    Добавьте группу с видом «Страницы», если контейнера вкладок ещё нет
  3. 3
    Внутрь группы «Страницы» добавьте группу с видом «Страница»
  4. 4
    Задайте странице имя (например, СтраницаТовары) и заголовок, который увидит пользователь
  5. 5
    Перетащите в группу-страницу нужные поля и таблицы из дерева элементов
  6. 6
    Сохраните форму и обновите конфигурацию базы данных при необходимости

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

Настройка отображения вкладок

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

У каждой страницы можно настроить картинку на вкладке (свойство «Картинка»), подсказку и видимость. Если страницу сделать невидимой, вкладка скроется вместе со всем содержимым — это безопасный способ временно убрать блок данных без удаления элементов.

Программное создание страницы

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

bsl
&НаСервере
Процедура СоздатьСтраницу()
    ГруппаСтраницы = Элементы.Найти("ГруппаСтраницы");
    НоваяСтраница = Элементы.Добавить("СтраницаДополнительно", Тип("ГруппаФормы"), ГруппаСтраницы);
    НоваяСтраница.Вид = ВидГруппыФормы.Страница;
    НоваяСтраница.Заголовок = "Дополнительно";
КонецПроцедуры

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

В обычных формах (толстый клиент, старые конфигурации) используется свойство «Панель» и коллекция «Страницы»: ЭлементыФормы.Панель1.Страницы.Добавить("Страница1", "Заголовок"). Этот синтаксис несовместим с управляемыми формами, не переносите его без переработки.

Перенос элементов на новую страницу

После создания страницы в неё нужно переместить поля. В конфигураторе это делается перетаскиванием в дереве элементов: захватите поле мышью и перетащите на группу-страницу. Кнопки со стрелками «вверх/вниз» на панели инструментов дерева меняют только порядок внутри текущего родителя, для смены родителя используйте именно перетаскивание.

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

Типичные ошибки
01
Страница добавлена вне группы «Страницы» — вкладка не появляется, группа отображается как обычная рамка
02
Изменения внесены в форму, но конфигурация базы данных не обновлена — пользователь видит старый вариант
03
Поле осталось вне всех страниц и перекрывает вкладки или дублирует информацию
04
Программное добавление элементов выполняется в клиентской процедуре управляемой формы — возникает ошибка доступа
05
Имя страницы в коде не совпадает с именем в дереве элементов — обращение Элементы.Имя возвращает Неопределено

Проверка результата

После сохранения формы обновите конфигурацию базы данных (клавиша F7 в конфигураторе) и запустите режим предприятия. Откройте объект и убедитесь, что вкладка видна, заголовок читается, а все поля доступны для ввода.

Контрольные точки

Как проверить результат

Отображение вкладки
Норма

Вкладка видна на форме с заданным заголовком

Тревожный признак

Вкладки нет или она отображается как обычная группа

Содержимое страницы
Норма

Все нужные поля находятся на вкладке и доступны для редактирования

Тревожный признак

Часть полей осталась на основной форме или пропала

Переключение
Норма

При клике по вкладкам содержимое меняется без ошибок

Тревожный признак

При переключении возникают ошибки или форма зависает

Права доступа
Норма

Пользователь с типовыми правами видит вкладку

Тревожный признак

Вкладка видна только администратору — проверьте права на реквизиты

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

Когда страницы не нужны: альтернативы

Не каждую форму стоит дробить на вкладки. Если полей мало (до 5–7), страницы только добавляют лишние клики. Для редко используемых реквизитов лучше подходит сворачиваемая группа — пользователь разворачивает её по необходимости, а форма остаётся одноэкранной.

Сравнение вариантов группировки

Страницы (вкладки)

Подходят для форм с большим числом полей и табличных частей; минус — часть данных скрыта до клика по вкладке

Сворачиваемые группы

Хороши для редко используемых блоков; всё остаётся на одном экране, но длинная форма требует прокрутки

Обычные группы с заголовком

Простое визуальное разделение без скрытия данных; не экономят место при большом объёме полей

Итог

Что важно запомнить

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

Частые вопросы

Можно ли добавить страницу без изменения конфигурации?

Да, через механизм расширений конфигурации: форма дорабатывается в расширении, основная конфигурация остаётся на поддержке. Это рекомендуемый способ для типовых решений, которые регулярно обновляются.

Почему вкладка не видна у обычного пользователя, а у администратора видна?

Проверьте права на реквизиты, размещённые на странице, и функциональные опции, связанные со страницей или элементами. Если у пользователя нет прав ни на один реквизит вкладки, платформа может скрыть её целиком.

Как переключить страницу программно?

Присвойте свойству «ТекущаяСтраница» группы «Страницы» нужный элемент: Элементы.ГруппаСтраницы.ТекущаяСтраница = Элементы.СтраницаОплата. Это работает и на клиенте, и на сервере.

Можно ли сделать вкладки сбоку или снизу?

Да, свойство «ОтображениеСтраниц» у группы «Страницы» позволяет расположить закладки сверху, снизу, слева или справа. Боковое расположение удобно при длинных заголовках вкладок.

Как скрыть вкладку, не удаляя элементы?

Установите у группы-страницы свойство «Видимость» в Ложь — в конфигураторе или программно. Вкладка исчезнет вместе с содержимым, а вернуть её можно той же установкой видимости в Истина.

Чем отличается работа со страницами в обычных и управляемых формах?

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