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