Первый отчет на СКД 1С собирается из объекта Отчёт, основной схемы компоновки, набора данных Запрос, описания полей, ресурсов и настроек структуры. Начните с таблицы продаж по номенклатуре за период, вручную сверьте итог с исходными данными и только потом добавляйте диаграмму и оформление.
Система компоновки данных декларативно описывает отчёт. Схема определяет источники и доступные поля, настройки задают структуру, отбор, сортировку и оформление, а платформа формирует макет и результат. Пользователь может менять разрешённые настройки без переписывания кода. Это мощно, но требует разделения трёх слоёв: правильность данных запроса, правила агрегации и внешний вид. Добавляйте поля постепенно и после каждого изменения формируйте один контрольный период. Если пользовательские настройки уже сохранены, проверяйте новый вариант и с чистыми настройками, и с ранее сохранённым профилем. Так легче отделить ошибку схемы от устаревшего варианта отчёта. Для больших наборов измеряйте время на реалистичном объёме базы.
Откуда брать данные и какие поля доступны.
Числовое поле, для которого считается итог.
Группировки, поля, отборы и порядок вывода.

Первый отчет на СКД 1С с итогом по номенклатуре
Создайте объект конфигурации Отчёт и основную схему компоновки данных. Добавьте набор данных Запрос. Для учебного примера возьмём виртуальную таблицу оборотов регистра продаж. Передавайте начало и конец периода как параметры, чтобы запрос был воспроизводимым и использовал возможности виртуальной таблицы.
ВЫБРАТЬ
ПродажиОбороты.Номенклатура КАК Номенклатура,
ПродажиОбороты.КоличествоОборот КАК Количество,
ПродажиОбороты.СуммаОборот КАК Сумма
ИЗ
РегистрНакопления.Продажи.Обороты(
&НачалоПериода,
&КонецПериода,
Период,
) КАК ПродажиОбороты- Строки содержат номенклатуру и обороты выбранного периода
- СКД может сгруппировать строки и рассчитать итог ресурсов
Имена регистра и ресурсов замените на объекты своей учебной конфигурации. На вкладке Ресурсы задайте СУММА для Количество и Сумма. В настройках добавьте группировку Номенклатура и выбранные поля ресурсов. Параметры периода свяжите со стандартным периодом или задайте значения по умолчанию. Сформируйте отчёт сначала без отборов и сравните несколько строк с консолью запросов.
Где настраивается элемент отчёта
| Элемент | Что означает | Что делать |
|---|---|---|
| Набор данных | Запрос и исходные поля | Схема компоновки |
| Вычисляемое поле | Формула на основе полей | Схема компоновки |
| Ресурс | Функция итогов | Схема компоновки |
| Группировка | Структура строк отчёта | Настройки |
| Условное оформление | Цвет или формат по условию | Настройки |
Не превращайте все поля в ресурсы. Измерение описывает разрез, ресурс агрегируется. Если сумма удвоилась, проблема часто находится в запросе или соединении, а не в СКД. Сначала выполните набор данных отдельно. Затем добавьте группировку и сравните ручной итог. Условное оформление должно помогать увидеть исключение, а не раскрашивать каждую ячейку. Отдельно проверьте пустой период, один документ и период на границе месяца. Эти три набора быстро выявляют ошибки параметров и итогов.

Практика: соберите отчёт продаж по номенклатуре и сверьте итог руками
В учебной базе соберите отчёт с одной группировкой и двумя ресурсами: количество и сумма продаж по номенклатуре за месяц. Данные берите из виртуальной таблицы оборотов регистра Продажи с параметрами НачалоПериода и КонецПериода. Успех: итог по одной строке отчёта совпал с суммой, которую вы посчитали по документам вручную.
- Объект Отчёт и схема. Добавьте в конфигурацию объект Отчёт и создайте для него основную схему компоновки данных. В конструкторе появляются вкладки Наборы данных, Ресурсы, Параметры и Настройки, пока пустые.
- Набор данных Запрос. Добавьте набор данных Запрос и выберите Номенклатуру, КоличествоОборот и СуммаОборот из виртуальной таблицы оборотов, передав в неё параметры НачалоПериода и КонецПериода. После заполнения полей в наборе видно ровно три поля с понятными псевдонимами.
- Ресурсы СУММА. На вкладке Ресурсы перенесите Количество и Сумму и оставьте функцию СУММА. Номенклатура в ресурсы не идёт: это разрез, а не агрегат.
- Группировка Номенклатура. На вкладке Настройки добавьте группировку по полю Номенклатура и выберите оба ресурса. Задайте период и нажмите Сформировать: строки схлопнутся по номенклатуре, снизу появится общий итог.
- Сверка с документами. Возьмите одну позицию из отчёта, откройте документы продаж за тот же период и сложите количество вручную. Цифры должны совпасть до единицы, иначе дальше идти нет смысла.
Сломайте отчёт намеренно: задайте НачалоПериода позже, чем КонецПериода, и сформируйте заново. Отчёт построится, но останется пустая шапка без строк: виртуальная таблица оборотов вернёт ноль записей и никакой ошибки не покажет. Верните нормальный период и добавьте в запрос соединение, дающее по две строки на одну номенклатуру: итог по Сумме удвоится при полностью верных настройках компоновки. Это и есть тот случай, когда чинить нужно запрос, а не группировку.
Дальше добавьте вычисляемое поле средней цены как отношение суммы к количеству и проверьте, что в итоговой строке оно считается от итогов, а не как сумма средних по строкам. Затем вынесите отбор по номенклатуре в пользовательские настройки с быстрым доступом, чтобы отчёт менялся без правки схемы. Диаграмму и условное оформление подключайте последними, когда цифры уже сверены. На реалистичном объёме базы заодно замерьте время формирования.
Частые ошибки и почему они появляются
Новичок часто нажимает Готово в конструкторах, получает таблицу и больше не проверяет цифры. Вторая ошибка: редактировать текст запроса после автоматического заполнения полей и не обновить схему. Третья: дать пользователю десятки настроек без понятного стандартного варианта.
Выберите известный период и вручную сверьте несколько документов.
Проверьте типы и значения начала и конца периода.
Ошибку данных исправляйте в запросе, оформление оставляйте настройкам.
Самопроверка
Что описывает схема компоновки данных в 1С?
Схема компоновки данных описывает наборы данных, доступные поля, параметры, вычисляемые поля, ресурсы и связи между наборами. Структура отчёта в схему не входит: группировки, отборы и оформление живут в настройках и меняются без правки запроса.
Где задаётся группировка в отчёте на СКД?
Группировка задаётся на вкладке Настройки, а не в тексте запроса. Запрос отдаёт детальные строки, а компоновка сворачивает их по выбранному полю, например по Номенклатуре, и считает по каждой группе итоги ресурсов.
Почему сумма в отчёте СКД удвоилась?
Удвоение почти всегда приходит из запроса, а не из компоновки: соединение вернуло по несколько строк на одну номенклатуру, и ресурс честно сложил их все. Выполните набор данных отдельно в консоли запросов и посмотрите, сколько строк приходится на одну позицию.
Чем ресурс отличается от измерения в отчёте?
Ресурс это числовое поле, по которому компоновка считает итог в каждой группировке, например количество и сумма оборота. Измерение задаёт разрез и попадает в группировку, поэтому номенклатуру ресурсом делать не надо.
Как передать период в отчёт на СКД?
Период передают параметрами начала и конца в виртуальную таблицу оборотов, а на вкладке Параметры им задают тип даты и значения по умолчанию. Параметры можно связать со стандартным периодом, тогда пользователь выбирает интервал прямо в форме отчёта.
Почему отчёт формируется пустым?
Пустой результат обычно означает, что в выбранном интервале нет движений регистра или параметры периода не связаны и пришли незаполненными. Проверьте значения начала и конца периода, затем выполните тот же запрос отдельно на заведомо непустом месяце.
Что делать дальше
Соберите отчёт из одной группировки и двух ресурсов, сверьте итог и добавьте один пользовательский отбор. Логику программирования можно укрепить на курсе SQL. Для данных используйте введение в запросы 1С и статью про регистры.
