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

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

Как создать вкладки в 1С: пошаговая инструкция

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

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

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

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

Когда вкладки нужны, а когда лучше обойтись без них

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

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

Альтернатива вкладкам — сворачиваемые группы (группа с видом «Обычная группа» и включённым свойством «Свернутая»). Они подходят, когда данные нужно видеть в общем контексте, но по умолчанию держать скрытыми.

Маршрут решения

Как выбрать действие

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

Создание вкладок в конфигураторе: базовый сценарий

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

Добавьте в корень дерева (или в нужную родительскую группу) новый элемент: правый клик → «Добавить» → «Группа». В палитре свойств установите свойство «Вид» в значение «Страницы». Это контейнер будущих вкладок.

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

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

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

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

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

Порядок вкладок определяется порядком групп в дереве элементов: чем выше страница в дереве, тем левее её ярлык. Перестановка выполняется обычным перетаскиванием или кнопками перемещения вверх/вниз.

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

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

// Переключение на вкладку "Дополнительно"

Элементы.ГруппаСтраницы.ТекущаяСтраница = Элементы.СтраницаДополнительно;

// Динамическое управление видимостью вкладки

Элементы.СтраницаВалютныеРасчеты.Видимость =

(Объект.Валюта <> КонстантаВалютаРегламентированногоУчета());

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

Обратите внимание: обращаться к элементам формы можно только в клиентских и серверных процедурах модуля формы, где доступен контекст формы. В модуле объекта коллекции «Элементы» нет.

bsl
&НаКлиенте
Процедура ПоказатьВкладкуДополнительно(Команда)
	Элементы.ГруппаСтраницы.ТекущаяСтраница = Элементы.СтраницаДополнительно;
КонецПроцедуры

Вкладки в табличных частях и динамических списках

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

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

Типичные ошибки и как их избежать

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

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

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

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

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

Открытие формы
Норма

Активна первая вкладка, ярлыки остальных видны сверху

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

Все поля выстроены вертикально без ярлыков — вид группы не «Страницы»

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

Содержимое меняется, поля не дублируются

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

Часть полей видна на всех вкладках — они вне страниц

Запись объекта
Норма

Обязательные поля доступны или программа ведёт к ним

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

Ошибка записи из-за скрытого незаполненного поля

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

Итог

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

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

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

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

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

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

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

Как сделать вкладку активной по умолчанию при открытии формы?

В обработчике «ПриОткрытии» или «ПриСозданииНаСервере» модуля формы присвойте свойству «ТекущаяСтраница» контейнера ссылку на нужный элемент страницы. По умолчанию активной становится первая страница в дереве элементов.

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

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

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

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

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

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