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

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

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

Разберем структуру формы в конфигураторе

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

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

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

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

Существует два подхода к созданию таблиц: использование метаданных объекта и использование временной таблицы формы.

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

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

Программное создание элементов формы

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

Для программного управления элементами мы используем коллекцию Элементы. Давайте проанализируем процесс создания группы и таблицы внутри неё:


// Создаем группу для размещения элементов
ГруппаИА = Элементы.Добавить("ГруппаИА", Тип("ГруппаФормы"),);
ГруппаИА.Вид = ВидГруппыФормы.ОбычнаяГруппа;
ГруппаИА.Заголовок = "Собранные элементы";

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

// Добавляем колонку в таблицу
Вариант = Элементы.Добавить("Вариант", Тип("ПолеФормы"), Элементы.ИА_ВариантыНазвания);
Вариант.Вид = ВидПоляФормы.ПолеВвода;
Вариант.ПутьКДанным = "Объект.Вариант";

Важные замечания по работе с данными

При работе с ТаблицейЗначений в управляемых формах помните о разделении контекста:

Если задача состоит в отборе документов (например, по счету 60.01) и последующей их обработке, рассмотрите использование ДинамическогоСписка. Это позволит избежать ручного заполнения таблицы данными и сэкономит много времени, так как ДинамическийСписок умеет сам выполнять запрос к базе и отображать результаты в табличном виде.

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

← На главную