Как расположить заголовки колонок таблицы значений вертикально в 1С?

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

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

Вариант 1. Использование групп колонок с вертикальной группировкой

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

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

Вариант 2. Имитация шапки внутри строк таблицы

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

  1. Сначала необходимо отключить стандартную шапку таблицы. Для этого снимаем флаг ОтображатьВШапке в свойствах таблицы или отдельных колонок.
  2. Первую колонку (или несколько) мы используем как визуальный заголовок. Заполняем ее нужными названиями полей по умолчанию.
  3. Чтобы пользователи не могли изменять "заголовки", для этих ячеек отключаем режим редактирования.
  4. Для наглядности выделяем такие ячейки особым фоновым цветом или шрифтом, имитируя внешний вид стандартной шапки.

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

Вариант 3. Программная генерация реквизитов

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

Вместо этого мы можем создавать реквизиты формы программно. Рассмотрим по шагам:

  1. Используем метод ИзменитьРеквизиты для добавления новых реквизитов.
  2. Используем Элементы.Добавить для вывода полей ввода на форму.
  3. Создаем обычные группы формы с горизонтальной группировкой. Внутри группы заголовок (или декорация-надпись) будет находиться строго слева от поля ввода.
  4. Сами группы выстраиваем вертикально друг под другом.

Этот подход дает идеальный визуальный результат, полностью соответствующий изначальной задумке — заголовок слева, значение справа, и всё это выстроено в вертикальный список.

Вариант 4. Использование Поля Табличного Документа

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

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

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

← На главную