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

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

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

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

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

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

Материал ориентирован на управляемые формы (такси-интерфейс), так как именно они используются в современных конфигурациях. Отдельно разобраны особенности обычных форм, которые встречаются в старых конфигурациях на платформе 8.2 и ранних версиях 8.3.

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

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

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

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

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

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

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

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

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

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

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

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

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

Когда состав вкладок зависит от данных объекта, управляйте ими из модуля формы. Доступ к элементам выполняется через коллекцию Элементы по имени группы-страницы. Чаще всего программно меняют видимость страницы или делают её текущей.

&НаКлиенте

Процедура НастроитьВкладки()

Если Объект.ВидОперации = Перечисления.ВидыОпераций.Продажа Тогда

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

Иначе

Элементы.СтраницаВозврат.Видимость = Истина;

КонецЕсли;

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

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

&НаСервере

Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

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

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

bsl
Элементы.ПанельСтраниц.ТекущаяСтраница = Элементы.СтраницаДоставка;

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

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

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

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

Вкладки в конфигураторе

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

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

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

Отдельные формы вместо вкладок

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

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

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

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

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

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

Отображение вкладок
Норма

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

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

Ярлыков нет или поля идут сплошным списком — неверный вид группы

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

Каждое поле находится только на своей вкладке

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

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

Проведение документа
Норма

Документ проводится при любом наборе видимых вкладок

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

Ошибка незаполненного реквизита на скрытой странице

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

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

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

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

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

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

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

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

Что делать, если вкладок слишком много и ярлыки не помещаются?

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

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

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

Итог

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

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