Почему в отчете СКД формируются пустые строки при наличии данных в запросе?

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

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

Проверяем настройки группировок

Одной из самых частых причин появления пустых строк является отсутствие правильно настроенных группировок. СКД — это механизм, который по своей природе ожидает структуру вывода. Даже если вам нужен простой список, система должна «понимать», в каком контексте выводить данные.

Рассмотрим по шагам, как исправить эту проблему:

  1. Перейдите на вкладку Настройки в схеме компоновки данных.
  2. В структуре отчета убедитесь, что добавлена группировка. Если вы хотите вывести простой список, добавьте элемент Детальные записи.
  3. Важно: не нужно указывать конкретное поле в группировке Детальные записи, если вы хотите получить весь список целиком. Оставьте поле группировки пустым, тогда система выведет все строки, полученные из запроса.

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

Настройка выбранных полей

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

Проверка псевдонимов и соответствия полей

Иногда проблема кроется в несоответствии имен. Если в запросе вы используете конструкцию типа:


ВЫБРАТЬ
    Номенклатура.Наименование КАК Товар
ИЗ
    Справочник.Номенклатура КАК Номенклатура

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

Специфика работы в расширении

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

Проанализируем ситуацию:

Дополнительные рекомендации по диагностике

Если вышеперечисленные методы не помогли, воспользуйтесь проверенным методом «чистого листа»:

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

Также проверьте Условное оформление. Случается, что разработчики случайно устанавливают белый цвет текста для всей таблицы или накладывают макет, который скрывает все выводимые значения. Вкладка Настройки -> Условное оформление должна быть пустой, если вы не создавали специфических правил отображения.

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

← На главную