Как расположить колонки таблицы в два этажа в 1С?

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

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

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

Реализация в управляемых формах

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

  1. Откроем нужную форму в конфигураторе и перейдем на вкладку Элементы.
  2. Найдем в дереве элементов нашу таблицу, нажмем по ней правой кнопкой мыши и добавим новый элемент с типом ГруппаКолонок.
  3. Перетащим внутрь созданной группы те колонки, которые должны отображаться на нескольких уровнях (в нашем примере — Колонка 1 и Колонка 2).
  4. Откроем палитру свойств добавленной группы колонок и найдем свойство Группировка. Установим его в значение Вертикальная. Это ключевая настройка, заставляющая платформу рисовать подчиненные поля одно под другим.
  5. Настроим оформление заголовков. По умолчанию у группы отображается собственная шапка. Если она не требуется, переключим свойство Отображать заголовок в значение Ложь.
  6. Обратим внимание на свойство группы Отображение в шапке. С его помощью можно гибко управлять видом заголовков: показывать общую шапку группы, отображать индивидуальные заголовки для каждого поля или скрыть часть названий для экономии места.

Реализация в обычных формах (Табличное поле)

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

Разберем, как воспроизвести двухэтажную структуру в обычном интерфейсе:

  1. Откроем форму и перейдем к свойствам первой колонки (Колонка 1). Убедимся, что свойство Положение установлено в значение Новая колонка.
  2. Перейдем к свойствам нижней колонки (Колонка 2), которая должна встать под первую. Установим для нее свойство Положение в значение На следующей строке.
  3. Для последующих колонок (Колонка 3, Колонка 4), которые должны выводиться справа в стандартном виде, проверим свойство Положение: оно должно иметь значение Новая колонка. В этом случае они займут соседние вертикальные полосы и автоматически растянутся на всю высоту двойной строки.

Особенности поведения платформы и ограничения

Использование вертикальных колонок несет в себе несколько интерфейсных нюансов, о которых важно помнить разработчику:

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

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

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

Условное оформление: Следует учитывать, что правила условного оформления (цвет фона, шрифты, доступность, видимость) применяются не к группе целиком, а отдельно к каждому входящему в нее полю таблицы.

Альтернативные способы решения

Если вертикальная группа колонок кажется избыточной или слишком сильно растягивает строки, рассмотрим альтернативные варианты:

  1. Объединение данных в одно поле: Если нижняя колонка носит чисто справочный характер и не требует ввода данных пользователем, ее значение можно сцепить со значением первой колонки через символ переноса строки Символы.ПС, включив у колонки свойство многострочного режима.
  2. Подсказка или всплывающее окно: Вспомогательные данные (например, артикул, статус или примечание) можно перенести в свойство поля Подсказка, чтобы информация отображалась при наведении курсора, либо вынести в отдельную панель сведений под табличной частью.
← На главную