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