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