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

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

Как сделать отчет по продажам в конфигураторе 1С

Как создать отчет по продажам в конфигураторе 1С: добавление объекта, запрос к документам, настройка СКД, вывод в подсистему и проверка результата.

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

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

Ниже разобран полный цикл: создание объекта «Отчет» в дереве конфигурации, написание запроса, настройка схемы компоновки, включение отчета в подсистему и проверка результата в режиме предприятия. Инструкция применима к конфигурациям на управляемых формах (Управление торговлей, ERP, Комплексная автоматизация, самописные решения).

Что понадобится перед началом работы

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

Определите, откуда брать данные. В типовых торговых конфигурациях продажи хранятся в документах «Реализация товаров и услуг» и в регистре накопления «Продажи» (в УТ 11 и ERP). Запрос к регистру работает быстрее на больших объемах, запрос к документам проще для понимания и позволяет вывести реквизиты самого документа.

Создаем объект «Отчет» в дереве конфигурации

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

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

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

Пишем запрос к данным о продажах

В конструкторе СКД перейдите на вкладку «Наборы данных» и нажмите «Добавить» → «Добавить набор данных — Запрос». Далее нажмите кнопку «Конструктор запроса» и соберите выборку визуально или напишите текст вручную. Пример запроса к документам реализации:

ВЫБРАТЬ

РеализацияТоваровУслугТовары.Ссылка.Дата КАК Период,

РеализацияТоваровУслугТовары.Ссылка.Менеджер КАК Менеджер,

РеализацияТоваровУслугТовары.Ссылка.Контрагент КАК Клиент,

РеализацияТоваровУслугТовары.Номенклатура КАК Номенклатура,

СУММА(РеализацияТоваровУслугТовары.Количество) КАК Количество,

СУММА(РеализацияТоваровУслугТовары.Сумма) КАК СуммаПродажи

ИЗ

Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары

ГДЕ

РеализацияТоваровУслугТовары.Ссылка.Проведен

СГРУППИРОВАТЬ ПО

РеализацияТоваровУслугТовары.Ссылка.Дата,

РеализацияТоваровУслугТовары.Ссылка.Менеджер,

РеализацияТоваровУслугТовары.Ссылка.Контрагент,

РеализацияТоваровУслугТовары.Номенклатура

Если в конфигурации есть регистр накопления «Продажи», эффективнее использовать его виртуальную таблицу оборотов: РегистрНакопления.Продажи.Обороты(&НачалоПериода, &КонецПериода, , ). Виртуальная таблица уже содержит готовые итоги, поэтому отчет формируется заметно быстрее на базах с миллионами строк документов.

Точные имена документов, табличных частей и реквизитов зависят от конфигурации: в УТ 10.3 документ называется «РеализацияТоваровУслуг», в «Управлении нашей фирмой» — «РасходнаяНакладная». Сверяйте имена в дереве конфигурации, а не полагайтесь на примеры из других источников.

Настраиваем ресурсы, параметры и группировки СКД

На вкладке «Ресурсы» отметьте поля Количество и СуммаПродажи — по ним будут считаться итоги на каждом уровне группировки. Ресурсом должно быть числовое поле с агрегатной функцией; если забыть добавить ресурс, итоги по строкам не посчитаются.

На вкладке «Параметры» добавьте «НачалоПериода» и «КонецПериода» (тип «Дата»), если вы используете отбор по дате в запросе. Удобно задать для параметров выражения по умолчанию через стандартные даты, чтобы пользователь мог просто нажать «Сформировать».

На вкладке «Настройки» постройте структуру отчета: добавьте группировку «Менеджер», внутрь нее — «Клиент», затем «Номенклатура». На вложенной вкладке «Выбранные поля» перетащите нужные поля, на вкладке «Отбор» добавьте отбор по периоду и, при необходимости, по организации или складу. Всё это пользователь потом сможет менять сам в режиме настроек.

Порядок действий
  1. 1
    Создайте объект «Отчет» в дереве конфигурации и откройте основную схему компоновки данных
  2. 2
    Добавьте набор данных «Запрос» и напишите выборку из документов или регистра продаж
  3. 3
    На вкладке «Ресурсы» отметьте суммовые и количественные поля
  4. 4
    Добавьте параметры периода и настройте группировки на вкладке «Настройки»
  5. 5
    Включите отчет в подсистему, обновите конфигурацию базы данных и проверьте в режиме предприятия

Включаем отчет в подсистему и обновляем базу

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

Сохраните конфигурацию (F7) и обновите конфигурацию базы данных (Конфигурация → Обновить конфигурацию базы данных). Если база файловая и в ней работают пользователи, попросите их выйти — обновление требует монопольного доступа. Для серверной базы используйте динамическое обновление только для добавления новых объектов; при реструктуризации оно невозможно.

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

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

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

Итог по сумме продаж за месяц
Норма

Совпадает с типовым отчетом или оборотом по счету выручки при тех же отборах

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

Сумма занижена или завышена — проверьте фильтр «Проведен» и дубли строк

Группировки в результате
Норма

Менеджер → клиент → номенклатура раскрываются иерархически с итогами

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

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

Отбор по периоду
Норма

Отчет показывает только документы выбранного диапазона дат

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

Выводятся все документы — параметры периода не связаны с запросом

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

Самая частая проблема — задвоение сумм из-за соединения табличных частей документа (например, «Товары» и «Услуги») без корректного объединения. Используйте ОБЪЕДИНИТЬ ВСЕ вместо соединения или берите данные из регистра. Вторая типичная ошибка — отсутствие отбора Ссылка.Проведен, из-за чего в отчет попадают непроведенные и помеченные на удаление документы.

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

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

Типичные ошибки
01
Соединение табличных частей документа вместо ОБЪЕДИНИТЬ ВСЕ — суммы и количество дублируются
02
Отсутствие отбора по проведенным документам — в отчет попадают черновики и помеченные на удаление
03
Забытые ресурсы на вкладке «Ресурсы» — итоги по группировкам не считаются
04
Изменение типовой конфигурации без резервной копии — при ошибке данные восстанавливать не из чего
05
Запрос к документам вместо регистра на большой базе — отчет формируется минутами

Сравнение подходов: СКД, внешний отчет и программный вывод

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

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

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

Итог

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

Отчет по продажам строится на СКД: объект «Отчет» → запрос к документам или регистру → ресурсы и группировки → подсистема → обновление базы. Перед изменением типовой конфигурации сделайте резервную копию, а для разовых задач используйте внешний отчет. Готовый отчет проверяйте сверкой итогов с типовыми данными.

Частые вопросы

Можно ли сделать отчет по продажам без изменения конфигурации?

Да. Создайте внешний отчет через Файл → Новый → Внешний отчет, настройте в нем схему компоновки данных так же, как во встроенном, и подключите через механизм «Дополнительные отчеты и обработки» в режиме предприятия. Конфигурация при этом остается на полной поддержке.

Почему отчет выводит пустой результат?

Чаще всего дело в параметрах периода: они не переданы в запрос или задан диапазон без документов. Проверьте также отбор «Проведен» — если в базе нет проведенных реализаций за период, результат будет пустым. Полезно временно убрать все отборы и выполнить запрос в консоли запросов.

Как добавить в отчет себестоимость и прибыль?

Возьмите данные из регистра, где хранится себестоимость (в УТ 11 и ERP это регистр «Выручка и себестоимость продаж»), и добавьте вычисляемое поле «Прибыль» как разность суммы продажи и себестоимости на вкладке «Вычисляемые поля» СКД. В документах реализации себестоимости обычно нет.

Отчет формируется очень долго — что делать?

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

Как дать пользователю несколько вариантов одного отчета?

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