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