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

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

Как создать вкладки на форме 1С

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

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

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

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

Как устроены вкладки в управляемой форме

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

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

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

Создание вкладок в конфигураторе по шагам

Откройте конфигуратор, найдите нужный объект (документ, справочник, обработку) и откройте его форму. Если формы ещё нет, создайте её через конструктор: правый клик по объекту — «Формы» — «Добавить». Дальнейшие действия выполняются в редакторе формы, в дереве элементов.

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

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

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

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

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

&НаКлиенте

Процедура ПриОткрытии(Отказ)

// Переключить на нужную вкладку

Элементы.СтраницыФормы.ТекущаяСтраница = Элементы.СтраницаТовары;

// Скрыть вкладку по условию

Если НЕ Объект.ЕстьДоставка Тогда

Элементы.СтраницаДоставка.Видимость = Ложь;

КонецЕсли;

КонецПроцедуры

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

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

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

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

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

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

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

Вкладки в обычных формах

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

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

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

Сравнение вариантов

Управляемая форма: группа «Страницы»

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

Обычная форма: панель со страницами

Применяется в старых конфигурациях и режиме совместимости. Страницы редактируются визуально. Недоступна в управляемых формах.

Страницы без отображения закладок

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

Типичные ошибки и ограничения

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

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

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

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

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

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

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

Полоса вкладок
Норма

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

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

Вкладки отсутствуют, заголовки обрезаны или дублируются

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

Каждое поле находится на своей вкладке, общие реквизиты видны всегда

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

Поля отображаются на всех вкладках или пропали с формы

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

Скрытие и переключение страниц срабатывают по условиям без ошибок

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

При открытии возникает ошибка обращения к элементу формы

Сохранение данных
Норма

Данные со всех вкладок записываются и читаются после перепроведения

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

Значения со скрытых вкладок теряются или не сохраняются

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

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

Итог

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

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

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

Как скрыть вкладку от части пользователей?

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

Можно ли сделать вкладку неактивной, но видимой?

Да, установите странице «Доступность = Ложь». Вкладка останется в полосе, но её содержимое будет недоступно для редактирования. Полностью заблокировать переход на вкладку штатными средствами нельзя — обычно вместо этого вкладку скрывают.

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

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

Как открыть форму сразу на нужной вкладке?

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

Можно ли добавить картинку на вкладку?

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

Как создать вкладки, не меняя типовую конфигурацию?

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