Почему в отчетах СКД дублируются записи или итоги при настройке их расположения в конце?

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

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

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

  1. Вы устанавливаете итоги в конец, и в отчете дублируются все детальные записи.
  2. Вы исправляете первую проблему, но теперь итоги по группировке отображаются дважды: и в начале, и в конце группы.

Обе ситуации связаны с иерархией и особенностями применения настроек в СКД. Проанализируем каждую из них и найдем решение.

Причина дублирования детальных записей

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

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

Ключевая ошибка — применение общей настройки расположения итогов, когда требуется настроить только итоги для конкретных группировок или общие итоги по всему отчету.

Причина дублирования итогов по группировке (в начале и в конце)

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

Скорее всего, причина в конфликте настроек. Расположение итогов может быть задано одновременно в нескольких местах:

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

Пошаговое решение проблемы

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

  1. Определите, какие итоги вам нужны.

    Прежде всего, ответьте на вопрос: вам нужны итоги только по всему отчету (общие итоги) или по каждой группировке? Или и то, и другое? От этого зависит, какие настройки мы будем использовать.

  2. Настройка ОБЩИХ итогов по всему отчету.

    Если вам нужно, чтобы итоговая строка по всему отчету выводилась в самом конце, используйте специальную настройку. Перейдите на вкладку "Другие настройки". Здесь найдите параметр Расположение общих итогов по вертикали и установите для него значение "Конец". Важно: не используйте общую настройку Расположение итогов, а именно Расположение ОБЩИХ итогов.

  3. Настройка итогов для конкретной группировки.

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

    Важно: убедитесь, что в общих настройках отчета (на верхнем уровне элемента "Отчет") параметр Расположение итогов стоит в значении "Авто" или не задан. Это предотвратит конфликт с настройками группировок.

  4. Используйте значение "Авто" для предсказуемого результата.

    Часто наилучшим решением является установка значения "Авто" для расположения итогов как в общих настройках, так и в настройках группировок. В этом режиме СКД самостоятельно принимает решение о расположении. Как правило, для группировок верхнего уровня итоги автоматически выводятся в конце, что и требуется в большинстве случаев и позволяет избежать дублирования.

  5. Проверьте настройки на вкладке "Ресурсы".

    Иногда лишние итоги появляются из-за неверной настройки расчета ресурсов. Перейдите на вкладку "Ресурсы". Для каждого ресурса (итогового поля) есть колонка "Рассчитывать по...". В ней можно указать, для каких именно группировок нужно вычислять данный итог. Убедитесь, что ресурсы не рассчитываются для лишних уровней, например, для Детальные записи, если это не требуется по логике отчета. Это позволяет гибко управлять, где именно будут появляться итоговые значения.

Итоговые рекомендации

Подведем итог. Чтобы избежать дублирования записей и итогов в СКД:

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

← На главную