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