Отчеты и Аналитика · 9 мин
Как сделать отчет в 1С 8.2: пошаговая инструкция
Как создать отчет в 1С 8.2: конструктор отчетов, схема компоновки данных, запросы, настройки и типичные ошибки. Пошаговая инструкция для начинающих.
Отчет в 1С 8.2 — это объект конфигурации, который извлекает данные из информационной базы и представляет их в удобном виде: таблице, диаграмме или сводной ведомости. Платформа 8.2 предлагает два основных пути: типовой конструктор отчетов внутри готовой конфигурации (для пользователя) и создание собственного отчета в конфигураторе на основе системы компоновки данных, или СКД (для разработчика и продвинутого пользователя).
Выбор пути зависит от задачи. Если нужно быстро получить выборку по документам или справочникам и конфигурация позволяет — достаточно встроенных средств типового отчета. Если требуется нестандартная группировка, собственный макет, произвольный запрос или отчет должен стать частью конфигурации — работа ведется в конфигураторе через СКД.
Ниже разобраны оба сценария: от подготовки и создания запроса до настройки группировок, отборов и проверки результата. Отдельно рассмотрены типичные ошибки, из-за которых отчет выводит пустую таблицу или неверные итоги.
Определяем, какой способ создания отчета подходит
Прежде чем открывать конфигуратор, ответьте на три вопроса: кто будет пользоваться отчетом, откуда берутся данные и нужно ли сохранять отчет внутри конфигурации. От ответов зависит инструмент.
Если отчет нужен разово или периодически, а данные лежат в стандартных регистрах и документах типовой конфигурации — попробуйте сначала встроенные механизмы: универсальный отчет, конструктор произвольных отчетов или настройки типовых отчетов. Это быстрее и не требует прав на изменение конфигурации.
Если нужна нестандартная логика, собственный макет печати, сложные вычисляемые поля или отчет должен быть доступен всем пользователям из меню — создавайте объект «Отчет» в конфигураторе. В 1С 8.2 для этого почти всегда используется система компоновки данных, которая берет на себя формирование таблицы, группировок и настроек.
Как выбрать действие
Создаем отчет в конфигураторе: первые шаги
Откройте конфигуратор и убедитесь, что конфигурация доступна для изменений: в типовых решениях она часто стоит на поддержке, и редактирование потребует включения возможности изменения. Для экспериментов лучше использовать копию базы — ошибка в конфигурации рабочей базы может затронуть всех пользователей.
В дереве конфигурации найдите ветку «Отчеты», вызовите контекстное меню и выберите «Добавить». Задайте имя отчета латиницей без пробелов (например, ПродажиПоМенеджерам) и синоним — его увидят пользователи. На закладке «Подсистемы» отметьте, в каких разделах интерфейса отчет будет отображаться.
Далее на закладке «Основные» нажмите кнопку открытия схемы компоновки данных. Платформа предложит создать схему с помощью конструктора — соглашайтесь: конструктор сформирует основу запроса автоматически, а вы доработаете его вручную при необходимости.
Пишем запрос и выбираем данные
Запрос — основа отчета: он определяет, какие поля и из каких таблиц попадут в результат. В конструкторе запроса слева отображаются таблицы базы: документы, справочники, регистры накопления и сведений. Перенесите нужные таблицы в центральную часть, затем выберите поля.
Для регистров накопления используйте виртуальные таблицы: Обороты — для сумм за период, Остатки — для значений на дату, ОстаткиИОбороты — когда нужны и начальные остатки, и движения. Обращение к физической таблице регистра вместо виртуальной — частая причина медленной работы и неверных итогов.
На закладке «Связи» конструктор автоматически свяжет таблицы по ключевым полям — проверьте эти связи. На закладке «Условия» добавьте отборы, которые должны работать всегда (например, ограничение по организации). Параметры периода (НачалоПериода, КонецПериода) конструктор СКД добавит сам, если вы используете виртуальную таблицу оборотов.
ВЫБРАТЬ
ПродажиОбороты.Номенклатура КАК Номенклатура,
ПродажиОбороты.КоличествоОборот КАК Количество,
ПродажиОбороты.СтоимостьОборот КАК Сумма
ИЗ
РегистрНакопления.Продажи.Обороты(&НачалоПериода, &КонецПериода, , ) КАК ПродажиОборотыНастраиваем схему компоновки данных
После создания запроса перейдите на закладки схемы компоновки. На закладке «Ресурсы» отметьте поля, по которым считаются итоги, — обычно это суммы и количества; платформа сама предложит их после анализа запроса, но проверьте выражение агрегирования (как правило, Сумма(...)).
На закладке «Параметры» задайте значения по умолчанию и ограничения доступности. Полезный прием: для параметра конца периода установите выражение &КонецПериода с типом «Дата» и включите состав даты «Дата и время», иначе документы последнего дня могут не попасть в отчет из-за границы в начале дня.
На закладке «Настройки» формируется внешний вид: добавьте группировки (например, по контрагенту, а внутри — по номенклатуре), выберите выводимые поля и отборы, доступные пользователю. Чтобы пользователь мог сам менять настройки, вынесите нужные элементы в окно быстрых настроек через контекстное меню «Поместить в пользовательские настройки».
- 1Создайте копию базы и откройте конфигуратор
- 2Добавьте объект «Отчет», задайте имя и подсистемы
- 3Откройте схему компоновки данных и постройте запрос конструктором
- 4Проверьте связи таблиц и условия отбора
- 5Отметьте ресурсы и настройте параметры периода
- 6Сформируйте группировки и поля на закладке «Настройки»
- 7Обновите конфигурацию базы данных (F7) и проверьте отчет в режиме Предприятие
Проверяем результат и исправляем типичные проблемы
После обновления конфигурации откройте отчет в режиме Предприятие и сверьте итоги с заведомо верным источником: типовым отчетом по тому же регистру или оборотно-сальдовой ведомостью. Совпадение итоговых сумм — главный признак корректного запроса.
Если отчет пуст, проверьте по порядку: период в параметрах, отборы (в том числе скрытые в настройках СКД), наличие данных в регистре за выбранный период и права пользователя на чтение таблиц. Ограничение доступа на уровне записей (RLS) может без сообщений скрывать часть данных у пользователя с ограниченными правами.
Если итоги завышены, ищите дублирование строк из-за лишней связи таблиц или соединения «один ко многим» там, где ожидалось «один к одному». Если данные последнего дня периода пропадают — проверьте границу параметра конца периода: она должна включать конец дня.
Внешний отчет как альтернатива изменению конфигурации
Когда конфигурацию менять нельзя (например, она на полной поддержке у поставщика) или отчет нужен ограниченному кругу лиц, используйте внешний отчет — файл с расширением .erf. Он создается через «Файл — Новый — Внешний отчет» и содержит ту же схему компоновки данных.
Внешний отчет открывается в режиме Предприятие через «Файл — Открыть» и не требует обновления конфигурации. Многие типовые решения поддерживают регистрацию внешних отчетов в справочнике дополнительных отчетов и обработок — тогда отчет появляется в штатном меню и работает с учетом прав пользователей.
Ограничение подхода: внешний отчет не обновляется автоматически при изменении структуры метаданных, и при обновлении конфигурации его запрос может потребовать корректировки, если переименованы используемые объекты.
Сравнение вариантов
Доступен всем из меню, обновляется вместе с конфигурацией; требует прав на изменение и обновления базы
Не меняет конфигурацию, легко передается между базами; требует ручного распространения и контроля версий
Быстро и безопасно; ограничена возможностями заложенной разработчиком схемы
Частые вопросы
Можно ли сделать отчет в 1С 8.2 без программирования?
Да. Схема компоновки данных строится конструктором: запрос собирается мышью из таблиц и полей, группировки и отборы настраиваются в диалогах. Код потребуется только для нестандартной логики — например, программной обработки результата или собственных вычисляемых полей сложной структуры.
Почему отчет показывает пустую таблицу, хотя данные есть?
Чаще всего дело в параметрах периода, скрытых отборах в настройках СКД или правах доступа. Проверьте отчет под пользователем с полными правами и с теми же настройками: если данные появились — проблема в правах или RLS, если нет — в запросе или отборах.
Как добавить в отчет поле, которого нет в конструкторе?
Используйте вычисляемые поля на соответствующей закладке схемы компоновки: задайте выражение на языке выражений СКД (например, разность двух полей или условие через ВЫБОР). Поле появится в списке доступных и его можно выводить и группировать.
Чем отличается консоль отчетов от создания отчета в конфигураторе?
Консоль отчетов (внешняя обработка) позволяет строить и сохранять схемы СКД без конфигуратора и подходит для аналитических задач. Отчет в конфигураторе — полноценный объект метаданных: он встраивается в интерфейс, права и подсистемы, но требует обновления конфигурации.
Опасно ли добавлять отчет в типовую конфигурацию?
Добавление нового объекта относительно безопасно: оно не меняет типовые механизмы, но включает возможность изменения конфигурации, что усложняет автоматическое обновление. Безопасная практика — внешний отчет или работа в копии с последующим аккуратным переносом.
Что важно запомнить
Отчет в 1С 8.2 строится на схеме компоновки данных: запрос из виртуальных таблиц, ресурсы, параметры периода и настройки группировок. Работайте в копии базы, сверяйте итоги с типовыми отчетами и тестируйте под правами реальных пользователей. Если конфигурацию менять нельзя — используйте внешний отчет.