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

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

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

Рассмотрим, как правильно настроить такой отчет, чтобы получить корректный балансовый итог.

Решение с использованием вычисляемого поля

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

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

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

Почему это лучше других подходов?

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

Рекомендации по настройке

При работе с вычисляемыми полями обращайте внимание на следующие технические моменты:

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

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

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

← На главную