Разработка и Конфигурация · 9 мин
Как добавить страницу на форму в 1С
Как добавить страницу на форму в 1С: конфигуратор, группа-страницы, программное создание, настройка отображения и типичные ошибки разработчика.
Страницы на форме в 1С — это стандартный способ сгруппировать элементы управления по вкладкам, чтобы форма оставалась компактной и удобной. Документ с десятками реквизитов, табличных частей и служебных полей без страниц превращается в бесконечную прокрутку. Разнесение данных по вкладкам «Основное», «Дополнительно», «Товары» решает эту проблему без изменения структуры объекта.
Добавить страницу можно двумя способами: в конфигураторе через редактор формы (рекомендуемый путь для большинства задач) или программно из кода модуля формы, когда состав вкладок должен меняться динамически. Оба подхода работают и в управляемых, и в обычных формах, но синтаксис и возможности различаются.
Ниже разобраны оба способа, настройка отображения вкладок, проверка результата и типичные ошибки, из-за которых страница не появляется или ломает логику формы.
Как устроены страницы в структуре формы
Страница в форме 1С — это не самостоятельный элемент, а группа с видом «Страница», которая обязательно находится внутри родительской группы с видом «Страницы». Родительская группа отвечает за отображение закладок (вкладок), а каждая дочерняя группа-страница — за содержимое одной вкладки.
Все элементы, которые нужно показать на конкретной вкладке, помещаются внутрь соответствующей группы-страницы. Один элемент не может находиться на двух страницах одновременно: если поле нужно видеть всегда, его размещают вне группы «Страницы» — выше или ниже неё в дереве элементов.
Добавление страницы в конфигураторе
Откройте конфигуратор, найдите нужный объект (документ, справочник, обработку) и откройте его форму двойным щелчком. В правой части окна редактора формы находится дерево элементов — именно с ним предстоит работать.
Если на форме ещё нет контейнера вкладок, добавьте его: щёлкните правой кнопкой по корню дерева (элемент «Форма»), выберите «Добавить» → «Группа», в свойствах установите вид «Страницы». Затем щёлкните правой кнопкой по этой группе и снова добавьте группу, но уже с видом «Страница» — это и есть первая вкладка.
- 1Откройте форму объекта в конфигураторе и перейдите к дереву элементов
- 2Добавьте группу с видом «Страницы», если контейнера вкладок ещё нет
- 3Внутрь группы «Страницы» добавьте группу с видом «Страница»
- 4Задайте странице имя (например, СтраницаТовары) и заголовок, который увидит пользователь
- 5Перетащите в группу-страницу нужные поля и таблицы из дерева элементов
- 6Сохраните форму и обновите конфигурацию базы данных при необходимости
Заголовок страницы — это текст на вкладке, который видит пользователь. Имя страницы — служебный идентификатор, по которому к ней обращаются из кода. Давайте осмысленные имена: «СтраницаОплата» читается лучше, чем «Группа5».
Настройка отображения вкладок
У группы «Страницы» есть свойство «ОтображениеСтраниц», которое управляет тем, как показываются закладки. Доступные варианты: закладки сверху, снизу, слева, справа, а также режим без отображения закладок вообще — тогда переключение страниц выполняется только программно, что удобно для пошаговых мастеров.
У каждой страницы можно настроить картинку на вкладке (свойство «Картинка»), подсказку и видимость. Если страницу сделать невидимой, вкладка скроется вместе со всем содержимым — это безопасный способ временно убрать блок данных без удаления элементов.
Программное создание страницы
Динамическое добавление страниц нужно, когда состав вкладок зависит от данных: например, для каждого вида операции показывается своя вкладка. В управляемой форме элементы создаются в обработчике «ПриСозданииНаСервере» или в серверной процедуре через коллекцию «Элементы».
&НаСервере
Процедура СоздатьСтраницу()
ГруппаСтраницы = Элементы.Найти("ГруппаСтраницы");
НоваяСтраница = Элементы.Добавить("СтраницаДополнительно", Тип("ГруппаФормы"), ГруппаСтраницы);
НоваяСтраница.Вид = ВидГруппыФормы.Страница;
НоваяСтраница.Заголовок = "Дополнительно";
КонецПроцедурыОбратите внимание на ограничение управляемых форм: программно добавлять элементы можно только до того, как форма показана пользователю, либо через изменение реквизитов формы с последующим созданием элементов. Изменение структуры формы «на лету» в клиентском коде недоступно — вся работа идёт на сервере.
В обычных формах (толстый клиент, старые конфигурации) используется свойство «Панель» и коллекция «Страницы»: ЭлементыФормы.Панель1.Страницы.Добавить("Страница1", "Заголовок"). Этот синтаксис несовместим с управляемыми формами, не переносите его без переработки.
Перенос элементов на новую страницу
После создания страницы в неё нужно переместить поля. В конфигураторе это делается перетаскиванием в дереве элементов: захватите поле мышью и перетащите на группу-страницу. Кнопки со стрелками «вверх/вниз» на панели инструментов дерева меняют только порядок внутри текущего родителя, для смены родителя используйте именно перетаскивание.
Проверьте табличные части: если таблица осталась вне страниц, а связанные с ней поля уехали на вкладку, логика формы станет запутанной. Обычно табличная часть целиком размещается на своей вкладке вместе с командной панелью, которая платформа создаёт автоматически.
Проверка результата
После сохранения формы обновите конфигурацию базы данных (клавиша F7 в конфигураторе) и запустите режим предприятия. Откройте объект и убедитесь, что вкладка видна, заголовок читается, а все поля доступны для ввода.
Как проверить результат
Вкладка видна на форме с заданным заголовком
Вкладки нет или она отображается как обычная группа
Все нужные поля находятся на вкладке и доступны для редактирования
Часть полей осталась на основной форме или пропала
При клике по вкладкам содержимое меняется без ошибок
При переключении возникают ошибки или форма зависает
Пользователь с типовыми правами видит вкладку
Вкладка видна только администратору — проверьте права на реквизиты
Если вкладка не появилась, первым делом проверьте, что страница действительно вложена в группу с видом «Страницы», а не просто лежит рядом в дереве. Второй частый случай — видимость страницы отключена в свойствах или управляется функциональной опцией, которая выключена в базе.
Когда страницы не нужны: альтернативы
Не каждую форму стоит дробить на вкладки. Если полей мало (до 5–7), страницы только добавляют лишние клики. Для редко используемых реквизитов лучше подходит сворачиваемая группа — пользователь разворачивает её по необходимости, а форма остаётся одноэкранной.
Сравнение вариантов группировки
Подходят для форм с большим числом полей и табличных частей; минус — часть данных скрыта до клика по вкладке
Хороши для редко используемых блоков; всё остаётся на одном экране, но длинная форма требует прокрутки
Простое визуальное разделение без скрытия данных; не экономят место при большом объёме полей
Что важно запомнить
Страница создаётся как группа с видом «Страница» внутри группы с видом «Страницы» — в конфигураторе через редактор формы или программно на сервере. После изменений обновите конфигурацию базы данных и проверьте форму в режиме предприятия под учётной записью обычного пользователя.
Частые вопросы
Можно ли добавить страницу без изменения конфигурации?
Да, через механизм расширений конфигурации: форма дорабатывается в расширении, основная конфигурация остаётся на поддержке. Это рекомендуемый способ для типовых решений, которые регулярно обновляются.
Почему вкладка не видна у обычного пользователя, а у администратора видна?
Проверьте права на реквизиты, размещённые на странице, и функциональные опции, связанные со страницей или элементами. Если у пользователя нет прав ни на один реквизит вкладки, платформа может скрыть её целиком.
Как переключить страницу программно?
Присвойте свойству «ТекущаяСтраница» группы «Страницы» нужный элемент: Элементы.ГруппаСтраницы.ТекущаяСтраница = Элементы.СтраницаОплата. Это работает и на клиенте, и на сервере.
Можно ли сделать вкладки сбоку или снизу?
Да, свойство «ОтображениеСтраниц» у группы «Страницы» позволяет расположить закладки сверху, снизу, слева или справа. Боковое расположение удобно при длинных заголовках вкладок.
Как скрыть вкладку, не удаляя элементы?
Установите у группы-страницы свойство «Видимость» в Ложь — в конфигураторе или программно. Вкладка исчезнет вместе с содержимым, а вернуть её можно той же установкой видимости в Истина.
Чем отличается работа со страницами в обычных и управляемых формах?
В обычных формах используется объект «Панель» с коллекцией «Страницы» и полный программный доступ на клиенте. В управляемых формах — группы с видами «Страницы» и «Страница», а создание элементов возможно только на сервере.