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