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