Как в управляемой форме 1С создать вкладку и разместить в ней таблицу

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

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

Разбираем структуру элементов формы: Группа и Страницы

Для начала проанализируем, как строится иерархия элементов для создания вкладок. В управляемой форме за визуальное разделение контента по закладкам отвечают два типа элементов: Группа - Страницы и Группа - Страница. Рассмотрим последовательность действий по шагам:

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

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

Почему вкладка или таблица не видны в конфигураторе?

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

Связываем таблицу с данными (ПутьКДанным)

Проанализируем процесс наполнения таблицы данными. Существует два основных способа размещения таблицы на вкладке, в зависимости от того, откуда берутся данные.

Способ 1: Использование табличной части объекта. Если ваша таблица должна сохраняться в базе данных (например, «Товары» в документе), выполним следующие действия:

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

Способ 2: Использование реквизита формы (Таблица значений). Если данные нужны только для временных расчетов в открытой форме, сделаем так:

  1. На закладке Реквизиты создадим новый реквизит формы, назовем его, например, ТЗ_Данные.
  2. В свойствах этого реквизита установим тип Таблица значений.
  3. Добавим внутрь этого реквизита колонки (нажав правую кнопку мыши по реквизиту -> Добавить колонку реквизита).
  4. Перетащим ТЗ_Данные в дерево элементов на нужную страницу.

Программное создание вкладок и таблиц

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


// 1. Создаем основную группу страниц
НоваяГруппаСтраниц = Элементы.Добавить("ГруппаДинамическиеСтраницы", Тип("ГруппаФормы"), ЭтаФорма);
НоваяГруппаСтраниц.Вид = ВидГруппыФормы.ГруппаСтраницы;

// 2. Создаем саму страницу (вкладку)
НоваяСтраница = Элементы.Добавить("СтраницаДополнительно", Тип("ГруппаФормы"), НоваяГруппаСтраниц);
НоваяСтраница.Вид = ВидГруппыФормы.Страница;
НоваяСтраница.Заголовок = "Дополнительная информация";

// 3. Добавляем таблицу на эту страницу
НоваяТаблица = Элементы.Добавить("ТаблицаПрограммная", Тип("ТаблицаФормы"), НоваяСтраница);
НоваяТаблица.ПутьКДанным = "Объект.ИмяВашейТабличнойЧасти"; // Привязка к данным объекта

Обратите внимание: При программном добавлении таблицы 1С не создаст колонки автоматически. Их также нужно добавлять через Элементы.Добавить(), указывая в качестве родителя вашу НовуюТаблицу и устанавливая свойство ПутьКДанным для каждой колонки.

Тонкости оформления для профессионального интерфейса

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

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

Если вы все настроили, но в режиме «1С:Предприятие» таблица все равно не видна, проанализируем еще два скрытых фактора:

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

2. Права доступа (Rls): Проверьте, есть ли у текущего пользователя права на чтение и просмотр табличной части или реквизита, который выступает источником данных для таблицы. Без прав элемент просто не будет отрисован.

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

← На главную