Как в СКД настроить вывод максимума вместо суммы в итогах отчета?

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

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

Основные причины проблемы

Если вы установили функцию Максимум в настройках ресурсов, но отчет по-прежнему показывает сумму, это может быть вызвано несколькими факторами:

  1. Неверная настройка «Рассчитывать по»: Если вы не указали правильные уровни группировок, в которых должен работать Максимум, система может использовать стандартную агрегацию.
  2. Сохраненные настройки в режиме «Предприятие»: Это одна из самых частых причин. Если у пользователя сохранен вариант отчета, то любые изменения в Конфигураторе не будут отображаться до тех пор, пока настройки отчета не будут сброшены или обновлены вручную.
  3. Специфика агрегации итогов: Функция Максимум для итоговой строки иногда интерпретируется системой как «максимум из максимумов», что требует использования специальных функций для вычисления итогов.

Решение через функцию ВычислитьВыражениеСГруппировкойМассив

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

Для того чтобы получить сумму максимумов по сотрудникам в рамках группировки, используйте выражение следующего вида в поле «Выражение для итога»:


Сумма(ВычислитьВыражениеСГруппировкойМассив("Максимум(ОбъемПродаж)", "Сотрудник"))

Рассмотрим, как это работает:

Пошаговый алгоритм исправления отчета

Чтобы изменения вступили в силу, выполните следующие действия:

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

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

← На главную