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

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

Внешние отчеты в 1С: что это и как с ними работать

Что такое внешние отчеты в 1С, чем они отличаются от встроенных, как подключить файл .erf, настроить безопасный режим и решить типичные ошибки при запуске.

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

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

Механизм работает в управляемых приложениях на базе БСП (Библиотеки стандартных подсистем) — это «1С:Бухгалтерия», «1С:Управление торговлей», «1С:ERP», «Зарплата и управление персоналом» и другие типовые решения. В них внешние отчеты регистрируются в справочнике, получают место в разделах интерфейса, расписание автоматического формирования и настройки прав доступа.

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

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

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

Встроенный или внешний отчет

Встроенный в конфигурацию

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

Внешний файл .erf

Подходит для узких задач, оперативных запросов и тестирования. Минус: нет централизованного контроля версий, если отчет просто лежит в папке.

Расширение конфигурации

Компромисс: отчет встраивается в интерфейс как штатный, конфигурация остается на поддержке. Требует навыков разработки.

Как открыть внешний отчет разово

Самый простой способ посмотреть внешний отчет — открыть его как обычный файл. В режиме «Предприятие» перейдите в меню «Файл → Открыть» (или нажмите Ctrl+O), выберите файл с расширением .erf и подтвердите открытие. Отчет запустится в текущей информационной базе и сможет обращаться к ее данным.

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

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

Как подключить отчет через «Дополнительные отчеты и обработки»

В типовых конфигурациях на базе БСП есть специальная подсистема, которая превращает внешний файл в полноценный пункт меню. Сначала убедитесь, что механизм включен: перейдите в «Администрирование → Печатные формы, отчеты и обработки» и установите флаг «Дополнительные отчеты и обработки». После этого в разделе появится одноименная ссылка.

Порядок подключения внешнего отчета
  1. 1
    Откройте «Администрирование → Печатные формы, отчеты и обработки» и включите опцию «Дополнительные отчеты и обработки».
  2. 2
    Перейдите в список «Дополнительные отчеты и обработки» и нажмите «Добавить из файла».
  3. 3
    Выберите файл .erf и подтвердите загрузку.
  4. 4
    В карточке объекта укажите разделы командного интерфейса, где отчет будет доступен, и настройте права по кнопке «Быстрый доступ».
  5. 5
    Нажмите «Записать и закрыть», затем откройте указанный раздел и проверьте, что отчет запускается и формирует данные.

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

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

bsl
Функция СведенияОВнешнейОбработке() Экспорт
  ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке();
  ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительныйОтчет();
  ПараметрыРегистрации.Версия = "1.0";
  ПараметрыРегистрации.БезопасныйРежим = Истина;
  НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
  НоваяКоманда.Представление = НСтр("ru = 'Мой отчет'");
  НоваяКоманда.Идентификатор = "МойОтчет";
  НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();
  НоваяКоманда.ПоказыватьОповещение = Ложь;
  Возврат ПараметрыРегистрации;
КонецФункции

Безопасный режим и профили безопасности

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

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

Кому виден отчет: права и размещение

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

Отдельно учитывайте, что отчет формируется с правами конкретного пользователя: если у кладовщика нет доступа к регистру продаж, отчет по продажам для него будет пустым или выдаст ошибку нарушения прав. Это нормальное поведение, а не дефект отчета. Для выборочного расширения доступа в коде можно использовать привилегированный режим, но делать это должен разработчик с пониманием рисков утечки данных.

Типичные ошибки при подключении и запуске

Большинство проблем с внешними отчетами сводится к нескольким повторяющимся сценариям. Знание их экономит время на переписке с разработчиком.

Типичные ошибки
01
Ошибка «Метод объекта не обнаружен: СведенияОВнешнейОбработке» — отчет написан без поддержки БСП. Открывайте его через «Файл → Открыть» или попросите разработчика добавить функцию регистрации.
02
Отчет подключен, но не виден в меню — не назначены разделы размещения или пользователь не включен в список быстрого доступа.
03
Отчет формируется пустым — у пользователя нет прав на данные, либо в отборе заданы отсутствующие в базе значения (например, устаревшая организация).
04
Ошибка «нарушение прав доступа» в безопасном режиме — отчет пытается обратиться к файловой системе или внешним ресурсам. Нужен профиль безопасности или переработка кода.
05
После обновления конфигурации отчет перестал работать — изменились имена объектов метаданных, к которым обращается запрос. Отчет нужно актуализировать под новый релиз.
Контрольные точки

Как проверить результат подключения

Отчет в списке дополнительных
Норма

Карточка записана, стоит признак «Публикуется», файл загружен

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

Отчет есть в списке, но снят с публикации или файл пустой

Видимость в интерфейсе
Норма

Команда появилась в указанном разделе у нужных пользователей

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

Команды нет — проверить разделы и быстрый доступ

Формирование данных
Норма

Отчет строится за разумное время и показывает актуальные цифры

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

Пустой результат, ошибки прав или зависание на больших периодах

Когда внешний отчет — не лучшее решение

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

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

Маршрут решения

Как выбрать действие

Отчет нужен один раз для проверки данныхОткройте файл через «Файл → Открыть», ничего не регистрируя
Отчетом пользуется несколько сотрудников регулярноЗарегистрируйте его в «Дополнительных отчетах и обработках» с настройкой разделов и прав
Отчет критичен для учета и используется массовоПеренесите его в расширение конфигурации силами разработчика
Отчет получен из непроверенного источникаСначала протестируйте на копии базы и покажите код программисту
Итог

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

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

Частые вопросы о внешних отчетах в 1С

Чем файл .erf отличается от .epf?

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

Можно ли подключить внешний отчет в базовой версии 1С?

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

Почему отчет работает у одного пользователя и не работает у другого?

Чаще всего причина в правах: у второго пользователя нет доступа к данным, которые читает запрос отчета, либо он не добавлен в список быстрого доступа в карточке дополнительного отчета. Сравните роли пользователей и настройку «Быстрый доступ».

Нужно ли переподключать отчет после обновления конфигурации?

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

Можно ли запускать внешний отчет автоматически по расписанию?

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

Безопасно ли открывать отчет, присланный по почте?

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