К статье
Практический материал

Отчеты и Аналитика · 11 мин

Отчет СКД в 1С: что это и как с ним работать

Разбираем, что такое отчет на СКД в 1С: устройство системы компоновки данных, настройка без программирования, типичные ошибки и практические примеры.

Отчет на СКД — это отчет, построенный на системе компоновки данных, встроенном механизме платформы 1С:Предприятие 8. Главная особенность такого отчета в том, что логика выборки данных описывается декларативно: разработчик или пользователь задает запрос, наборы данных, ресурсы и настройки, а платформа сама формирует итоговый запрос к базе, группировки и внешний вид результата. Благодаря этому один и тот же отчет можно гибко перенастраивать без изменения кода.

Практически все типовые отчеты в современных конфигурациях — «1С:Бухгалтерия», «Управление торговлей», «Зарплата и управление персоналом» — построены именно на СКД. Когда бухгалтер открывает оборотно-сальдовую ведомость или менеджер смотрит продажи по клиентам, под капотом работает система компоновки данных. Понимание ее устройства позволяет не только пользоваться готовыми отчетами, но и создавать собственные варианты, менять группировки, отборы и показатели.

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

Что такое СКД и чем она отличается от обычного отчета

Система компоновки данных — это механизм платформы, который берет на себя всю «черную» работу по формированию отчета: построение текста запроса с учетом отборов, расчет итогов, группировку, вывод в табличный документ. Разработчик описывает, какие данные нужны, а не как их получать и выводить.

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

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

Из чего состоит отчет на СКД

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

  • Наборы данных — источники информации: запрос к базе, объект (например, таблица значений из кода) или объединение нескольких наборов.
  • Связи наборов данных — как соединяются несколько наборов (аналог LEFT JOIN с гибкими условиями).
  • Вычисляемые поля — поля, рассчитываемые по выражению из других полей, например «Сумма с НДС».
  • Ресурсы — показатели, по которым считаются итоги: суммы, количества, средние значения.
  • Параметры — то, что пользователь вводит перед формированием: период, организация, склад.
  • Настройки — вариант отчета по умолчанию: структура группировок, отборы, сортировка, оформление.

Запрос в наборе данных пишется на обычном языке запросов 1С, но с расширением: в нем можно использовать конструкции в фигурных скобках (например, {ГДЕ (Продажи.Организация = &Организация)}). Эти фрагменты СКД подставляет в итоговый запрос только если пользователь задал соответствующий отбор — это экономит ресурсы базы.

Как пользователю настроить готовый отчет без программирования

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

Как изменить вариант отчета
  1. 1
    Откройте отчет и нажмите «Настройки» (или «Еще → Изменить вариант»).
  2. 2
    На закладке «Структура» добавьте нужную группировку: например, «Номенклатура» внутрь «Контрагент».
  3. 3
    На закладке «Отбор» добавьте условие, например «Склад = Основной склад».
  4. 4
    На закладке «Поля» отметьте показатели, которые должны выводиться.
  5. 5
    Сформируйте отчет кнопкой «Сформировать» и проверьте результат.
  6. 6
    Сохраните результат как новый вариант: «Еще → Сохранить вариант отчета», задайте понятное имя.

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

Отдельно стоит упомянуть пользовательские поля: прямо в настройках можно добавить вычисляемую колонку (например, процент от суммы) или поле-выбор с условием («Если сумма больше порога — "Крупная"»). Это закрывает значительную часть запросов на доработку без привлечения программиста.

Как создать собственный отчет на СКД в конфигураторе

Минимальный путь создания отчета: добавить объект «Отчет», открыть схему компоновки, создать набор данных «Запрос», написать запрос через конструктор, на закладке «Ресурсы» отметить суммируемые поля, на закладке «Настройки» сформировать структуру — например, группировку по контрагентам с детальными записями. После этого отчет уже формируется и выводится в табличный документ.

Для периодических отчетов удобно использовать стандартный период: в параметрах схемы добавьте параметры типа «Дата» и задайте им связь со стандартным периодом, либо используйте автоматически создаваемые параметры виртуальных таблиц. Тогда пользователь получит привычный выбор «С начала месяца», «За квартал» и т.п.

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

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

Типичные ошибки при работе со СКД

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

Типичные ошибки
01
Отбор в секции ГДЕ вместо параметров виртуальной таблицы — отчет сканирует весь регистр и работает медленно.
02
Поле добавлено в запрос, но не отмечено как ресурс — итоги по группировкам пустые или нулевые.
03
Несколько наборов без корректной связи — строки дублируются, суммы завышены.
04
Автозаполнение полей отключено, но порядок и роли полей не настроены — отчет выводится «криво» или с ошибкой «Поле не найдено».
05
Пользователь меняет настройку типового варианта и перезаписывает его — коллеги теряют привычный вид отчета; правильно сохранять как новый вариант.

Еще одна частая ситуация — отчет формируется, но показывает не те цифры, что соседний типовой отчет. Причина обычно в разных отборах: например, один вариант исключает помеченные на удаление документы, а другой — нет. Сравнивайте закладку «Отбор» обоих вариантов, прежде чем искать ошибку в данных.

Контрольные точки

Как проверить результат

Итоги по группировкам
Норма

Суммы по группам сходятся с общим итогом отчета

Тревожный признак

Итоги пустые или не равны сумме детальных строк — проверьте закладку «Ресурсы»

Количество строк
Норма

Число строк соответствует ожидаемому набору данных за период

Тревожный признак

Строки дублируются — проверьте связи наборов и соединения в запросе

Скорость формирования
Норма

Отчет формируется за секунды на рабочем объеме данных

Тревожный признак

Формирование занимает минуты — проверьте, где задан отбор: в параметрах виртуальной таблицы или в ГДЕ

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

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

Сравнение вариантов

Отчет на СКД

Подходит для аналитики с гибкими отборами и группировками; ограничение — сложно делать строгие печатные формы и нестандартный вывод.

Отчет с ручным выводом в макет

Подходит для печатных форм с фиксированной версткой; платой служит отсутствие пользовательских настроек и больше кода.

Внешний отчет на СКД

Подходит для доработок без изменения конфигурации; ограничение — нужно соблюдать режим безопасности и права доступа.

Консоль отчетов СКД / универсальный отчет

Подходит для разовой аналитики по произвольному запросу; не заменяет постоянный отчет в интерфейсе пользователей.

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

Частые вопросы об отчетах на СКД

Можно ли настроить отчет на СКД без доступа к конфигуратору?

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

Чем вариант отчета отличается от настроек?

Настройки — это текущие значения отборов, группировок и оформления внутри одного варианта. Вариант — целая «карточка» отчета со своей структурой и настройками по умолчанию. Один отчет может иметь несколько вариантов: «Продажи по менеджерам», «Продажи по товарам» и т.д.

Почему отчет на СКД формируется очень долго?

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

Что такое внешний отчет и когда его использовать?

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

Можно ли вывести отчет СКД не в табличный документ, а в диаграмму или сводную таблицу?

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

Итог

Что важно запомнить

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