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

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

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

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

Принцип работы свойства ТолькоИтоги

Механизм скрытия данных в деталях отчета базируется на логическом флаге, который устанавливается для конкретного ресурса. Когда вы активируете режим ТолькоИтоги, система компоновки данных автоматически фильтрует вывод значения этого поля на уровне детальных записей. При этом само вычисление ресурса продолжается в полном объеме, что гарантирует корректность итоговых сумм и средних значений.

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

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

💡

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

Настройка через Конструктор запроса и схему данных

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

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

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

  • 📊 Выберите нужный ресурс в дереве схемы данных.
  • ⚙️ Найдите свойство ТолькоИтоги или аналогичное в панели свойств.
  • ✅ Установите значение Истина для активации режима.
  • 💾 Сохраните изменения в схеме компоновки данных.

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

☑️ Проверка настройки ресурса

Выполнено: 0 / 4

Конфигурирование макета и структуры отчета

После подготовки схемы данных необходимо перейти к настройке макета. Именно здесь происходит визуальное воплощение вашей логики. Откройте редактор макета и найдите область, где выводятся детальные записи. Обычно это область ДетальныеЗаписи или аналогичная группа ячеек.

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

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

СтруктураОтчета.Ресурсы.Найти("СуммаПродаж").ТолькоИтоги = Истина;

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

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

Использование условного оформления для гибкости

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

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

Настройте действие оформления так, чтобы при выполнении условия (строка не является итогом) цвет текста совпадал с цветом фона ячейки, либо устанавливайте видимость поля в Ложь. Этот метод дает максимальный контроль над внешним видом отчета.

  • 🎨 Добавьте новое условие в список оформлений.
  • 🔍 В поле "Поля" выберите ваш скрываемый ресурс.
  • 📝 В поле "Условие" задайте: ЭтоИтог = Ложь.
  • 👁️ В параметрах оформления установите Видимость в Невидимо.

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

Секрет профессионалов

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

Обработка пустых значений и форматирование

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

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

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

Параметр Значение в деталях Значение в итогах Рекомендация
Сумма (пусто) 100 000 Выравнивание по правому краю
Количество (пусто) 50 Формат числа без дробей
Процент (пусто) 15,5% Формат процента
Комментарий Текст (пусто) Выравнивание по левому краю

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

Типичные ошибки и способы их устранения

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

Другая частая ошибка связана с агрегатными функциями. Если вы пытаетесь вывести ресурс, который сам по себе является результатом агрегации (например, СУММА), но не указали это корректно в схеме данных, система может не понять, как формировать итог. Убедитесь, что для ресурса задана правильная функция агрегации.

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

📊 С какой проблемой вы сталкивались чаще всего?
Ресурс исчезает полностью
Итоги считаются неверно
Пустые ячейки портят вид
Настройки сбрасываются
💡

Главная причина исчезновения итогов — конфликт между свойством ТолькоИтоги и ручным удалением группировок пользователем в настройках отчета.

Можно ли вывести ресурс только в итогах, не используя свойство ТолькоИтоги?

Да, это можно сделать через условное оформление, установив видимость поля в зависимость от системного поля ЭтоИтог. Однако использование нативного свойства ТолькоИтоги предпочтительнее, так как оно оптимизировано движком и не требует дополнительной обработки условий при отрисовке.

Почему ресурс отображается в деталях, хотя галочка установлена?

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

Влияет ли свойство ТолькоИтоги на скорость формирования отчета?

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

Как скрыть заголовок колонки, если данные в ней видны только в итогах?

Заголовок колонки скрывается отдельно через настройки заголовков полей в макете или структуре. Свойство ТолькоИтоги касается только ячеек с данными. Если вы хотите скрыть и заголовок в деталях, это потребует использования сложного макета с раздельными областями для шапки и итогов.

Работает ли это свойство в табличном документе и в других видах вывода?

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