Отчеты и Аналитика · 11 мин
Как сделать внешний отчет в 1С
Пошаговая инструкция: как создать внешний отчет 1С на СКД, подключить его к типовой конфигурации, настроить варианты, права и проверить результат.
Внешний отчет в 1С — это файл с расширением .erf, который работает внутри конфигурации, но не требует её изменения. Такой подход незаменим, когда типовой отчет не показывает нужные данные, а дорабатывать конфигурацию нельзя: она на поддержке, обновляется автоматически или изменения запрещены политикой компании. Внешний отчет подключается через стандартный механизм «Дополнительные отчеты и обработки» и ведет себя как обычный отчет конфигурации.
Создание внешнего отчета занимает от получаса до нескольких часов в зависимости от сложности запроса. Основной инструмент — система компоновки данных (СКД): она позволяет описать источник данных запросом, а настройки группировок, отборов и оформления отдать пользователю без программирования. Ниже разобран полный цикл: от создания файла в конфигураторе до подключения в пользовательском режиме и проверки результата.
Инструкция ориентирована на конфигурации на управляемых формах (Управление торговлей, ERP, Бухгалтерия предприятия, ЗУП) и платформу 1С:Предприятие 8.3. Для работы понадобятся права разработчика или доступ к конфигуратору, а также права на добавление дополнительных отчетов в режиме 1С:Предприятие.
Когда внешний отчет — правильный выбор, а когда нет
Внешний отчет оправдан, если нужен новый разрез существующих данных: продажи по менеджерам с нестандартной группировкой, остатки с дополнительными колонками, свод по документам за произвольный период. Он также подходит, когда отчет нужен «здесь и сейчас» для одного подразделения, а включать его в состав конфигурации не планируется.
Есть ситуации, где внешний отчет — плохое решение. Если отчет нужен всем пользователям постоянно и является частью бизнес-процесса, лучше добавить его в расширение конфигурации: так он будет обновляться централизованно и не потеряется при чистке списка дополнительных отчетов. Внешний отчет не подходит и тогда, когда требуется сложная интерактивная форма с собственными командами и обработчиками — там надежнее расширение или доработка конфигурации.
Способы добавить отчет в 1С
Быстро, без изменения конфигурации. Минус: файл хранится отдельно, сложнее контролировать версии и распространять обновления.
Централизованное обновление, отчет виден всем. Минус: требует аккуратности при обновлении конфигурации и проверки совместимости.
Полная интеграция. Минус: снимает объекты с полной поддержки, усложняет обновления — применять только при реальной необходимости.
Подготовка: что нужно перед созданием отчета
Перед началом работы определите, из каких таблиц будут браться данные. Откройте типовой отчет, близкий по смыслу, и посмотрите структуру его запроса, либо изучите метаданные в конфигураторе: регистры накопления и сведений, документы, справочники. Запишите точные имена объектов и полей — ошибка в имени поля на этапе запроса остановит весь отчет.
Проверьте права: для создания файла нужен конфигуратор, для подключения — роль «Добавление и изменение дополнительных отчетов и обработок» (в типовых конфигурациях она обычно есть у администратора). Если отчет будет обращаться к данным, к которым у пользователей нет прав, в пользовательском режиме они увидят пустой результат или ошибку — это нужно учесть заранее и обсудить с администратором.
Работайте на копии базы или в тестовой среде. Сам по себе внешний отчет данные не портит — он только читает их, — но тяжелый запрос с соединениями больших таблиц способен заметно нагрузить рабочую базу, если запустить его без отборов на большом периоде.
Создание внешнего отчета в конфигураторе
Откройте конфигуратор и выполните «Файл → Новый → Внешний отчет». Задайте имя (латиницей, без пробелов — оно станет именем объекта) и синоним (его увидят пользователи). Сохраните файл с расширением .erf в рабочую папку. На этом этапе отчет пуст: у него нет ни данных, ни формы.
Для отчета на СКД форма создавать не обязательна — платформа сгенерирует её автоматически. Это стандартный путь: форма понадобится только если нужны нестандартные элементы управления или программная логика при формировании.
Добавление схемы компоновки данных
В дереве объекта откройте «Основная схема компоновки данных» — платформа предложит создать новую схему. Откроется конструктор СКД с закладками «Наборы данных», «Связи», «Ресурсы», «Параметры», «Настройки». Основная работа идет на первой закладке: добавьте набор данных типа «Запрос» и впишите текст запроса вручную или через конструктор запроса.
Конструктор запроса удобен тем, кто плохо помнит синтаксис: выберите таблицы слева, перетащите поля, задайте условия и итоги. Для отчета по продажам типичный запрос обращается к виртуальной таблице оборотов регистра накопления, например «Продажи.Обороты», с параметрами начала и конца периода.
ВЫБРАТЬ
ПродажиОбороты.Номенклатура КАК Номенклатура,
ПродажиОбороты.Менеджер КАК Менеджер,
СУММА(ПродажиОбороты.СуммаОборот) КАК СуммаПродаж
ИЗ
РегистрНакопления.Продажи.Обороты(&НачалоПериода, &КонецПериода, , ) КАК ПродажиОбороты
СГРУППИРОВАТЬ ПО
ПродажиОбороты.Номенклатура,
ПродажиОбороты.МенеджерНастройка ресурсов, параметров и вариантов
На закладке «Ресурсы» отметьте поля, которые будут суммироваться (например, СуммаПродаж) — без этого итоги по группировкам не посчитаются. На закладке «Параметры» проверьте параметры периода: для удобства пользователя задайте им заголовки «Начало периода» и «Конец периода» и при необходимости включите автозаполнение стандартным периодом.
На закладке «Настройки» создайте вариант отчета: добавьте группировку (например, по менеджеру, внутри — по номенклатуре), поместите ресурс в выбранные поля, задайте отборы. Вариантов может быть несколько — пользователь переключится между ними кнопкой «Выбрать вариант» в режиме предприятия.
- 1Создайте внешний отчет через «Файл → Новый» и сохраните файл .erf
- 2Откройте основную схему компоновки данных и добавьте набор данных «Запрос»
- 3Напишите запрос к нужным таблицам через конструктор запроса
- 4На закладке «Ресурсы» отметьте суммируемые поля
- 5На закладке «Настройки» создайте вариант с группировками и отборами
- 6Сохраните файл и проверьте отчет на тестовой базе
Подключение отчета к конфигурации
В режиме 1С:Предприятие откройте «Администрирование → Печатные формы, отчеты и обработки» и включите флажок «Дополнительные отчеты и обработки», если он еще не включен. Перейдите по ссылке «Дополнительные отчеты и обработки», нажмите «Добавить из файла» и выберите сохраненный .erf. Платформа может предупредить о безопасности — подтвердите загрузку, если файл ваш.
После добавления откройте карточку отчета и укажите размещение: в каких разделах интерфейса он появится (например, «Продажи» или «Отчеты»). Проверьте команду быстрого доступа — по умолчанию отчет доступен пользователям с соответствующими правами. При необходимости ограничьте видимость настройкой прав на дополнительные отчеты.
Если конфигурация не содержит подсистему дополнительных отчетов (редкие или сильно переписанные решения), файл можно открыть напрямую через «Файл → Открыть» — отчет сформируется, но в интерфейсе закреплен не будет.
Проверка результата и типичные проблемы
Сформируйте отчет на коротком периоде с отбором по одному понятному объекту — например, по одному менеджеру, данные по которому легко сверить с типовым отчетом. Совпадение сумм с типовым отчетом за тот же период — главный признак корректного запроса. Расхождение обычно означает разницу в виртуальных таблицах (обороты против остатков), в отборах по организации или в учете движений по корректировкам.
Если отчет формируется пустым, проверьте по порядку: права пользователя на читаемые объекты, параметры периода (частая ошибка — перепутанные границы), отборы, перенесенные из варианта. Если платформа выдает ошибку компоновки, откройте схему в конфигураторе и проверьте имена полей — после обновления конфигурации поле могло быть переименовано.
Как проверить результат
Совпадают с типовым отчетом по тем же данным
Расходятся — проверьте виртуальную таблицу и отборы запроса
Отчет строится за секунды на типичном периоде
Долгое формирование — добавьте обязательные отборы или индексируемые условия
У рядового пользователя отчет открывается и показывает данные
Пустой отчет или ошибка доступа — не хватает ролей на объекты запроса
Типичные ошибки при разработке внешних отчетов
Самая частая ошибка — запрос к таблице документов вместо регистров. Документы хранят шапки и табличные части, но аналитические итоги быстрее и правильнее брать из регистров накопления и сведений: именно туда документы пишут движения. Вторая распространенная проблема — отсутствие ресурсов в СКД: поля выведены, а итоги по группировкам пустые, потому что на закладке «Ресурсы» ничего не отмечено.
Третья группа ошибок связана с эксплуатацией: отчет тестировался на копии, а в рабочей базе у пользователей нет прав на регистр; файл обновили, добавив новый объект вместо загрузки версии; в запросе нет ограничения периода, и первый же запуск «за всё время» подвесил сеанс. Все три ситуации предотвращаются дисциплиной: тест на копии, проверка прав, обязательные параметры периода.
FAQ: частые вопросы о внешних отчетах 1С
Можно ли сделать внешний отчет без доступа к конфигуратору?
Нет, файл .erf создается только в конфигураторе. Однако если конфигурация содержит универсальный отчет или консоль СКД, иногда удается обойтись настройкой существующего отчета и сохранением пользовательского варианта — это не требует разработки вообще.
Пропадет ли внешний отчет при обновлении конфигурации?
Сам файл в списке дополнительных отчетов не пропадет — он хранится в базе, а не в конфигурации. Но при обновлении могут переименоваться объекты и поля, к которым обращается запрос: тогда отчет начнет выдавать ошибку и потребует правки схемы компоновки.
Чем внешний отчет отличается от внешней обработки?
Отчет (.erf) предназначен для вывода данных и обычно строится на СКД. Обработка (.epf) выполняет действия: загрузку, изменение данных, пакетные операции. Обработка с кодом, изменяющим данные, требует особой осторожности и обязательного теста на копии базы.
Как ограничить доступ к внешнему отчету?
Используйте профили групп доступа: уберите у лишних ролей право на конкретный дополнительный отчет или на всю подсистему дополнительных отчетов. Дополнительно запрос внутри отчета работает в рамках прав пользователя — данные, к которым у него нет доступа, он не увидит.
Можно ли в внешнем отчете вывести печатную форму?
Да. В модуле объекта отчета описывается формирование табличного документа программно, либо используется макет табличного документа. Но если задача — именно печатная форма документа, правильнее создать внешнюю печатную форму через механизм дополнительных печатных форм, а не отчет.
Почему отчет в конфигураторе работает, а у пользователя пустой?
Почти всегда причина в правах: в конфигураторе вы проверяете под полными правами, а у пользователя нет доступа к регистру или справочнику из запроса. Вторая возможная причина — сохраненный у пользователя вариант настроек с отбором, который отсекает все данные: сбросьте настройки кнопкой «Стандартные настройки».
Что важно запомнить
Внешний отчет — файл .erf на СКД, который подключается без изменения конфигурации. Порядок прост: запрос к регистрам, ресурсы, вариант настроек, подключение через «Дополнительные отчеты и обработки». Тестируйте на копии, ограничивайте период и сверяйте итоги с типовым отчетом — это защищает и данные, и производительность базы.