Внешний отчёт .erf: как его запустить, разобрать на исходники и выгрузить результат
Содержание
Файл с расширением .erf в 1С — это внешний отчёт: отдельный файл с кодом, формами и схемой отчёта, который запускают в базе без изменения конфигурации. Открыть его можно двумя путями: в режиме 1С:Предприятие через главное меню Файл → Открыть (сочетание Ctrl+O) или подключить в справочник дополнительных отчётов, если в типовой конфигурации включена эта функция.
ERF-файл не открывается в Excel, Блокноте или архиваторе: внутри бинарный контейнер платформы 1С. Чтобы получить таблицу с цифрами, отчёт нужно запустить в базе и сохранить результат. Чтобы увидеть код — открыть файл в Конфигураторе или выгрузить его в XML.
Что такое ERF-файл и чем он отличается от EPF
Расширение расшифровывают как External Report File. Это формат платформы 1С:Предприятие 8.х. У внешних объектов есть «пара»:
| Расширение | Что это | Главное назначение |
|---|---|---|
.erf | внешний отчёт | вывести данные базы в табличный документ |
.epf | внешняя обработка | изменить данные, загрузить, выгрузить, распечатать |
.ert | внешний отчёт 1С 7.7 | то же, но для старой платформы 7.7 |
.cfe | расширение конфигурации | доработка самой конфигурации, хранится в базе |
Отчёт и обработка в 8.3 — разные типы объектов. Отчёт умеет работать с системой компоновки данных (СКД): у него есть основная схема, варианты, пользовательские настройки. Обработка такого механизма «из коробки» не имеет.
Внешний отчёт не встроен в конфигурацию. Поэтому его можно передать по почте, запустить в нескольких базах и обновить, не трогая типовую конфигурацию и не снимая её с поддержки.
Если файл .erf пришёл не от программиста 1С, а с фотоаппарата, это другой формат — RAW-снимок камер Epson. С 1С он не связан, открывают его графическими редакторами.
Почему внешний файл требует осторожности
ERF содержит исполняемый код на встроенном языке 1С. Код выполняется с правами пользователя, который открыл отчёт. Отчёт «из интернета» теоретически может не только читать данные, но и менять их или передавать наружу.
Запускайте внешние отчёты только из доверенных источников. Незнакомый файл сначала откройте в Конфигураторе и посмотрите модуль объекта и модули форм.
Как открыть ERF-файл в 1С 8.3: три способа
Способ выбирают по задаче: разово посмотреть, пользоваться постоянно или проверить код.
| Способ | Когда подходит | Что нужно |
|---|---|---|
Файл → Открыть | разовый запуск, проверка | право на интерактивное открытие внешних отчётов |
| Дополнительные отчёты | постоянная работа нескольких пользователей | права администратора для подключения |
| Конфигуратор | просмотр и правка кода | доступ к Конфигуратору |
Способ 1. Через меню «Файл»
- Запустите базу в режиме 1С:Предприятие.
- Нажмите кнопку главного меню (три полоски в левом верхнем углу) и выберите
Файл → Открыть. Или нажмитеCtrl+O. - Укажите файл
.erfна диске. - Если платформа покажет предупреждение о том, что файл может быть небезопасен, подтвердите открытие только для проверенного файла.
- Откроется форма отчёта. Задайте период и отборы, нажмите
Сформировать.
Если у пользователя нет права на интерактивное открытие внешних отчётов, команда не сработает. Право выдаёт администратор базы через профили групп доступа или роли.
Способ 2. Через справочник дополнительных отчётов
В типовых конфигурациях на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11 и другие) внешний отчёт можно «прописать» в базе. Тогда он хранится внутри базы, и пользователям не нужен файл.
- Включите функцию:
Администрирование → Печатные формы, отчеты и обработки, флажок «Дополнительные отчеты и обработки». - По ссылке «Дополнительные отчеты и обработки» откройте список и нажмите
Добавить из файла. - Выберите файл
.erf, подтвердите предупреждение о безопасности. - В карточке укажите, в каких разделах показывать отчёт, и каким пользователям он доступен.
- Запишите карточку. Отчёт появится в разделе программы среди дополнительных отчётов.
Так подключается не любой файл. В модуле отчёта должна быть экспортная функция СведенияОВнешнейОбработке(), которая сообщает программе вид объекта, версию и команды. Отчёт без неё открывается через Файл → Открыть, но в справочник не встанет.
Способ 3. В Конфигураторе
- Запустите базу в режиме Конфигуратор (подойдёт и пустая база на той же версии платформы).
- Меню
Файл → Открыть, выберите.erf. - Откроется окно внешнего отчёта: реквизиты, табличные части, формы, макеты, схема компоновки.
Здесь можно читать и править код, а затем сохранить файл . Запустить отчёт из этого окна нельзя: для этого нужен режим 1С:Предприятие.
Двойной щелчок по файлу .erf в проводнике обычно запускает стартер 1С. Он попросит выбрать базу и откроет в ней отчёт. Если ассоциация файлов не настроена, пользуйтесь меню «Файл».
Как сохранить результат ERF-отчёта в Excel, PDF и другие форматы
Сам файл .erf ни во что «сконвертировать» нельзя: это программа, а не таблица. Конвертируют результат — табличный документ, который отчёт формирует.
- Сформируйте отчёт.
- Нажмите кнопку
Сохранить(значок дискеты) на панели отчёта или выберите сохранение в менюЕщё. - В окне выбора укажите тип файла.
| Формат | Для чего |
|---|---|
.xlsx | дальнейшая обработка в Excel |
.pdf | отправка контрагенту или руководителю без правок |
.mxl | табличный документ 1С: откроется в любой 1С с сохранением оформления |
.ods | LibreOffice и аналоги |
.docx, .html, .txt | вставка в текст, публикация, простая выгрузка |
При выгрузке в Excel объединённые ячейки и группировки переносятся не всегда аккуратно. Если нужна «плоская» таблица для сводной, отключите в настройках отчёта итоги и группировки перед сохранением.
Можно ли превратить ERF в EPF
Прямой конвертации нет. Тип внешнего объекта задан при его создании. Если отчёт нужно сделать обработкой, программист создаёт новую внешнюю обработку и переносит в неё модуль и формы. Механизм СКД при этом придётся вызывать из кода вручную.
Что внутри внешнего отчёта и как разобрать его на исходники
Внешний отчёт устроен так же, как отчёт в конфигурации. Основные части:
- 🧩 Модуль объекта — код: формирование, обработка расшифровки, функция регистрации для БСП.
- 🖼 Формы — основная форма, форма настроек, форма варианта.
- 📐 Макеты — схема компоновки данных и макеты печати.
- 📦 Реквизиты и табличные части — параметры, которые пользователь заполняет перед формированием.
- ⚙️ Свойства — основная схема компоновки, основная форма, хранилище вариантов.
Посмотреть всё это проще всего в Конфигураторе. Схема компоновки открывается двойным щелчком по макету: там видны запросы, наборы данных, ресурсы и варианты отчёта.
Выгрузка ERF в XML
Чтобы хранить отчёт в Git или сравнивать версии, его разбирают на файлы. В Конфигураторе откройте внешний отчёт, щёлкните правой кнопкой по корню дерева и выберите выгрузку в файлы. То же делают из командной строки, без открытия окна:
"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" DESIGNER /F "D:\Bases\Empty" ^
/DumpExternalDataProcessorOrReportToFiles "D:\src\MyReport" "D:\in\MyReport.erf" ^
/Out "D:\log.txt"
Обратная сборка из файлов в .erf:
"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" DESIGNER /F "D:\Bases\Empty" ^
/LoadExternalDataProcessorOrReportFromFiles "D:\src\MyReport\MyReport.xml" "D:\out\MyReport.erf" ^
/Out "D:\log.txt"
Путь к 1cv8.exe замените на свою версию платформы. База /F нужна любая, можно пустую. После выгрузки модули лежат обычными текстовыми файлами .bsl, их удобно сравнивать любым инструментом diff.
1С:EDT импортирует внешние отчёты в проект напрямую. Если команда уже работает в EDT, отдельный пакетный скрипт не нужен.
Если код не виден
Поставщик может сохранить отчёт без исходного текста модуля. Тогда в Конфигураторе модуль пуст или недоступен, а отчёт работает. Восстановить исходник штатно нельзя — запросите его у разработчика или работайте с отчётом как с «чёрным ящиком».
Программное подключение ERF из кода
Иногда отчёт надо сформировать автоматически: в регламентном задании, по кнопке в своей обработке. Внешний отчёт подключают на сервере через временное хранилище. Пример для управляемого приложения:
&НаКлиенте
Процедура СформироватьИзФайла(Команда)
Оповещение = Новый ОписаниеОповещения("ПослеПомещенияФайла", ЭтотОбъект);
НачатьПомещениеФайла(Оповещение, , , Истина, УникальныйИдентификатор);
КонецПроцедуры
&НаКлиенте
Процедура ПослеПомещенияФайла(Результат, Адрес, ВыбранноеИмя, ДопПараметры) Экспорт
Если Не Результат Тогда
Возврат;
КонецЕсли;
СформироватьНаСервере(Адрес);
КонецПроцедуры
&НаСервере
Процедура СформироватьНаСервере(Адрес)
ИмяОтчета = ВнешниеОтчеты.Подключить(Адрес, , Истина);
Отчет = ВнешниеОтчеты.Создать(ИмяОтчета);
ТабДок = Новый ТабличныйДокумент;
Отчет.СкомпоноватьРезультат(ТабДок);
ТабДок.Записать("D:\Выгрузка\Отчет.xlsx", ТипФайлаТабличногоДокумента.XLSX);
КонецПроцедуры
Что важно в примере:
ВнешниеОтчеты.Подключитьс третьим параметромИстинавключает безопасный режим. Отчёт не сможет работать с файлами и внешними ресурсами без разрешения.СкомпоноватьРезультатподходит для отчётов на СКД. Если отчёт формирует данные своим кодом, вызывайте его экспортную процедуру.- Путь в
Записать— путь на сервере 1С. В клиент-серверном варианте у служебной учётной записи сервера должны быть права на эту папку.
Не подключайте в регламентных заданиях отчёты из общей сетевой папки, куда пишут все сотрудники. Подмена файла означает выполнение чужого кода от имени сервера.
Ошибки при открытии и формировании ERF-отчётов
Большинство сбоев с внешними отчётами сводятся к трём причинам: нет прав, файл несовместим с базой или с платформой, отчёт обращается к объектам, которых в вашей конфигурации нет.
Если отчёт рассчитан на обычное приложение (старые конфигурации на 8.2), его формы не откроются в интерфейсе «Такси». Признак — у отчёта в Конфигураторе только обычные формы, без управляемых. Решение одно: заказать или сделать версию на управляемых формах.
Как хранить и вести версии ERF-файлов
Через год в папке «Отчёты» обычно лежат Отчет_новый.erf, Отчет_новый2.erf и Отчет_финал.erf, и никто не помнит, какой рабочий. Порядок наводится простыми правилами.
Правила именования и хранения
- 📁 Одна папка на отчёт, в имени файла — конфигурация и версия:
ОстаткиПоСкладам_БП30_v1.3.erf. - 📝 Рядом — короткий файл с описанием: что делает, под какой релиз конфигурации проверен, кто автор.
- 🔐 Исходники в XML — в Git. Сам
.erfсобирается из них командой загрузки из файлов. - 🧾 Контрольная сумма для файлов, которые передают клиентам или в филиалы:
certutil -hashfile ОстаткиПоСкладам_БП30_v1.3.erf SHA256. Получатель сверяет сумму и убеждается, что файл не изменён.
Что делать с отчётами внутри базы
Отчёт, подключённый в справочник дополнительных отчётов, хранится в базе и попадает в её резервную копию. Но при переходе на новую базу или при сбое справочника удобнее иметь файл отдельно. В карточке дополнительного отчёта есть команда выгрузки в файл — сохраните актуальную версию в архив после каждого изменения.
После обновления типовой конфигурации проверьте внешние отчёты: они не обновляются вместе с ней. Сформируйте каждый отчёт на тестовой копии базы и сравните цифры с прошлым периодом.
Частые вопросы
Можно ли открыть ERF без установленной 1С?
Откроется ли ERF из 1С 8.3 в версии 7.7?
.ert и другой встроенный язык. Отчёт придётся писать заново.