Почему не выводятся данные в отчете на СКД и как настроить правильное отображение?

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

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

Разбор ошибки: Роли полей и проблема «Измерений»

Одной из частых причин отсутствия данных или их некорректного вывода является неправильное назначение Ролей для полей набора данных. Если вы по ошибке указали для числовых показателей (например, СуммаТовара или МассаТовара) роль Измерение, СКД начинает воспринимать их как объекты для группировки.

В чем заключается ошибка:

  1. Если поле помечено как Измерение, система пытается сгруппировать данные по уникальным значениям этого поля.
  2. Если это поле — число, логика агрегации (суммирование) перестает работать так, как вы ожидаете, и отчет может выдавать пустые строки или дубли.

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

Настройка ресурсов: Правильный расчет итогов

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

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

  1. Перейдите на вкладку Ресурсы в конструкторе СКД.
  2. Перенесите поля СуммаТовара и МассаТовара в список ресурсов.
  3. В колонке Выражение укажите Сумма(СуммаТовара) и Сумма(МассаТовара) соответственно.

Система самостоятельно вычислит итоги для всех группировок, которые вы определите в настройках отчета.

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

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

Проанализируем шаги для настройки детального вывода:

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

Это заставит СКД выводить каждую строку из вашего запроса в табличном виде.

Решение проблемы дублирования строк

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

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

Проверка параметров и их доступности

Если в вашем запросе есть параметры (например, &Склад), необходимо учитывать их доступность:

Следуя этим шагам, вы сможете настроить практически любой отчет. Главное правило — разделять получение данных (запрос), их математическую обработку (ресурсы) и внешний вид (настройки и группировки).

← На главную