К статье
Практический материал

Отчеты и Аналитика · 11 мин

Как скрыть колонку в отчете на СКД в 1С

Как скрыть колонку в отчете на СКД в 1С: настройки варианта, условное оформление, выбранные поля, программное скрытие. Пошаговые инструкции и типичные ошибки.

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

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

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

Определяем, откуда берется колонка в отчете

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

Самый быстрый способ диагностики — открыть расширенную форму настроек отчета (в типовых отчетах это кнопка «Настройки» с включенным режимом расширенного просмотра) и посмотреть закладку «Выбранные поля». Если нужного поля там нет, проверьте закладку «Ресурсы» и структуру группировок: поле может быть выбрано на уровне конкретной группировки, а не всего отчета.

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

Поле в «Выбранных полях» отчетаКолонка формируется настройкой верхнего уровня

Снимите флажок или удалите поле из списка

Поле внутри группировкиКолонка выводится только для этой группировки

Откройте настройки группировки и отключите поле там

Поле в ресурсахКолонка выводится автоматически как итоговая

Уберите ресурс или ограничьте его вывод группировкой

Поле появляется, хотя нигде не выбраноСрабатывает автополе или вложенная настройка

Проверьте АвтоПоле группировок и вложенные отчеты

Скрытие колонки через настройки отчета в режиме предприятия

Пользователь без доступа к конфигуратору может скрыть колонку штатными средствами, если разработчик не запретил изменение настроек. Откройте отчет, нажмите кнопку настроек, перейдите на закладку «Выбранные поля» и снимите флажок слева от имени поля. После нажатия «Закрыть и сформировать» колонка исчезнет из результата.

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

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

Порядок действий в режиме предприятия
  1. 1
    Откройте отчет и нажмите «Настройки»
  2. 2
    Перейдите на закладку «Выбранные поля»
  3. 3
    Снимите флажок у поля, формирующего колонку
  4. 4
    Если поля нет в списке — включите расширенный режим и проверьте группировки
  5. 5
    Нажмите «Закрыть и сформировать» и проверьте результат
  6. 6
    Сохраните настройки как вариант отчета

Скрытие колонки в конфигураторе при разработке отчета

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

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

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

Программное скрытие колонки через объект настроек

В управляемых формах и при формировании отчета из кода видимостью колонки управляют через коллекцию выбранных полей настроек компоновки. Нужно найти элемент поля по имени и установить свойство «Использование» в Ложь.

1c
Для Каждого Элемент Из Отчет.КомпоновщикНастроек.Настройки.ВыбранныеПоля.Элементы Цикл
	Если ТипЗнч(Элемент) = Тип("ВыбранноеПолеКомпоновкиДанных") Тогда
		Если Элемент.Поле = Новый ПолеКомпоновкиДанных("Себестоимость") Тогда
			Элемент.Использование = Ложь;
		КонецЕсли;
	КонецЕсли;
КонецЦикла;

Если поле находится внутри группы выбранных полей, потребуется рекурсивный обход: группы имеют собственную коллекцию элементов. Также учитывайте, что у пользовательских настроек (свойство ПользовательскиеНастройки компоновщика) приоритет выше, чем у основных настроек, — программно отключенное поле может быть снова включено пользовательской настройкой, если она существует.

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

Скрытие колонки в таблице и диаграмме СКД

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

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

Для диаграмм аналогично: серии и точки задаются отдельно, и скрытие элемента легенды выполняется через настройки серий, а не через общие выбранные поля отчета.

Типичные проблемы: колонка не скрывается

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

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

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

Типичные ошибки
01
Снятие флажка на верхнем уровне, когда поле выбрано внутри группировки — колонка остается в отчете
02
Удаление поля из выбранных, хотя оно нужно для отбора или сортировки — настройка перестает работать корректно
03
Изменение настроек без последующего переформирования отчета — результат выглядит неизменным
04
Скрытие колонки в одном варианте отчета и проверка в другом — кажется, что настройка не работает
05
Игнорирование пользовательских настроек, которые переопределяют основные и возвращают скрытое поле

Проверка результата и выбор способа

После любого способа скрытия проверьте отчет в трех аспектах: колонка отсутствует в табличном документе, итоги и группировки не изменились (если не должны были), отборы и сортировки по этому полю продолжают работать, если они используются. Если какой-то из пунктов нарушен — поле было задействовано шире, чем предполагалось, и нужно вернуть его, ограничив только вывод.

Выбор способа зависит от контекста. Разовое скрытие для себя — пользовательские настройки и сохранение варианта. Постоянное скрытие для всех пользователей — изменение варианта в конфигураторе или в расширении. Условное скрытие (например, по правам или по значению параметра) — программное управление настройками перед формированием.

Маршрут решения

Как выбрать действие

Скрыть колонку нужно только текущему пользователюСнимите флажок у поля в настройках и сохраните вариант
Колонка не нужна никому и никогдаУдалите поле из выбранных полей варианта в конфигураторе
Поле нужно для расчетов, но не для показаОставьте поле в наборе данных, отключите его в выбранных полях
Видимость зависит от условий или правУправляйте свойством Использование программно до формирования
Колонка в таблице или диаграммеОтключайте поле в настройках самого элемента структуры
Итог

Что важно запомнить

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

Частые вопросы

Как скрыть колонку, но оставить возможность отбора по ней?

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

Почему скрытая колонка появляется снова после перезапуска отчета?

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

Можно ли скрыть колонку только для части пользователей?

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

Чем отличается скрытие через условное оформление от отключения поля?

Условное оформление может сделать содержимое ячеек невидимым (например, цветом фона), но сама колонка в табличном документе останется и займет место. Отключение поля в выбранных полях полностью убирает колонку из результата — для скрытия колонки это правильный способ.

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

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

Как скрыть колонку в уже сформированном табличном документе?

В готовом табличном документе можно скрыть колонку средствами работы с табличным документом (например, установив ширину колонки в ноль), но это костыль: при следующем формировании колонка вернется. Правильный путь — изменить настройки СКД до формирования результата.