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

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

СКД в 1С: что это такое и как работает система компоновки данных

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

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

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

Механизм работает во всех современных версиях платформы 1С:Предприятие 8.3 и поддерживается как в толстом, так и в тонком и веб-клиенте. Для пользователя это означает единый принцип настройки отчётов независимо от конфигурации: освоив СКД один раз, вы сможете настраивать отчёты в любой программе на платформе 1С.

Что такое СКД простыми словами

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

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

Из каких частей состоит схема компоновки данных

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

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

Поверх схемы работает настройка компоновки — конкретный вариант представления данных. Одна схема может иметь десятки сохранённых вариантов: «Продажи по менеджерам», «Продажи по номенклатуре», «Динамика по месяцам». Все они используют один источник данных, но выводят его по-разному.

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

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

КритерийЗапрос 1ССКД
НазначениеИзвлечение данных из базыПолный цикл: данные + итоги + вывод
Настройка пользователемНевозможна без изменения кодаОтборы, группировки, сортировки в режиме 1С:Предприятие
Итоги и группировкиФиксируются в тексте запросаМеняются настройкой без правки запроса
Оформление результатаТребует программного выводаАвтоматический табличный документ, диаграмма
Варианты отчётаОдин результатНеограниченное число вариантов на одной схеме

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

Как создать простой отчёт на СКД: пошагово

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

Порядок действий
  1. 1
    В конфигураторе создайте новый внешний отчёт: Файл — Новый — Внешний отчёт, задайте имя.
  2. 2
    Откройте основную схему компоновки данных и нажмите «Конструктор запроса» на закладке «Наборы данных».
  3. 3
    Выберите нужные таблицы (например, регистр накопления «Продажи») и поля: номенклатура, количество, сумма.
  4. 4
    На закладке «Ресурсы» отметьте поля, по которым нужны итоги — количество и сумму.
  5. 5
    На закладке «Настройки» добавьте группировку по номенклатуре и выберите выводимые поля.
  6. 6
    Сохраните отчёт, откройте его в режиме 1С:Предприятие и нажмите «Сформировать».
  7. 7
    Проверьте результат: итоги по группам и общий итог должны совпадать с контрольными данными из базы.

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

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

Настройки отчёта в режиме 1С:Предприятие

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

Отборы и параметры

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

Структура и группировки

Группировки определяют, как разворачиваются строки отчёта: по контрагентам, по документам, по месяцам. Их можно перетаскивать, добавлять вложенные уровни (контрагент → договор → документ), а для числовых данных строить диаграммы. Удаление лишней группировки — самый быстрый способ упростить «тяжёлый» отчёт.

Условное оформление

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

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

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

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

Типичные ошибки
01
Зашитые в текст запроса отборы вместо отборов СКД — пользователь не сможет их изменить, а платформа не сможет оптимизировать запрос.
02
Вывод всех полей подряд — лишние колонки замедляют формирование и делают отчёт нечитаемым.
03
Ресурсы без указания группировок расчёта — итоги считаются не по всем уровням, пользователь видит пустые ячейки.
04
Отсутствие отбора по периоду при формировании — отчёт сканирует всю таблицу регистра и работает минутами.
05
Попытка изменить схему типового отчёта напрямую в конфигурации — при обновлении доработка будет потеряна; правильнее использовать расширение или внешний отчёт.

Проверка результата и производительность

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

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

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

Итоговая сумма отчёта
Норма

Совпадает с типовым отчётом за тот же период и с теми же отборами

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

Сумма меньше — вероятно, лишний отбор или внутреннее соединение отсекает строки

Время формирования
Норма

Отчёт за месяц формируется за секунды

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

Формирование занимает минуты — проверьте отборы по периоду и индексы по полям соединений

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

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

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

Итог группы пустой или неверный — поле не добавлено в ресурсы или неверно указано выражение

Повторное формирование с другими настройками
Норма

Отборы и группировки применяются без ошибок

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

Ошибка «Поле не найдено» — в настройках используется поле, отсутствующее в схеме

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

Итог

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

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

Частые вопросы о СКД в 1С

Можно ли создать отчёт на СКД без знания программирования?

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

Чем внешний отчёт отличается от встроенного?

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

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

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

Как сохранить свои настройки типового отчёта?

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

Что делать, если при формировании появляется ошибка «Поле не найдено»?

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

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

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