Работа с Системой компоновки данных (СКД) в 1С часто преподносит сюрпризы даже опытным разработчикам. Одной из таких проблем является «исчезновение» или неочевидное поведение кнопок сворачивания (плюсиков и минусиков) над группировками колонок. Разберем подробно, почему так происходит, и как заставить отчет работать корректно.
Проанализируем ситуацию, описанную пользователями: иногда кнопки группировки колонок физически существуют и настроены верно, но они не отображаются в окне просмотра отчета до тех пор, пока пользователь не нажмет на ячейку внутри этой самой таблицы. Это поведение связано с тем, как платформа 1С управляет фокусом и отрисовкой элементов ТабличныйДокумент.
Когда отчет содержит несколько таблиц или сложные области, панель группировок (которая находится сверху или слева) может быть скрыта для экономии экранного пространства или из-за особенностей отрисовки формы. Рассмотрим ситуацию: если группировки настроены, но их не видно, попробуйте просто активировать область отчета кликом. Если они появляются только после этого, значит, проблема в настройках отображения самого поля табличного документа на форме.
Первым делом проверим базовые настройки схемы компоновки. Чтобы кнопки сворачивания +/- вообще имели шанс появиться, необходимо активировать механизм автогруппировки. Выясним, как это сделать:
Автогруппировка и установим его в значение Истина.Важно понимать: если этот флаг установлен в Ложь, 1С выведет колонки просто в ряд, игнорируя иерархию ваших настроек, и никаких элементов управления сворачиванием создано не будет.
Бывает так, что кнопки группировки созданы, но расположены в неудобном месте, из-за чего кажется, что их нет. В тех же «Параметрах вывода» существует свойство Расположение группировок колонок. Рассмотрим доступные варианты:
+ появятся слева от сгруппированных колонок (традиционный вид).Если у вас выбрано значение Нет, это и есть причина отсутствия значков. Установите Начало для стандартного отображения.
Если вы выводите отчет программно или используете собственную форму, за отображение панели группировок отвечают свойства объекта ТабличныйДокумент. Разберем по шагам, какие свойства нужно проверить в коде или в свойствах элемента формы:
Для отображения кнопок группировки колонок свойство ОтображатьГруппировкиКолонок должно быть установлено в Истина. Аналогично для строк существует свойство ОтображатьГруппировкиСтрок. Если в коде вывода эти флаги сбрасываются, то даже при идеальных настройках СКД пользователь ничего не увидит.
Посмотрим на пример правильного программного вывода результата СКД:
// Создаем процессор вывода
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(Результат); // Результат - это ваш ТабличныйДокумент
// Выводим результат
ПроцессорВывода.Вывести(ПроцессорКомпоновки);
// Принудительно включаем отображение группировок
Результат.ОтображатьГруппировкиКолонок = Истина;
Результат.ОтображатьГруппировкиСтрок = Истина;
Использование метода НачатьВывод() и ЗакончитьВывод() вместо простого Вывести() также критично, если вы формируете отчет по частям. Если структура дерева групп не сформируется в итоговом документе, кнопки не появятся.
Проанализируем еще одну тонкую ситуацию: фиксацию. Если в отчете зафиксированы левые колонки (например, шапка строк), кнопки сворачивания групп, которые попадают в область фиксации или находятся непосредственно на ее границе, могут вести себя некорректно. В некоторых версиях платформы это приводит к тому, что значки не отрисовываются до полной активации таблицы или прокрутки.
Если вы столкнулись с «невидимыми» кнопками, попробуйте временно отключить свойство ФиксацияСлева в параметрах вывода СКД, чтобы проверить, не в этом ли причина.
Часто пользователи жалуются, что отчет открывается «простыней», и кнопки нужно долго искать. Мы можем управлять начальным состоянием. В настройках конкретной группировки колонок (правой кнопкой мыши — «Установить дополнительные настройки») можно найти свойство Тип вывода группы. Это позволяет определить, будет ли группа по умолчанию развернута или свернута. Правильное использование этого параметра делает структуру отчета наглядной сразу после формирования, избавляя пользователя от необходимости «кликать везде», чтобы понять структуру документа.
Если в качестве группировки колонок используется поле, имеющее иерархию (например, справочник Подразделения или Номенклатура), СКД может автоматически создавать уровни группировки. Чтобы ими управлять и видеть значки сворачивания для каждого уровня иерархии, убедитесь, что в настройках выбранного поля указан тип Элементы и иерархия. Если указано просто Элементы, иерархических кнопок сворачивания не будет, даже если данные в справочнике имеют вложенность.
Иногда кнопки есть, но они «сливаются» с интерфейсом. Рекомендуем использовать «Условное оформление» для выделения уровней группировок разными цветами фона. Это создает визуальный акцент и подсказывает пользователю, где именно находятся границы групп и где следует ожидать появления значков +/- при активации таблицы.
Подводя итог, если у вас не отображаются значки группировки колонок:
Автогруппировки в параметрах вывода.Расположение группировок колонок не стоит в значении Нет.Результат.ОтображатьГруппировкиКолонок = Истина.