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

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

Как создать отчет в 1С: практическое руководство

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

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

Прежде чем открывать Конфигуратор, определите, что именно требуется: изменить существующий отчет, сохранить его вариант с другими настройками или разработать новый. В большинстве типовых конфигураций (1С:Бухгалтерия, 1С:Управление торговлей, 1С:ERP) значительная часть потребностей закрывается настройкой типовых отчетов без программирования. Разработка нужна, когда требуемых данных нет в типовых отчетах или нужна особая логика расчета.

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

Выбор способа: типовой отчет, внешний отчет или объект конфигурации

Существует три рабочих подхода. Первый — настройка типового отчета: вы открываете, например, «Оборотно-сальдовую ведомость» или «Анализ продаж», меняете отборы, группировки и период, а затем сохраняете настройки как отдельный вариант. Это самый быстрый способ, не требующий прав разработчика.

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

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

Сравнение вариантов

Вариант типового отчета

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

Внешний отчет (.erf)

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

Отчет в конфигурации

Подходит для собственных конфигураций и глубокой интеграции в интерфейс. Ограничение: усложняет обновление типовых решений.

Создание отчета в Конфигураторе: базовая последовательность

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

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

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

Настройка запроса и схемы компоновки данных

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

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

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

Доработка макета и программная обработка

СКД формирует табличный документ автоматически, но иногда нужен особый вид: печатная форма с шапкой, подписями, логотипом. Для этого создается макет (закладка «Макеты» объекта отчета), где вручную рисуются области и задаются параметры вывода. Заполнение макета выполняется программно в модуле объекта или через макеты СКД.

Если требуется нестандартная логика — например, дозаполнение результата расчетными полями — используйте событие «ПриКомпоновкеРезультата» в модуле объекта отчета. Помните, что программная обработка результата СКД отключает часть автоматических возможностей, поэтому применяйте её только при реальной необходимости.

bsl
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
    // СтандартнаяОбработка = Ложь — только если результат формируется полностью программно
КонецПроцедуры

Подключение внешнего отчета к базе

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

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

Проверка результата и типичные ошибки

После обновления конфигурации (клавиша F7) откройте базу в режиме «Предприятие» и сформируйте отчет. Проверьте три вещи: открывается ли отчет без ошибок, совпадают ли итоги с контрольными данными (например, с оборотно-сальдовой ведомостью или типовым отчетом по тому же регистру), корректно ли работают отборы по периоду и организации.

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

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

Запуск отчета
Норма

Форма открывается, результат строится за разумное время

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

Ошибка компоновки или зависание — проверьте запрос и соединения таблиц

Итоги
Норма

Суммы совпадают с типовым отчетом по тому же источнику данных

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

Расхождения — проверьте виртуальную таблицу, отборы и соединения

Отборы пользователя
Норма

Период и организация доступны на форме и влияют на результат

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

Параметры скрыты или игнорируются — проверьте доступность параметров в СКД

Типичные ошибки
01
Запрос к физической таблице регистра вместо виртуальной таблицы оборотов — отчет работает медленно и дает лишние строки
02
Левое соединение без отбора по периоду — при больших объемах данных отчет формируется минутами
03
Забытое обновление конфигурации базы данных (F7) — отчет не появляется в режиме «Предприятие»
04
Отчет не добавлен ни в одну подсистему — пользователь не находит его в интерфейсе
05
Изменение типового отчета вместо создания внешнего — конфигурация снимается с поддержки

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

Можно ли создать отчет в 1С без Конфигуратора?

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

Чем внешний отчет отличается от отчета в конфигурации?

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

Почему отчет не виден пользователям после создания?

Чаще всего объект не включен ни в одну подсистему: откройте свойства отчета, закладку «Подсистемы» и отметьте нужный раздел интерфейса. Также проверьте права доступа — у роли пользователя должно быть право «Просмотр» на этот отчет.

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

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

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

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

Итог

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

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