Внешний отчет .erf: открыть, подключить к базе и отладить

· 9 мин

Содержание

Чтобы запустить внешний отчет в 1С 8.3, откройте главное меню программы (кнопка с тремя полосками в левом верхнем углу), выберите Файл → Открыть или нажмите Ctrl+O и укажите файл с расширением .erf. Отчет откроется сразу, без изменения конфигурации. Если программа ругается на права или файл не выбирается, отчет нужно подключить через справочник дополнительных отчетов.

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

Что подготовить перед запуском внешнего отчета

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

Перед открытием проверьте четыре вещи:

  • 📄 Отчет написан под вашу конфигурацию. Отчет для Бухгалтерии 3.0 обращается к её справочникам и регистрам. В ЗУП или УТ он откроется, но упадёт на первом же запросе к несуществующей таблице.
  • 🖥 Платформа не ниже той, в которой файл сохранён. Файл, сохранённый в более новой платформе, старая может не прочитать.
  • 🪟 Тип форм. Отчеты с обычными формами (старый интерфейс 8.2) в тонком клиенте не показывают форму. Для них нужен толстый клиент.
  • 🔑 Права пользователя. Интерактивное открытие внешних отчетов — отдельное право. У рядового пользователя типовой конфигурации его часто нет.

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

Как открыть внешний отчет в 1С через меню «Файл»

Это быстрый разовый способ. Подходит, чтобы проверить отчет или запустить его раз в квартал.

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

После закрытия окна отчет из базы исчезает. В следующий раз всё повторяется: снова меню, снова поиск файла.

💡 Если файл лежит на общем сетевом диске, коллеги будут открывать одну и ту же версию. Это проще, чем рассылать отчет по почте и потом выяснять, у кого старая копия.

Если отчет нужен каждую неделю или им пользуются несколько человек, разовый способ быстро надоедает. Тогда отчет стоит зарегистрировать в программе.

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

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

Включить механизм

  1. Откройте Администрирование → Печатные формы, отчеты и обработки.
  2. Установите флажок «Дополнительные отчеты и обработки».
  3. Рядом станет активной одноимённая ссылка — перейдите по ней.

Добавить отчет

  1. В списке нажмите «Добавить из файла…» и выберите .erf.
  2. Подтвердите предупреждение о безопасности.
  3. В карточке проверьте вид — «Дополнительный отчет».
  4. Поле «Публикация» оставьте в значении «Используется».
  5. На закладке размещения укажите разделы, в которых отчет должен появиться (например, «Продажи» или «Склад»).
  6. Если нужно, задайте пользователей с быстрым доступом.
  7. Нажмите «Записать и закрыть».

Теперь отчет открывается из выбранного раздела через команду «Дополнительные отчеты».

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

Чем способы отличаются

СпособКогда подходитОграничения
Файл → ОткрытьРазовый запуск, проверка нового отчетаНужно право на интерактивное открытие, файл ищется каждый раз
Дополнительные отчетыРегулярная работа, много пользователейНужна функция регистрации в модуле, права на справочник
Конфигуратор + отладкаРазработка и поиск ошибокТолько для программиста, нужны права администратора
Командная строка или кодАвтоматический запуск, ярлык на рабочем столеТребует настройки и тестирования

Запуск и отладка внешнего отчета в Конфигураторе

Конфигуратор не запускает отчет напрямую. В нём файл открывают для правки, а выполняют в 1С:Предприятии, запущенном в режиме отладки.

  1. Откройте базу в Конфигураторе.
  2. Выберите Файл → Открыть и укажите тот же .erf.
  3. Откроется дерево внешнего отчета: модуль объекта, формы, макеты, схема компоновки.
  4. Поставьте точки останова в модуле (F9 на строке).
  5. Запустите отладку: Отладка → Начать отладку или F5. Откроется 1С:Предприятие.
  6. В запущенном окне откройте тот же файл через Файл → Открыть.
  7. Сформируйте отчет — выполнение остановится на точке останова, и в Конфигураторе можно смотреть значения переменных.

Отладчик срабатывает, только если в Предприятии открыт ровно тот файл, что открыт в Конфигураторе. Копия с другим путём или старая версия из «Загрузок» остановок не даст.

💡 После правки сохраните файл в Конфигураторе (Ctrl+S), закройте отчет в Предприятии и откройте заново. Открытый экземпляр изменений не подхватывает.

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

Как запустить внешний отчет из командной строки и программно

Ярлык с параметром /Execute

У файла запуска 1cv8.exe есть параметр /Execute, который после старта открывает внешнюю обработку . Пример ярлыка для файловой базы:

"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" ENTERPRISE /F"D:\Bases\Buh" /N"Иванов" /P"пароль" /Execute "D:\Reports\Zapusk.epf"

Для серверной базы вместо /F указывают /S"сервер\имябазы". Номер версии в пути подставьте свой.

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

Для отчета с обычными формами добавьте к строке /RunModeOrdinaryApplication — база запустится в толстом клиенте.

Открытие внешнего отчета из кода

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

&НаКлиенте
Процедура ОткрытьВнешнийОтчет(Команда)
    ИмяФайла = "D:\Reports\АнализОстатков.erf";
    Адрес = ПоместитьВоВременноеХранилище(Новый ДвоичныеДанные(ИмяФайла), УникальныйИдентификатор);
    ИмяОтчета = ПодключитьНаСервере(Адрес);
    ОткрытьФорму("ВнешнийОтчет." + ИмяОтчета + ".Форма");
КонецПроцедуры

&НаСервере
Функция ПодключитьНаСервере(Адрес)
    Возврат ВнешниеОтчеты.Подключить(Адрес, , Ложь);
КонецФункции

Третий параметр Ложь отключает безопасный режим. В безопасном режиме отчет не сможет работать с файлами, COM-объектами и привилегированными операциями. Оставляйте Истина, если отчет только читает данные.

Конструктор Новый ДвоичныеДанные(ИмяФайла) читает файл на компьютере пользователя. Для веб-клиента такой вариант не подойдёт: там файл выбирают через диалог и передают на сервер.

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

Права на запуск внешних отчетов и защита от опасных действий

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

Право на интерактивное открытие

В конфигурации это право задаётся на уровне корня в ролях: «Интерактивное открытие внешних отчетов» и, для обработок, «Интерактивное открытие внешних обработок». Без него при попытке открыть файл появляется Нарушение прав доступа!.

В типовых конфигурациях роли вручную не трогают. Права выдают через профили групп доступа:

  1. Откройте Администрирование → Настройки пользователей и прав → Группы доступа.
  2. Найдите или создайте группу на основе профиля, отвечающего за открытие внешних отчетов и обработок (в списке профилей он называется именно так).
  3. Добавьте в группу нужных пользователей.
  4. Пользователю нужно перезапустить программу.

Если давать такое право всем не хочется, регистрируйте отчет в справочнике дополнительных отчетов. Тогда пользователь открывает его из раздела, а право на открытие произвольных файлов остаётся только у администратора.

Защита от опасных действий

В платформе 8.3 у пользователя информационной базы есть флажок «Защита от опасных действий». При открытии внешнего отчета из файла платформа показывает предупреждение и ждёт подтверждения. Это не ошибка, а страховка.

Флажок находится в Конфигураторе: Администрирование → Пользователи, карточка пользователя. Снимать его ради удобства не стоит. Если окно мешает при регулярной работе, правильнее зарегистрировать отчет в программе.

Проверка доступа перед запуском отчета
Выполнено: 0 / 5

Почему внешний отчет не открывается: ошибки и решения

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

Если ничего не помогло

  1. Откройте тот же файл под администратором. Открылось — проблема в правах пользователя, а не в отчете.
  2. Откройте файл в Конфигураторе: если он не читается и там, файл повреждён при пересылке. Попросите прислать его в архиве.
  3. Запустите отладку и посмотрите, на какой строке модуля возникает исключение. Текст ошибки и номер строки — лучшее, что можно отправить разработчику.
  4. Проверьте, что отчет и база — одной конфигурации и близких релизов. После крупного обновления типовой базы внешние отчеты часто требуют правки.

Частые вопросы

Можно ли запустить внешний отчет двойным щелчком по файлу?
Нет. Файл .erf открывается только изнутри запущенной базы. Ассоциация с 1cv8.exe в Windows не поможет: программа не знает, в какую базу подключать отчет.
Сохраняются ли данные, если закрыть внешний отчет?
Отчет только читает данные базы и ничего не записывает. После закрытия окна пропадает лишь сформированная таблица. Её можно сохранить в Excel или PDF кнопкой сохранения в форме отчета.
Работает ли внешний отчет в веб-клиенте и в облаке?
В веб-клиенте отчет удобнее регистрировать в справочнике дополнительных отчетов. В облачных сервисах загрузка собственных файлов обычно ограничена правилами сервиса, и отчет может проходить проверку перед подключением.
Нужно ли заново подключать отчет после обновления конфигурации?
Зарегистрированный отчет остаётся в справочнике и после обновления. Но если в новом релизе переименовали регистры или реквизиты, отчет начнёт выдавать ошибки, и автору придётся его поправить.
Чем внешний отчет отличается от отчета в расширении?
Внешний отчет живёт в отдельном файле и подключается без изменения конфигурации. Отчет в расширении встраивается в интерфейс, как типовой, но расширение нужно устанавливать и обновлять отдельно.