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

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

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

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

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

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

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

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

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

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

Схема компоновки данных: запрос и наборы данных

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

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

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

Ресурсы, параметры и настройки отчета

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

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

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

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

Отчет на макете: когда СКД не подходит

Классический вариант — макет табличного документа с областями и программный вывод в модуле объекта. Такой подход оправдан для строго фиксированных форм: актов, справок, документов с точным расположением полей, где группировки и отборы не нужны.

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

СКД или макет

Отчет на СКД

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

Отчет на макете

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

Внешний отчет

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

Проверка результата и отладка

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

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

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

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

Итоговая сумма отчета
Норма

Совпадает с оборотами регистра за тот же период

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

Расходится — проверяйте соединения таблиц и дубли строк

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

Данные строго в границах заданных дат

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

Попадают документы вне периода — параметры не переданы в виртуальную таблицу

Скорость формирования
Норма

Отчет формируется за секунды на рабочем объеме

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

Долгое ожидание — фильтрация выполняется после выборки вместо параметров запроса

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

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

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

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

Часто задаваемые вопросы

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

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

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

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

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

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

Как добавить в отчет расшифровку по документам?

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

Как вывести отчет на печать или сохранить в файл?

Результат СКД — табличный документ, который сохраняется через «Файл — Сохранить» в форматы MXL, Excel, PDF и печатается стандартной командой. Для автоматической отправки по почте или печати по кнопке потребуется программная доработка формы.

Итог

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

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