Как убрать итог по колонке в отчете СКД?

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

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

Метод 1: Настройка области расчета в ресурсах

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

Проанализируем механизм колонки Рассчитывать по... на закладке ресурсов:

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

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

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

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

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

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

Метод 3: Управление расчетом через выражения ресурсов

Выясним причину, по которой стандартные настройки могут не подходить. Например, если нам нужно выводить итог только при выполнении сложного условия. Мы можем прописать логику расчета непосредственно в колонке Выражение на закладке Ресурсы.

Рассмотрим пример кода, который можно вставить в выражение ресурса:


Выбор 
    Когда ВычислитьВыражение("Количество()", , "Общая") > 1 
    Тогда Сумма(СуммаОборота) 
    Иначе 0 
Конец

Или более простой вариант для исключения общего итога через проверку имени текущей группировки:


Выбор 
    Когда СистемныеПоля.ИмяГруппировки = "Номенклатура" 
    Тогда Сумма(Количество) 
    Иначе 0 
Конец

Использование функции ВычислитьВыражение позволяет гибко управлять контекстом расчета. Мы можем указать СКД, на каких уровнях иерархии функция должна возвращать результат, а на каких — Null или 0.

Метод 4: Глобальное отключение итогов в настройках вывода

Если задача стоит радикально — убрать итоги вообще по всему отчету или по всем колонкам конкретной группировки — проанализируем параметры вывода:

  1. Зайдем в настройки отчета на закладку Другие настройки.
  2. Найдем параметр Расположение общих итогов по горизонтали и Расположение общих итогов по вертикали.
  3. Установим значение Нет. Это полностью удалит финальные строки и колонки с суммами из отчета.
  4. Аналогично можно поступить для каждой отдельной группировки в дереве настроек, изменив параметр Расположение итогов на значение Нет.

Метод 5: Работа с ролями полей в наборе данных

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

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

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

← На главную