К статье
Практический материал

Отчеты и Аналитика · 11 мин

Как сделать внешний отчет в 1С

Пошаговая инструкция: как создать внешний отчет 1С на СКД, подключить его к типовой конфигурации, настроить варианты, права и проверить результат.

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

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

Инструкция ориентирована на конфигурации на управляемых формах (Управление торговлей, ERP, Бухгалтерия предприятия, ЗУП) и платформу 1С:Предприятие 8.3. Для работы понадобятся права разработчика или доступ к конфигуратору, а также права на добавление дополнительных отчетов в режиме 1С:Предприятие.

Когда внешний отчет — правильный выбор, а когда нет

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

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

Способы добавить отчет в 1С

Внешний отчет (.erf)

Быстро, без изменения конфигурации. Минус: файл хранится отдельно, сложнее контролировать версии и распространять обновления.

Расширение конфигурации

Централизованное обновление, отчет виден всем. Минус: требует аккуратности при обновлении конфигурации и проверки совместимости.

Доработка конфигурации

Полная интеграция. Минус: снимает объекты с полной поддержки, усложняет обновления — применять только при реальной необходимости.

Подготовка: что нужно перед созданием отчета

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

Проверьте права: для создания файла нужен конфигуратор, для подключения — роль «Добавление и изменение дополнительных отчетов и обработок» (в типовых конфигурациях она обычно есть у администратора). Если отчет будет обращаться к данным, к которым у пользователей нет прав, в пользовательском режиме они увидят пустой результат или ошибку — это нужно учесть заранее и обсудить с администратором.

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

Создание внешнего отчета в конфигураторе

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

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

Добавление схемы компоновки данных

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

Конструктор запроса удобен тем, кто плохо помнит синтаксис: выберите таблицы слева, перетащите поля, задайте условия и итоги. Для отчета по продажам типичный запрос обращается к виртуальной таблице оборотов регистра накопления, например «Продажи.Обороты», с параметрами начала и конца периода.

bsl
ВЫБРАТЬ
	ПродажиОбороты.Номенклатура КАК Номенклатура,
	ПродажиОбороты.Менеджер КАК Менеджер,
	СУММА(ПродажиОбороты.СуммаОборот) КАК СуммаПродаж
ИЗ
	РегистрНакопления.Продажи.Обороты(&НачалоПериода, &КонецПериода, , ) КАК ПродажиОбороты
СГРУППИРОВАТЬ ПО
	ПродажиОбороты.Номенклатура,
	ПродажиОбороты.Менеджер

Настройка ресурсов, параметров и вариантов

На закладке «Ресурсы» отметьте поля, которые будут суммироваться (например, СуммаПродаж) — без этого итоги по группировкам не посчитаются. На закладке «Параметры» проверьте параметры периода: для удобства пользователя задайте им заголовки «Начало периода» и «Конец периода» и при необходимости включите автозаполнение стандартным периодом.

На закладке «Настройки» создайте вариант отчета: добавьте группировку (например, по менеджеру, внутри — по номенклатуре), поместите ресурс в выбранные поля, задайте отборы. Вариантов может быть несколько — пользователь переключится между ними кнопкой «Выбрать вариант» в режиме предприятия.

Порядок создания отчета
  1. 1
    Создайте внешний отчет через «Файл → Новый» и сохраните файл .erf
  2. 2
    Откройте основную схему компоновки данных и добавьте набор данных «Запрос»
  3. 3
    Напишите запрос к нужным таблицам через конструктор запроса
  4. 4
    На закладке «Ресурсы» отметьте суммируемые поля
  5. 5
    На закладке «Настройки» создайте вариант с группировками и отборами
  6. 6
    Сохраните файл и проверьте отчет на тестовой базе

Подключение отчета к конфигурации

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

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

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

Проверка результата и типичные проблемы

Сформируйте отчет на коротком периоде с отбором по одному понятному объекту — например, по одному менеджеру, данные по которому легко сверить с типовым отчетом. Совпадение сумм с типовым отчетом за тот же период — главный признак корректного запроса. Расхождение обычно означает разницу в виртуальных таблицах (обороты против остатков), в отборах по организации или в учете движений по корректировкам.

Если отчет формируется пустым, проверьте по порядку: права пользователя на читаемые объекты, параметры периода (частая ошибка — перепутанные границы), отборы, перенесенные из варианта. Если платформа выдает ошибку компоновки, откройте схему в конфигураторе и проверьте имена полей — после обновления конфигурации поле могло быть переименовано.

Контрольные точки

Как проверить результат

Суммы за тестовый период
Норма

Совпадают с типовым отчетом по тем же данным

Тревожный признак

Расходятся — проверьте виртуальную таблицу и отборы запроса

Время формирования
Норма

Отчет строится за секунды на типичном периоде

Тревожный признак

Долгое формирование — добавьте обязательные отборы или индексируемые условия

Права пользователей
Норма

У рядового пользователя отчет открывается и показывает данные

Тревожный признак

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

Типичные ошибки при разработке внешних отчетов

Самая частая ошибка — запрос к таблице документов вместо регистров. Документы хранят шапки и табличные части, но аналитические итоги быстрее и правильнее брать из регистров накопления и сведений: именно туда документы пишут движения. Вторая распространенная проблема — отсутствие ресурсов в СКД: поля выведены, а итоги по группировкам пустые, потому что на закладке «Ресурсы» ничего не отмечено.

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

Типичные ошибки
01
Запрос к документам вместо регистров — медленный отчет и неверные итоги
02
Не отмечены ресурсы в СКД — итоги по группировкам пустые
03
Нет обязательного параметра периода — тяжелый запрос нагружает рабочую базу
04
Добавление новой версии как отдельного объекта — дубли в списке отчетов
05
Игнорирование прав пользователей — у части сотрудников отчет пустой или недоступен

FAQ: частые вопросы о внешних отчетах 1С

Можно ли сделать внешний отчет без доступа к конфигуратору?

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

Пропадет ли внешний отчет при обновлении конфигурации?

Сам файл в списке дополнительных отчетов не пропадет — он хранится в базе, а не в конфигурации. Но при обновлении могут переименоваться объекты и поля, к которым обращается запрос: тогда отчет начнет выдавать ошибку и потребует правки схемы компоновки.

Чем внешний отчет отличается от внешней обработки?

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

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

Используйте профили групп доступа: уберите у лишних ролей право на конкретный дополнительный отчет или на всю подсистему дополнительных отчетов. Дополнительно запрос внутри отчета работает в рамках прав пользователя — данные, к которым у него нет доступа, он не увидит.

Можно ли в внешнем отчете вывести печатную форму?

Да. В модуле объекта отчета описывается формирование табличного документа программно, либо используется макет табличного документа. Но если задача — именно печатная форма документа, правильнее создать внешнюю печатную форму через механизм дополнительных печатных форм, а не отчет.

Почему отчет в конфигураторе работает, а у пользователя пустой?

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

Итог

Что важно запомнить

Внешний отчет — файл .erf на СКД, который подключается без изменения конфигурации. Порядок прост: запрос к регистрам, ресурсы, вариант настроек, подключение через «Дополнительные отчеты и обработки». Тестируйте на копии, ограничивайте период и сверяйте итоги с типовым отчетом — это защищает и данные, и производительность базы.