Внешний отчет .erf: открыть, подключить к базе и отладить
Содержание
Чтобы запустить внешний отчет
в 1С 8.3, откройте главное меню программы (кнопка с тремя полосками в левом верхнем углу), выберите Файл → Открыть или нажмите Ctrl+O и укажите файл с расширением .erf. Отчет откроется сразу, без изменения конфигурации. Если программа ругается на права или файл не выбирается, отчет нужно подключить через справочник дополнительных отчетов.
Типичная ситуация: программист прислал файл «Анализ остатков.erf», бухгалтер дважды щёлкает по нему, а Windows не знает, чем его открыть. Внешний отчет не запускается сам по себе. Его открывают изнутри уже запущенной базы: разово через меню или постоянно, зарегистрировав в программе.
Что подготовить перед запуском внешнего отчета
Внешний отчет — это отдельный файл .erf, который хранится вне базы. Внешняя обработка выглядит так же, но имеет расширение .epf. Порядок запуска у них одинаковый, разница в назначении: отчет строит таблицу или диаграмму, обработка меняет данные.
Перед открытием проверьте четыре вещи:
- 📄 Отчет написан под вашу конфигурацию. Отчет для Бухгалтерии 3.0 обращается к её справочникам и регистрам. В ЗУП или УТ он откроется, но упадёт на первом же запросе к несуществующей таблице.
- 🖥 Платформа не ниже той, в которой файл сохранён. Файл, сохранённый в более новой платформе, старая может не прочитать.
- 🪟 Тип форм. Отчеты с обычными формами (старый интерфейс 8.2) в тонком клиенте не показывают форму. Для них нужен толстый клиент.
- 🔑 Права пользователя. Интерактивное открытие внешних отчетов — отдельное право. У рядового пользователя типовой конфигурации его часто нет.
Внешний отчет выполняет произвольный код с правами вашего пользователя. Открывайте только файлы из проверенных источников: «отчет» из чужого письма может удалить или изменить данные.
Как открыть внешний отчет в 1С через меню «Файл»
Это быстрый разовый способ. Подходит, чтобы проверить отчет или запустить его раз в квартал.
- Запустите базу в режиме 1С:Предприятие.
- Нажмите кнопку главного меню в левом верхнем углу окна.
- Выберите
Файл → Открыть(илиCtrl+O). - Найдите файл
.erfна диске или в сетевой папке и нажмите «Открыть». - Если появится предупреждение безопасности, прочитайте его и подтвердите открытие, только если доверяете файлу.
- В форме отчета задайте период, отборы и нажмите «Сформировать».
После закрытия окна отчет из базы исчезает. В следующий раз всё повторяется: снова меню, снова поиск файла.
💡 Если файл лежит на общем сетевом диске, коллеги будут открывать одну и ту же версию. Это проще, чем рассылать отчет по почте и потом выяснять, у кого старая копия.
Если отчет нужен каждую неделю или им пользуются несколько человек, разовый способ быстро надоедает. Тогда отчет стоит зарегистрировать в программе.
Подключение внешнего отчета через «Дополнительные отчеты и обработки»
В типовых конфигурациях на Библиотеке стандартных подсистем (Бухгалтерия 3.0, ЗУП 3.1, УТ 11, Комплексная автоматизация) есть механизм постоянного подключения. Отчет загружается в базу один раз и потом открывается из нужного раздела, как типовой.
Включить механизм
- Откройте
Администрирование → Печатные формы, отчеты и обработки. - Установите флажок «Дополнительные отчеты и обработки».
- Рядом станет активной одноимённая ссылка — перейдите по ней.
Добавить отчет
- В списке нажмите «Добавить из файла…» и выберите
.erf. - Подтвердите предупреждение о безопасности.
- В карточке проверьте вид — «Дополнительный отчет».
- Поле «Публикация» оставьте в значении «Используется».
- На закладке размещения укажите разделы, в которых отчет должен появиться (например, «Продажи» или «Склад»).
- Если нужно, задайте пользователей с быстрым доступом.
- Нажмите «Записать и закрыть».
Теперь отчет открывается из выбранного раздела через команду «Дополнительные отчеты».
Так можно подключить не любой файл. Отчет должен содержать в модуле объекта экспортную функцию СведенияОВнешнейОбработке() — она сообщает программе вид, версию и место размещения. Если её нет, программа откажется регистрировать файл. Тогда остаётся способ через «Файл → Открыть» или доработка отчета программистом.
Чем способы отличаются
| Способ | Когда подходит | Ограничения |
|---|---|---|
Файл → Открыть | Разовый запуск, проверка нового отчета | Нужно право на интерактивное открытие, файл ищется каждый раз |
| Дополнительные отчеты | Регулярная работа, много пользователей | Нужна функция регистрации в модуле, права на справочник |
| Конфигуратор + отладка | Разработка и поиск ошибок | Только для программиста, нужны права администратора |
| Командная строка или код | Автоматический запуск, ярлык на рабочем столе | Требует настройки и тестирования |
Запуск и отладка внешнего отчета в Конфигураторе
Конфигуратор не запускает отчет напрямую. В нём файл открывают для правки, а выполняют в 1С:Предприятии, запущенном в режиме отладки.
- Откройте базу в Конфигураторе.
- Выберите
Файл → Открытьи укажите тот же.erf. - Откроется дерево внешнего отчета: модуль объекта, формы, макеты, схема компоновки.
- Поставьте точки останова в модуле (
F9на строке). - Запустите отладку:
Отладка → Начать отладкуилиF5. Откроется 1С:Предприятие. - В запущенном окне откройте тот же файл через
Файл → Открыть. - Сформируйте отчет — выполнение остановится на точке останова, и в Конфигураторе можно смотреть значения переменных.
Отладчик срабатывает, только если в Предприятии открыт ровно тот файл, что открыт в Конфигураторе. Копия с другим путём или старая версия из «Загрузок» остановок не даст.
💡 После правки сохраните файл в Конфигураторе (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С, можно обойтись без временного хранилища: ВнешниеОтчеты.Создать(ПолноеИмяФайла, Ложь) вызывается на сервере и возвращает объект отчета. Путь в этом случае указывают так, как его видит служба сервера, а не пользователь.
Права на запуск внешних отчетов и защита от опасных действий
Отчет может не открыться, даже если файл исправен. Обычно мешает одна из двух настроек.
Право на интерактивное открытие
В конфигурации это право задаётся на уровне корня в ролях: «Интерактивное открытие внешних отчетов» и, для обработок, «Интерактивное открытие внешних обработок». Без него при попытке открыть файл появляется Нарушение прав доступа!.
В типовых конфигурациях роли вручную не трогают. Права выдают через профили групп доступа:
- Откройте
Администрирование → Настройки пользователей и прав → Группы доступа. - Найдите или создайте группу на основе профиля, отвечающего за открытие внешних отчетов и обработок (в списке профилей он называется именно так).
- Добавьте в группу нужных пользователей.
- Пользователю нужно перезапустить программу.
Если давать такое право всем не хочется, регистрируйте отчет в справочнике дополнительных отчетов. Тогда пользователь открывает его из раздела, а право на открытие произвольных файлов остаётся только у администратора.
Защита от опасных действий
В платформе 8.3 у пользователя информационной базы есть флажок «Защита от опасных действий». При открытии внешнего отчета из файла платформа показывает предупреждение и ждёт подтверждения. Это не ошибка, а страховка.
Флажок находится в Конфигураторе: Администрирование → Пользователи, карточка пользователя. Снимать его ради удобства не стоит. Если окно мешает при регулярной работе, правильнее зарегистрировать отчет в программе.
Почему внешний отчет не открывается: ошибки и решения
Если ничего не помогло
- Откройте тот же файл под администратором. Открылось — проблема в правах пользователя, а не в отчете.
- Откройте файл в Конфигураторе: если он не читается и там, файл повреждён при пересылке. Попросите прислать его в архиве.
- Запустите отладку и посмотрите, на какой строке модуля возникает исключение. Текст ошибки и номер строки — лучшее, что можно отправить разработчику.
- Проверьте, что отчет и база — одной конфигурации и близких релизов. После крупного обновления типовой базы внешние отчеты часто требуют правки.