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

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

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

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

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

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

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

Где используются вкладки и какой элемент за них отвечает

В управляемом приложении 1С:Предприятие 8.3 вкладки строятся на связке двух видов групп. Родительская группа с видом «Страницы» (Pages) — это контейнер, который отображает полосу закладок. Дочерние группы с видом «Страница» (Page) — это сами вкладки, внутрь которых помещаются поля, таблицы и другие элементы.

Типичные сценарии применения: карточка контрагента с разделами «Основное», «Адреса», «Контакты»; документ с вкладками «Товары» и «Дополнительно»; форма настроек с тематическими разделами. Вкладки уменьшают вертикальную прокрутку и помогают группировать реквизиты по смыслу.

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

Как добавить вкладки через редактор формы в конфигураторе

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

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

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

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

Настройка внешнего вида и поведения вкладок

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

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

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

Программное управление вкладками

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

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

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

bsl
// Переключение на нужную вкладку
Элементы.ГруппаСтраницы.ТекущаяСтраница = Элементы.СтраницаКонтакты;

// Скрытие вкладки по условию
Если НЕ ПоказыватьДополнительно Тогда
    Элементы.СтраницаДополнительно.Видимость = Ложь;
КонецЕсли;

Вкладки через расширение конфигурации

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

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

Расширение подключается через меню «Конфигурация — Расширения конфигурации». Для работы расширения в файловой базе достаточно прав администратора, в клиент-серверном варианте может потребоваться настройка профилей безопасности.

Проверка результата и типичные ошибки

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

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

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

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

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

Полоса закладок на форме
Норма

Закладки видны, переключение работает мышью

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

Закладок нет — проверьте вид родительской группы

Содержимое вкладок
Норма

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

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

Поля видны на всех вкладках — они вне страниц в дереве

Сохранение объекта
Норма

Запись проходит, ошибки указывают на понятные поля

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

Ошибка ссылается на поле с неактивной вкладки

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

ТекущаяСтраница меняется без исключений

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

Ошибка выполнения при обращении к элементу

Часто задаваемые вопросы

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

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

Как скрыть полосу закладок, но оставить переключение страниц?

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

Почему обязательное поле на неактивной вкладке мешает сохранению?

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

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

В обработчике ПриСозданииНаСервере или ПриОткрытии формы проверяйте значение реквизита (например, вид операции) и управляйте видимостью страниц: Элементы.ИмяСтраницы.Видимость = Ложь. Скрытые закладки не отображаются пользователю, но их содержимое остаётся доступным из кода.

Работают ли вкладки в тонком и веб-клиенте?

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

Итог

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

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