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