Файлы .erf в 1С:Предприятии 8.3: от открытия до подключения в базе

· 9 мин

Содержание

ERF файл в 1С — это внешний отчёт: отдельный файл с отчётом, который живёт вне конфигурации и открывается в любой подходящей базе через Файл → Открыть. Расшифровка простая: External Report File. Внутри лежит схема компоновки данных, модуль, формы и макеты.

Частое заблуждение — считать .erf «файлом электронной отчётности» для ФНС или СФР. Это не так. Регламентированные отчёты уходят в контролирующие органы в формате XML, а .erf — инструмент разработчика и бухгалтера, способ добавить в программу свой отчёт без изменения конфигурации. Поэтому и проблемы с ним решаются не в модуле отчётности, а в правах, настройках БСП и Конфигураторе.

Что лежит внутри файла ERF и чем он отличается от других форматов 1С

Внешний отчёт устроен так же, как отчёт в дереве конфигурации. У него есть:

  • 📊 основная схема компоновки данных (СКД) — запрос, поля, группировки, отборы;
  • 🧩 модуль объекта — код на встроенном языке, например функция регистрации для БСП;
  • 🖼 формы — форма отчёта и форма настроек, если разработчик их создал;
  • 📄 макеты — дополнительные схемы и табличные шаблоны для вывода.

Файл двоичный, текстовым редактором его не прочитать. Работает он только «поверх» конкретной конфигурации: запрос обращается к её справочникам, документам и регистрам. Отчёт для Бухгалтерии 3.0 в ЗУП, скорее всего, не заработает — там нет нужных объектов.

Чтобы не путаться с соседними форматами:

РасширениеЧто этоГде открывается
.erfвнешний отчёт1С:Предприятие и Конфигуратор
.epfвнешняя обработка1С:Предприятие и Конфигуратор
.cfeрасширение конфигурацииКонфигуратор, раздел расширений
.cfфайл конфигурацииКонфигуратор
.dtвыгрузка информационной базыКонфигуратор, загрузка базы
.mxlтабличный документ1С:Предприятие, Конфигуратор

Расширение .erf встречается и вне 1С: так называются RAW-снимки некоторых цифровых камер Epson. Если файл пришёл от фотографа, а не от программиста, — он не для 1С.

Почему файл ERF не открывается или выдаёт ошибку

Прежде чем что-то чинить, полезно понять источник проблемы. Причины делятся на четыре группы.

  • 🔒 Права пользователя. Для открытия внешнего отчёта через меню роль должна давать право «Интерактивное открытие внешних отчётов». У рядовых пользователей типовых конфигураций его часто нет. Платформа сообщает о нарушении прав доступа.
  • 🛡 Защита от опасных действий. В актуальных версиях платформы при открытии внешнего файла появляется предупреждение безопасности. Пока его не подтвердить, отчёт не запустится.
  • 🧱 Несовместимость с конфигурацией. Отчёт обращается к объекту, которого в базе нет, или к реквизиту, который переименовали в новом релизе. Ошибка всплывает при открытии или при формировании: Поле объекта не обнаружено, Тип не определен, ошибка в тексте запроса.
  • 🧨 Повреждение или версия платформы. Файл обрезан при пересылке, сохранён в более новой платформе или вообще не является внешним отчётом (переименованный .epf, архив).

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

Как открыть файл ERF в 1С и посмотреть отчёт

Быстрый способ: через меню «Файл»

  1. Запустите базу в режиме 1С:Предприятие под пользователем с правами администратора.
  2. Откройте главное меню (значок с тремя полосками в левом верхнем углу) и выберите Файл → Открыть.
  3. Укажите путь к файлу .erf.
  4. Если появилось предупреждение безопасности, прочитайте его и подтвердите открытие, только если доверяете источнику.
  5. В открывшейся форме задайте период, отборы и нажмите Сформировать.

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

Внешний отчёт исполняет код. Модуль может не только читать данные, но и изменять их. Не открывайте .erf из непроверенных источников в рабочей базе — сначала проверьте его в копии.

Как посмотреть устройство отчёта в Конфигураторе

Если нужно понять, что отчёт считает, откройте его в Конфигураторе:

  1. Запустите базу в режиме Конфигуратор.
  2. Файл → Открыть и выберите файл .erf.
  3. Откроется окно внешнего отчёта: дерево с макетами, формами и реквизитами.
  4. Дважды щёлкните основную схему компоновки данных — увидите текст запроса, ресурсы и варианты.
  5. Модуль объекта открывается через контекстное меню корневого элемента.

Монопольный режим для этого не нужен, конфигурацию базы вы не меняете. Отчёт можно отладить: откройте его в Конфигураторе, поставьте точку останова, запустите отладку и откройте тот же файл в пользовательском режиме.

Как узнать, к какой конфигурации привязан отчёт

Точной «паспортной» метки в файле нет. Ориентируйтесь по тексту запроса в СКД: имена регистров вроде РегистрБухгалтерии.Хозрасчетный прямо говорят о Бухгалтерии предприятия, РегистрНакопления.ВзаиморасчетыССотрудниками — о ЗУП.

Как переделать и пересохранить ERF: конвертация форматов

Под «конвертацией» обычно понимают одну из трёх задач. Разберём каждую.

Сохранить результат отчёта в PDF или Excel

Сформированный отчёт — это табличный документ. Его можно записать в файл:

  1. Сформируйте отчёт.
  2. Нажмите кнопку сохранения (значок дискеты) на командной панели отчёта или найдите команду сохранения в меню Ещё.
  3. Выберите формат: PDF, Excel (.xlsx), Word, табличный документ .mxl, HTML и другие.

Если кнопки в форме нет, есть запасной путь — Файл → Сохранить как в главном меню при активном табличном документе. Ещё один вариант — печать на виртуальный PDF-принтер операционной системы.

Превратить встроенный отчёт во внешний и обратно

  • Из конфигурации во внешний. В Конфигураторе в дереве метаданных щёлкните отчёт правой кнопкой и выберите Сохранить как внешнюю обработку, отчет.... Получится файл .erf, который можно править отдельно.
  • Из внешнего в конфигурацию. Перенос делают через сравнение-объединение или вручную копированием схемы и модуля в новый отчёт. Сам по себе файл в конфигурацию «не вливается».

Переименовать .erf в .epf нельзя: внешний отчёт и внешняя обработка — разные виды объектов. Если нужна обработка, создайте её и перенесите туда схему и код.

Выгрузить отчёт в XML для Git и сравнения

Для хранения в системе контроля версий внешний отчёт раскладывают на файлы. В окне редактирования внешнего отчёта в Конфигураторе есть команда выгрузки в файлы. Пакетно это делают из командной строки:

"C:\Program Files\1cv8\8.3.24.1342\bin\1cv8.exe" DESIGNER /F "D:\Bases\Buh" /N "Администратор" /P "" ^
  /DumpExternalDataProcessorOrReportToFiles "D:\src\MyReport\MyReport.xml" "D:\ext\MyReport.erf"

Обратная сборка — параметр /LoadExternalDataProcessorOrReportFromFiles с теми же двумя путями в обратном порядке: сначала XML, потом итоговый файл. Номер версии платформы в пути замените на свой.

Отчёт, собранный в новой платформе, может не открыться в старой. Собирайте .erf на той версии платформы, что стоит у пользователей, или на более ранней.

Как подключить внешний отчёт в базе на постоянной основе

В типовых конфигурациях на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11 и другие) правильный путь — справочник «Дополнительные отчёты и обработки». Отчёт тогда появляется в меню раздела, доступен пользователям без лишних прав и сохраняет настройки.

Шаг 1. Включите механизм

Администрирование → Печатные формы, отчеты и обработки → флажок Дополнительные отчеты и обработки. После этого рядом станет доступна ссылка на одноимённый справочник.

Шаг 2. Добавьте файл

  1. Откройте справочник и нажмите Добавить из файла....
  2. Выберите .erf и подтвердите предупреждение безопасности.
  3. Программа прочитает сведения о регистрации из модуля отчёта: вид, версию, команды.
  4. На вкладке размещения укажите разделы, где отчёт появится, и пользователей, которым он доступен.
  5. Установите публикацию «Используется» и запишите элемент.

Шаг 3. Проверьте функцию регистрации

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

Функция СведенияОВнешнейОбработке() Экспорт

	ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке();
	ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительныйОтчет();
	ПараметрыРегистрации.Версия = "1.0";
	ПараметрыРегистрации.БезопасныйРежим = Истина;

	Команда = ПараметрыРегистрации.Команды.Добавить();
	Команда.Представление = "Остатки по складам (свой)";
	Команда.Идентификатор = "ОстаткиПоСкладам";
	Команда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();
	Команда.ПоказыватьОповещение = Ложь;

	Возврат ПараметрыРегистрации;

КонецФункции

Флаг БезопасныйРежим = Истина означает, что код отчёта выполняется в безопасном режиме: без доступа к файлам, внешним компонентам и привилегированным операциям. Для отчёта, который только читает данные, это правильный выбор.

Шаг 4. Обновляйте отчёт без пересоздания

Когда разработчик прислал новую версию файла, не создавайте второй элемент. Откройте существующий и загрузите файл заново командой загрузки в карточке. Настройки размещения и доступа сохранятся.

Как вам запускать этот .erf?

Автоматизация: рассылка и плановое формирование

Подключённый через справочник отчёт ведёт себя как встроенный. В конфигурациях на БСП это даёт две полезные вещи.

  • 📬 Рассылки отчётов. Механизм рассылок формирует выбранные варианты отчётов по расписанию и отправляет их по почте или складывает в сетевую папку. Дополнительный отчёт можно включить в рассылку, как типовой.
  • 💾 Варианты отчёта. Пользователь сохраняет свои настройки (период, отборы, группировки) под отдельным именем, и они не теряются при обновлении файла.

Для рассылки по почте нужна настроенная учётная запись электронной почты в базе и включённые регламентные задания. В файловой базе регламентные задания выполняются только при запущенном клиенте, поэтому для надёжного расписания лучше клиент-серверный вариант.

Внешний отчёт без безопасного режима в рассылке выполняется с полными правами по расписанию. Проверяйте код таких файлов до включения в автоматику.

Ошибки при работе с ERF и как их устранить

Диагностика: выберите симптом

Если отчёт формируется, но цифры не сходятся

Внешний отчёт честно показывает то, что выбрал его запрос. Расхождение с типовым отчётом обычно значит одно из трёх:

  1. Разный период или граница периода: конец дня против начала следующего.
  2. Отбор по организации или подразделению, который в типовом отчёте стоит по умолчанию, а во внешнем нет.
  3. Запрос читает не тот регистр: например, обороты вместо остатков.

Сравните оба отчёта за один короткий период по одной организации. Так проще найти, на каком шаге начинается разница.

Частые вопросы про файлы ERF

Чем открыть ERF без установленной 1С?
Ничем полноценно. Файл открывается только платформой 1С:Предприятие. Для просмотра структуры без базы используют сторонние распаковщики, но запустить отчёт без конфигурации нельзя.
Можно ли открыть ERF в тонком и веб-клиенте?
Да, через меню Файл → Открыть. Файл передаётся на сервер и выполняется там. В веб-клиенте браузер дополнительно просит выбрать файл через свой диалог.
Подходит ли один ERF для файловой и серверной базы?
Да, вариант базы не важен. Важны конфигурация, её релиз и версия платформы, в которой собран файл.
Опасно ли открывать чужой внешний отчёт?
Да. Внешний отчёт исполняет код с правами пользователя, который его открыл. Проверяйте модуль и открывайте сначала в копии базы, а в справочнике оставляйте безопасный режим.
Почему после обновления конфигурации внешний отчёт перестал работать?
В новом релизе переименовали или удалили объект либо реквизит, к которому обращается запрос. Нужна правка СКД под новую структуру.