{}const=>[]async()letfn</>var
1CПрактика

Первый отчет на СКД 1С: набор данных, ресурсы и настройки

Создаём первый отчёт на системе компоновки данных: схема, запрос, поля, параметры периода, ресурсы, группировки, отбор, условное оформление и проверка итогов.

К

Кодик

Автор

6 мин чтения

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

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

1Схема

Откуда брать данные и какие поля доступны.

2Ресурс

Числовое поле, для которого считается итог.

3Настройка

Группировки, поля, отборы и порядок вывода.

Порядок сборки отчёта СКД: схема, набор данных, ресурсы, настройки
Порядок сборки: объект конфигурации Отчёт, основная схема компоновки, набор данных Запрос по оборотам регистра Продажи, ресурсы СУММА и только потом группировка Номенклатура в настройках.

Первый отчет на СКД 1С с итогом по номенклатуре

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

ВЫБРАТЬ
    ПродажиОбороты.Номенклатура КАК Номенклатура,
    ПродажиОбороты.КоличествоОборот КАК Количество,
    ПродажиОбороты.СуммаОборот КАК Сумма
ИЗ
    РегистрНакопления.Продажи.Обороты(
        &НачалоПериода,
        &КонецПериода,
        Период,
        ) КАК ПродажиОбороты
Ожидаемый результат
  • Строки содержат номенклатуру и обороты выбранного периода
  • СКД может сгруппировать строки и рассчитать итог ресурсов

Имена регистра и ресурсов замените на объекты своей учебной конфигурации. На вкладке Ресурсы задайте СУММА для Количество и Сумма. В настройках добавьте группировку Номенклатура и выбранные поля ресурсов. Параметры периода свяжите со стандартным периодом или задайте значения по умолчанию. Сформируйте отчёт сначала без отборов и сравните несколько строк с консолью запросов.

🔥 100 000+ учеников уже с нами

Устал читать теорию?
Пора кодить!

Кодик — приложение, где ты учишься программировать через практику. AI-наставник, интерактивные уроки, реальные проекты.

🤖 AI 24/7
🎓 Сертификаты
💰 Бесплатно
🚀 Начать учиться
Присоединились сегодня

Где настраивается элемент отчёта

ЭлементЧто означаетЧто делать
Набор данныхЗапрос и исходные поляСхема компоновки
Вычисляемое полеФормула на основе полейСхема компоновки
РесурсФункция итоговСхема компоновки
ГруппировкаСтруктура строк отчётаНастройки
Условное оформлениеЦвет или формат по условиюНастройки

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

Три слоя отчёта: данные запроса, агрегация ресурсов, оформление
Три слоя проверки: сначала строки самого запроса, затем итоги по ресурсам в группировке, и только последним условное оформление, которое ничего не считает.

Практика: соберите отчёт продаж по номенклатуре и сверьте итог руками

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

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

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

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

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

Частые ошибки и почему они появляются

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

Нет контрольной суммы

Выберите известный период и вручную сверьте несколько документов.

Параметры не связаны

Проверьте типы и значения начала и конца периода.

Смешаны слои

Ошибку данных исправляйте в запросе, оформление оставляйте настройкам.

Самопроверка

Что описывает схема компоновки данных в 1С?

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

Где задаётся группировка в отчёте на СКД?

Группировка задаётся на вкладке Настройки, а не в тексте запроса. Запрос отдаёт детальные строки, а компоновка сворачивает их по выбранному полю, например по Номенклатуре, и считает по каждой группе итоги ресурсов.

Почему сумма в отчёте СКД удвоилась?

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

Чем ресурс отличается от измерения в отчёте?

Ресурс это числовое поле, по которому компоновка считает итог в каждой группировке, например количество и сумма оборота. Измерение задаёт разрез и попадает в группировку, поэтому номенклатуру ресурсом делать не надо.

Как передать период в отчёт на СКД?

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

Почему отчёт формируется пустым?

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

Что делать дальше

Соберите отчёт из одной группировки и двух ресурсов, сверьте итог и добавьте один пользовательский отбор. Логику программирования можно укрепить на курсе SQL. Для данных используйте введение в запросы 1С и статью про регистры.

🎯Хватит откладывать

Понравилась статья?
Пора применять на практике!

В Кодик ты не просто читаешь — ты сразу пишешь код. Теория + практика = реальный скилл.

Мгновенная практика
🧠AI объяснит код
🏆Сертификат

Без регистрации • Без карты