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

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

Как сделать отчет в 1С 8.2: пошаговая инструкция

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

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

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

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

Определяем, какой способ создания отчета подходит

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

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

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

Маршрут решения

Как выбрать действие

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

Создаем отчет в конфигураторе: первые шаги

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

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

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

Пишем запрос и выбираем данные

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

Для регистров накопления используйте виртуальные таблицы: Обороты — для сумм за период, Остатки — для значений на дату, ОстаткиИОбороты — когда нужны и начальные остатки, и движения. Обращение к физической таблице регистра вместо виртуальной — частая причина медленной работы и неверных итогов.

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

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

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

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

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

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

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

Проверяем результат и исправляем типичные проблемы

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

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

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

Типичные ошибки
01
Обращение к физической таблице регистра вместо виртуальной — итоги не совпадают с типовыми отчетами
02
Параметр конца периода с границей на начало дня — пропадают документы последнего дня
03
Лишние связи в запросе — строки дублируются, суммы завышаются
04
Отбор задан только в запросе, а не в настройках СКД — пользователь не может его изменить
05
Отчет тестируется только под полными правами — у рядовых пользователей он пустой или недоступен

Внешний отчет как альтернатива изменению конфигурации

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

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

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

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

Встроенный отчет в конфигурации

Доступен всем из меню, обновляется вместе с конфигурацией; требует прав на изменение и обновления базы

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

Не меняет конфигурацию, легко передается между базами; требует ручного распространения и контроля версий

Настройка типового отчета

Быстро и безопасно; ограничена возможностями заложенной разработчиком схемы

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

Можно ли сделать отчет в 1С 8.2 без программирования?

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

Почему отчет показывает пустую таблицу, хотя данные есть?

Чаще всего дело в параметрах периода, скрытых отборах в настройках СКД или правах доступа. Проверьте отчет под пользователем с полными правами и с теми же настройками: если данные появились — проблема в правах или RLS, если нет — в запросе или отборах.

Как добавить в отчет поле, которого нет в конструкторе?

Используйте вычисляемые поля на соответствующей закладке схемы компоновки: задайте выражение на языке выражений СКД (например, разность двух полей или условие через ВЫБОР). Поле появится в списке доступных и его можно выводить и группировать.

Чем отличается консоль отчетов от создания отчета в конфигураторе?

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

Опасно ли добавлять отчет в типовую конфигурацию?

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

Итог

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

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