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