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

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

Как создать отчет в 1С с нуля

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

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

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

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

Подготовка: что понадобится перед началом работы

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

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

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

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

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

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

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

Написание запроса к данным

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

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

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

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

Настройка ресурсов, вычисляемых полей и параметров

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

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

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

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

Настройка структуры и вариантов отчета

Закладка «Настройки» определяет, как отчет будет выглядеть по умолчанию. В простейшем случае добавьте группировку по нужному измерению (например, «Контрагент»), затем вложенную группировку или детальные записи, и перенесите в выбранные поля колонки отчета. Порядок полей в списке определяет порядок колонок в результате.

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

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

Макет и оформление результата

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

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

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

Сначала добейтесь корректных данных с минимальной структурой (одна группировка и детальные записи), а оформление и варианты добавляйте потом. Отлаживать запрос проще на простом отчете, чем искать ошибку среди десятка настроек.
ПЗ
Практическое замечание

Проверка и подключение отчета к базе

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

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

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

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

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

Итоги отчета
Норма

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

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

Суммы завышены или занижены — проверяйте соединения таблиц и дублирование строк

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

Отчет за типовой период формируется за секунды

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

Формирование занимает минуты — вероятно, нет отбора по периоду или используется физическая таблица регистра

Работа под правами пользователя
Норма

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

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

Ошибка доступа или пустой результат у пользователя при работающем отчете у администратора

Частые вопросы о создании отчетов в 1С

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

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

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

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

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

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

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

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

Можно ли вывести отчет в диаграмму?

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

Итог

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

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