Внешний отчёт в 1С 8.3: файл .erf, подключение и разработка

· 9 мин

Содержание

Внешний отчёт в 1С — это отдельный файл с расширением .erf, который лежит вне конфигурации и подключается к базе по требованию. Открыть его можно двумя способами: разово через меню Файл → Открыть или постоянно — через справочник «Дополнительные отчёты и обработки». Первый подходит для проверки, второй — для работы всего отдела.

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

Для чего нужны внешние отчёты и чем они отличаются от встроенных

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

Отсюда плюсы:

  • 🔧 Не нужна доработка конфигурации. Конфигурация остаётся на поддержке, релизы ставятся без объединения.
  • 📨 Быстрая раздача. Файл отправили — отчёт подключили.
  • 🧪 Удобно отлаживать. Правите файл и сразу видите результат, не обновляя конфигурацию базы данных.
  • 🔁 Один отчёт на несколько баз. Если структура данных одинакова, файл работает в разных базах.

И минусы, о которых молчат реже:

  • ⚠️ Отчёт зависит от метаданных. Переименовали реквизит или справочник в конфигурации — отчёт перестал формироваться.
  • ⚠️ Внутри файла может быть произвольный код. Об этом отдельный раздел ниже.
  • ⚠️ Для файла нужен учёт: кто его делал, какая версия, где лежит оригинал.

Рядом с внешними отчётами живут внешние обработки (файл .epf). Они устроены так же, но не строят отчёт, а выполняют действия: загружают данные, меняют документы пакетом, печатают формы. Подключение одно и то же.

Какие бывают внешние отчёты

Условно их делят по способу построения и по тому, где они подключены.

ВидКак устроенКогда выбирают
На схеме компоновки данных (СКД)Запрос и настройки вывода лежат в схеме, пользователь меняет отбор и группировки самПочти всегда: быстро делается, гибко настраивается
С собственной формой и кодомДанные собирает код, табличный документ заполняется вручнуюНестандартный вывод, сложные расчёты, диаграммы
Печатная форма документаПодключается как «Печатная форма» в самом документеНужна своя форма счёта, акта, накладной
Дополнительный отчёт с настройкой командРегистрирует свои команды в разделе программыОтчёт должен появиться в нужном разделе, а не только в списке

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

Где взять готовые внешние отчёты

Источники по убыванию надёжности:

  1. Свой программист или обслуживающая организация. Вы знаете, кто отвечает за код.
  2. Партнёры 1С и специализированные форумы. Проверяйте репутацию автора и читайте обсуждение: если файл «чудит», это быстро видно по комментариям.
  3. Разделы поддержки на сайтах сообществ. Часто выкладывают исходники — можно прочитать код до запуска.
  4. Случайные файлообменники. Не берите. Не из-за качества отчёта, а из-за риска чужого кода.

Что проверить до запуска:

  • под какую конфигурацию и релиз написан отчёт (БП 3.0, ЗУП 3.1, УТ 11 — это разные структуры данных);
  • есть ли описание, что именно он читает и куда пишет;
  • распространяется ли он как готовый .erf или есть исходники.

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

Отчёт, написанный под БП 3.0, в ЗУП не заработает, даже если в нём всего один запрос: названия регистров и справочников разные. Смотрите не на «1С», а на конкретную конфигурацию.

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

Способ 1. Открыть файл разово

Подходит, чтобы посмотреть отчёт или проверить, работает ли он у вас.

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

После закрытия окна отчёт «забывается». Завтра его снова придётся открывать с диска.

Если в меню нет пункта «Файл → Открыть», а в профиле запрещены внешние файлы, это настройка прав. Её меняет администратор, а не вы.

Способ 2. Подключить через справочник

Работает в конфигурациях на библиотеке стандартных подсистем (БСП): Бухгалтерия предприятия 3.0, ЗУП 3.1, Управление торговлей 11 и другие типовые.

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

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

Основная польза способа — отчёт хранится в базе. Файл на диске уже не нужен, обновить версию можно кнопкой «Обновить из файла ».

Для разных отчётов заведите правило именования версий: Отчёт_Остатки_v1_2.erf. Тогда видно, что и когда загружали.

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

Нужны платформа 1С:Предприятие 8.3 и доступ к конфигуратору. Знания языка запросов 1С понадобятся — без них отчёт не соберёте.

Шаг 1. Новый файл

В конфигураторе выберите Файл → Новый → Внешний отчёт. Появится окно с корнем и вкладками. Сразу сохраните файл на диск: Файл → Сохранить. Платформа запишет .erf.

Шаг 2. Схема компоновки данных

  1. В дереве правой кнопкой по «Макеты» (или по самому отчёту) выберите «Добавить схему компоновки данных».
  2. Запустится мастер. Оставьте предложенное имя.
  3. На вкладке «Набор данных» добавьте набор данных — запрос.
  4. Откройте «Конструктор запроса» и выберите таблицы. Например, регистр накопления «Товары на складах» и поля «Номенклатура», «Склад», «ВНаличииОстаток».
  5. На вкладке «Настройки» добавьте группировки и выбранные поля.

Шаг 3. Основная схема в свойствах отчёта

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

Шаг 4. Проверка

Запустите отладку: Отладка → Начать отладку (клавиша F5). Платформа откроет базу и сразу покажет ваш отчёт. Сформируйте его, проверьте цифры на контрольном примере.

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

Шаг 5. Сохранение и передача

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

Если нужен свой код

Когда СКД не хватает, создайте форму отчёта и в обработчиках пишите код сами. Пример запроса для вывода остатков:

Запрос = Новый Запрос;
Запрос.Текст =
	"ВЫБРАТЬ
	|	ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
	|	ТоварыНаСкладахОстатки.Склад КАК Склад,
	|	ТоварыНаСкладахОстатки.ВНаличииОстаток КАК Остаток
	|ИЗ
	|	РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки";
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл
	// Здесь вывод строки в табличный документ
КонецЦикла;

Имена регистра и полей выше — условный пример. У вас они определяются конфигурацией; проверяйте их в дереве метаданных.

Типичные ошибки и что с ними делать

Здесь только то, чего нет в шагах выше.

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

Безопасность внешних отчётов

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

Что делать, чтобы не нарваться:

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

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

Как вести внешние отчёты, чтобы через год в них не запутаться

Пока отчётов два, всё помнится. Когда их двадцать, начинается путаница: какая версия в работе, кто правил, почему цифры не сходятся.

Рабочая практика небольших отделов:

  • 📁 Единая папка-хранилище. Один каталог на сервере, куда складываются исходные .erf и отдельно рабочие копии.
  • 🏷 Версия в имени файла и в наименовании элемента справочника. Видно, что загружено сейчас.
  • 📝 Короткое описание. Что отчёт делает, из каких таблиц читает, для какой конфигурации и релиза написан. Хватит трёх строк в поле «Комментарий» элемента справочника.
  • 🔍 Контрольный пример. Одно число, которое вы знаете точно: остаток по складу, оборот по счёту. После каждого обновления конфигурации сверяйте его.
  • 👤 Ответственный. У каждого отчёта должен быть человек, к которому идут с вопросом.

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

Что выбрать: разовое открытие, справочник или доработка конфигурации

Как вам нужен отчёт?

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

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