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