Отчеты и Аналитика · 12 мин
СКД в 1С: что это такое и как работает система компоновки данных
СКД в 1С — что это такое простыми словами, как устроена система компоновки данных, чем отличается от запроса и как создать отчёт на СКД без программирования.
СКД — это сокращение от «Система компоновки данных», встроенный механизм платформы 1С:Предприятие 8, предназначенный для создания отчётов. Его главная особенность — декларативный подход: разработчик или пользователь описывает, какие данные нужны и как их показать, а платформа сама формирует запрос к базе, вычисляет итоги и строит таблицу или диаграмму. Благодаря этому один и тот же отчёт можно гибко перенастраивать без изменения программного кода.
Практически все типовые отчёты в конфигурациях «1С:Бухгалтерия», «1С:Управление торговлей», «1С:ERP» построены именно на СКД. Когда бухгалтер открывает оборотно-сальдовую ведомость и меняет отборы, группировки или период — он фактически работает с настройками компоновки данных. Понимание устройства СКД позволяет не только пользоваться готовыми отчётами, но и создавать собственные без глубоких знаний программирования.
Механизм работает во всех современных версиях платформы 1С:Предприятие 8.3 и поддерживается как в толстом, так и в тонком и веб-клиенте. Для пользователя это означает единый принцип настройки отчётов независимо от конфигурации: освоив СКД один раз, вы сможете настраивать отчёты в любой программе на платформе 1С.
Что такое СКД простыми словами
Представьте, что вам нужен отчёт по продажам за месяц с разбивкой по менеджерам. В классическом подходе программист писал бы запрос, обходил его результат в цикле, вручную считал итоги и построчно выводил табличный документ. Любое изменение — добавить колонку, поменять группировку — требовало правки кода.
СКД переворачивает эту логику. Вы описываете источник данных (обычно запрос), указываете ресурсы (что суммировать), группировки (по чему разворачивать данные) и отборы (что исключить). Дальше система сама генерирует итоговый запрос, выполняет его и компонует результат в готовый отчёт. Пользователь при этом может прямо в режиме работы поменять настройки: убрать группировку, добавить отбор по складу, изменить период — и отчёт перестроится без участия разработчика.
Из каких частей состоит схема компоновки данных
Основа любого отчёта на СКД — схема компоновки данных. Это объект, который хранится внутри отчёта и содержит полное описание того, откуда брать данные и как их можно показать. Схема состоит из нескольких логических блоков.
- Наборы данных — источники информации. Чаще всего это запрос на встроенном языке запросов 1С, но также поддерживаются объекты (например, таблицы значений) и связи нескольких наборов между собой.
- Ресурсы — числовые поля, по которым считаются итоги: суммы, количества, средние значения.
- Параметры — значения, которые пользователь вводит перед формированием отчёта: период, организация, склад.
- Настройки по умолчанию — структура отчёта: группировки строк и колонок, выбранные поля, отборы, сортировки, условное оформление.
- Вычисляемые поля — дополнительные колонки, значения которых рассчитываются по формуле из других полей.
Поверх схемы работает настройка компоновки — конкретный вариант представления данных. Одна схема может иметь десятки сохранённых вариантов: «Продажи по менеджерам», «Продажи по номенклатуре», «Динамика по месяцам». Все они используют один источник данных, но выводят его по-разному.
Чем СКД отличается от обычного запроса
Частая путаница у начинающих: зачем нужна СКД, если есть язык запросов? Запрос только извлекает данные из базы — он возвращает таблицу, которую дальше нужно программно обработать и вывести. СКД включает запрос как одну из своих частей, но добавляет поверх него целый слой возможностей.
| Критерий | Запрос 1С | СКД |
|---|---|---|
| Назначение | Извлечение данных из базы | Полный цикл: данные + итоги + вывод |
| Настройка пользователем | Невозможна без изменения кода | Отборы, группировки, сортировки в режиме 1С:Предприятие |
| Итоги и группировки | Фиксируются в тексте запроса | Меняются настройкой без правки запроса |
| Оформление результата | Требует программного вывода | Автоматический табличный документ, диаграмма |
| Варианты отчёта | Один результат | Неограниченное число вариантов на одной схеме |
Важно понимать: СКД не заменяет запрос, а строится на его основе. Качество исходного запроса напрямую влияет на скорость отчёта. Медленный запрос с лишними соединениями останется медленным и внутри СКД.
Как создать простой отчёт на СКД: пошагово
Рассмотрим создание внешнего отчёта в конфигураторе. Внешний отчёт удобен тем, что не требует изменения конфигурации — его можно открыть через меню «Файл — Открыть» или подключить к подсистеме дополнительных отчётов.
- 1В конфигураторе создайте новый внешний отчёт: Файл — Новый — Внешний отчёт, задайте имя.
- 2Откройте основную схему компоновки данных и нажмите «Конструктор запроса» на закладке «Наборы данных».
- 3Выберите нужные таблицы (например, регистр накопления «Продажи») и поля: номенклатура, количество, сумма.
- 4На закладке «Ресурсы» отметьте поля, по которым нужны итоги — количество и сумму.
- 5На закладке «Настройки» добавьте группировку по номенклатуре и выберите выводимые поля.
- 6Сохраните отчёт, откройте его в режиме 1С:Предприятие и нажмите «Сформировать».
- 7Проверьте результат: итоги по группам и общий итог должны совпадать с контрольными данными из базы.
После этих шагов вы получите рабочий отчёт, который уже можно настраивать: через кнопку «Настройки» в режиме предприятия добавляются отборы, меняется порядок колонок, включается условное оформление. Например, можно настроить подсветку строк, где сумма продаж ниже заданного порога.
Если отчёт нужен регулярно, сохраните настройки как вариант — кнопка «Сохранить вариант отчёта». В следующий раз достаточно выбрать вариант из списка, и отчёт сформируется с нужной структурой.
Настройки отчёта в режиме 1С:Предприятие
Главная ценность СКД для конечного пользователя — свобода настройки без обращения к программисту. Окно настроек типового отчёта обычно содержит несколько вкладок.
Отборы и параметры
Отбор ограничивает данные, попадающие в отчёт: по организации, периоду, контрагенту, виду номенклатуры. Параметры отличаются тем, что обычно обязательны для заполнения и передаются в запрос напрямую — например, начало и конец периода. Если отчёт формируется долго, первое, что стоит проверить, — заданы ли отборы по периоду и организации: без них СКД выбирает данные по всей базе.
Структура и группировки
Группировки определяют, как разворачиваются строки отчёта: по контрагентам, по документам, по месяцам. Их можно перетаскивать, добавлять вложенные уровни (контрагент → договор → документ), а для числовых данных строить диаграммы. Удаление лишней группировки — самый быстрый способ упростить «тяжёлый» отчёт.
Условное оформление
Позволяет раскрашивать ячейки по условию: отрицательные остатки — красным, просроченная задолженность — жёлтым. Оформление применяется на стороне компоновки и не требует изменения запроса.
Если в типовом отчёте не хватает колонки, сначала проверьте расширенные настройки: часто поле уже есть в схеме, но не выведено в выбранные поля. Добавить его через «Настройки — Поля» проще и безопаснее, чем просить доработку конфигурации.
Типичные ошибки и ограничения СКД
При всей гибкости у СКД есть ограничения, о которых стоит знать заранее. Механизм не умеет обходить иерархические справочники произвольной глубины без специальных приёмов, сложные расчёты (например, скользящее среднее с особыми правилами) иногда проще выполнить в запросе, а вывод произвольных печатных форм со сложной версткой удобнее делать через макеты табличных документов.
Проверка результата и производительность
После создания или изменения отчёта результат нужно сверить с независимым источником. Для отчёта по продажам контрольной точкой может служить типовой отчёт по тому же регистру за тот же период с теми же отборами: итоговые суммы обязаны совпадать до копейки. Расхождение почти всегда означает различие в отборах, параметрах виртуальных таблиц или потерю части данных при соединении наборов.
Как проверить результат
Совпадает с типовым отчётом за тот же период и с теми же отборами
Сумма меньше — вероятно, лишний отбор или внутреннее соединение отсекает строки
Отчёт за месяц формируется за секунды
Формирование занимает минуты — проверьте отборы по периоду и индексы по полям соединений
Сумма детальных строк равна итогу группы
Итог группы пустой или неверный — поле не добавлено в ресурсы или неверно указано выражение
Отборы и группировки применяются без ошибок
Ошибка «Поле не найдено» — в настройках используется поле, отсутствующее в схеме
Если отчёт работает медленно, начните с анализа запроса: уберите неиспользуемые соединения, перенесите условия в параметры виртуальных таблиц регистров, убедитесь, что отборы накладываются на индексированные поля (период, организация, номенклатура). В большинстве случаев проблема производительности СКД — это проблема исходного запроса, а не самого механизма компоновки.
Что важно запомнить
СКД — штатный механизм платформы 1С для построения отчётов по декларативному описанию: запрос, ресурсы, группировки и отборы. Пользовательские настройки позволяют менять структуру отчёта без программирования, а качество исходного запроса определяет скорость формирования. Для доработок используйте внешние отчёты или расширения, не изменяя типовую конфигурацию.
Частые вопросы о СКД в 1С
Можно ли создать отчёт на СКД без знания программирования?
Да. Базовый отчёт собирается через конструктор запроса и визуальные настройки: выбираются таблицы, поля, ресурсы и группировки. Написание кода потребуется только для нестандартных задач — программной обработки результата, собственных функций в выражениях или сложного вывода.
Чем внешний отчёт отличается от встроенного?
Внешний отчёт хранится отдельным файлом с расширением .erf и не требует изменения конфигурации — его можно открыть в любой базе с совместимой структурой данных. Встроенный отчёт является объектом конфигурации, обновляется вместе с ней и доступен в интерфейсе подсистем. Для своих разработок безопаснее начинать с внешнего отчёта.
Почему отчёт на СКД формируется очень долго?
Наиболее частые причины: не задан отбор по периоду, в запросе лишние соединения таблиц, условия наложены не на параметры виртуальных таблиц, а в секции ГДЕ, либо в отчёт выводятся тысячи детальных строк без группировки. Проверку начинайте с текста запроса и заданных отборов.
Как сохранить свои настройки типового отчёта?
После настройки отборов и структуры нажмите кнопку сохранения варианта (в типовых конфигурациях — «Сохранить вариант отчёта» или аналогичная команда в меню «Ещё»). Вариант привязывается к пользователю или делается общим, и в дальнейшем выбирается из списка вариантов до формирования отчёта.
Что делать, если при формировании появляется ошибка «Поле не найдено»?
Ошибка означает, что в настройках (отборе, группировке, сортировке) используется поле, которого нет в схеме компоновки или в выбранных полях родительской группировки. Сбросьте настройки к стандартным через «Настройки — Установить стандартные настройки» и добавьте нужные элементы заново.
Подходит ли СКД для печатных форм документов?
Для отчётов и аналитических таблиц СКД — основной инструмент. Для строгих печатных форм (счета, акты, ТОРГ-12) чаще используют табличные макеты с программным выводом, потому что там важно точное расположение элементов, колонтитулы и фиксированная верстка, которую компоновка данных не контролирует.