Почему отчет на СКД выводит пустые данные при установке отбора по организации?

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

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

Анализ проблемы: взаимодействие запроса и СКД

В большинстве случаев проблема кроется в том, как именно СКД обрабатывает переданные параметры. Когда вы пишете запрос вида:


ВЫБРАТЬ
    ХозрасчетныйДвиженияССубконто.СчетДт КАК СчетДт,
    СУММА(ХозрасчетныйДвиженияССубконто.Сумма) КАК Сумма
ИЗ
    РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто(&началопериода, &конецпериода, , , ) КАК ХозрасчетныйДвиженияССубконто
ГДЕ
    ХозрасчетныйДвиженияССубконто.Организация = &орг
СГРУППИРОВАТЬ ПО
    ХозрасчетныйДвиженияССубконто.СчетДт

Система ожидает, что параметр &орг будет корректно сопоставлен с полем данных. Если в настройках параметров СКД для параметра орг не указан тип СправочникСсылка.Организации или если параметр не прошел процедуру инициализации, СКД может передавать пустое значение или тип Неопределено, что делает условие ГДЕ Организация = &орг невыполнимым для любых записей базы данных.

Как правильно организовать работу с отборами в СКД

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

  1. Откажитесь от жесткой фильтрации в запросе: Попробуйте удалить условие ГДЕ ХозрасчетныйДвиженияССубконто.Организация = &орг из текста запроса.
  2. Используйте штатный механизм отборов: Перейдите на вкладку Настройки в конструкторе СКД. В дереве настроек выберите Отчет, перейдите на закладку Отбор. Добавьте поле Организация в список отборов.
  3. Автозаполнение: Проверьте, установлена ли галочка Автозаполнение в наборе данных. Если она активна, СКД автоматически распознает поля запроса и предложит их для использования в пользовательских настройках.
  4. Типизация параметров: Если вы все же используете параметр в запросе, обязательно проверьте вкладку Параметры в настройках СКД. Убедитесь, что для параметра орг установлен строгий тип СправочникСсылка.Организации.

Важные рекомендации при отладке отчетов

Если отчет по-прежнему остается пустым, проанализируйте следующие моменты:

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

← На главную