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

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

Как добавить отчет в расширение конфигурации 1С

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

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

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

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

Когда отчет нужно добавлять именно через расширение

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

Если же отчет нужен разово или только одному сотруднику, проще открыть внешний отчет через «Файл → Открыть» и не создавать расширение вовсе. Расширение требует прав разработчика и понимания структуры метаданных, поэтому для разовых задач оно избыточно.

Важное ограничение: расширения работают только в режиме совместимости, где они поддерживаются платформой, и не позволяют изменять некоторые объекты (например, планы обмена имеют ограничения). Для отчетов это почти никогда не проблема — отчеты добавляются в расширения без ограничений.

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

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

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

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

Создание отчета на СКД внутри расширения

Откройте конфигуратор, перейдите в меню «Конфигурация → Расширения конфигурации» и создайте новое расширение. Задайте имя, префикс (он будет добавляться к именам объектов) и назначение «Дополнение». После создания расширение откроется в отдельном окне конфигурации.

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

На вкладке «Настройки» СКД сформируйте вариант отчета по умолчанию: группировки, выбранные поля, порядок. Если нужен программный код (при компоновке результата, обработчики событий), создайте модуль объекта отчета через кнопку «Модуль объекта» в палитре свойств.

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

Размещение отчета в интерфейсе: подсистемы и команды

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

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

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

Альтернатива: подключение внешнего отчета без конфигуратора

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

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

Этот способ быстрее и не требует обновления конфигурации БД, но имеет ограничения: внешний отчет хранится в данных, а не в метаданных, сложнее контролируется при обновлениях и требует корректно заполненной функции сведений в модуле объекта. Для долгоживущих корпоративных отчетов расширение надежнее.

Два способа добавить отчет

Отчет в расширении конфигурации

Подходит для постоянных отчетов с контролем прав и подсистем. Требует конфигуратор и обновление конфигурации БД, но устойчив к обновлениям типовой.

Внешний отчет через «Дополнительные отчеты и обработки»

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

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

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

Если отчет открывается, но падает с ошибкой компоновки, чаще всего причина в запросе СКД: обращение к полю, которого нет в выборке, неверный тип параметра или обращение к объекту, недоступному в расширении. Текст ошибки в окне сообщений указывает на конкретное поле или параметр.

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

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

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

Видимость в интерфейсе
Норма

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

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

Отчета нет в разделе — проверьте подсистемы и права

Формирование
Норма

Отчет строится, итоги сходятся с данными регистров

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

Ошибка компоновки или пустой результат при заведомо имеющихся данных

После обновления типовой
Норма

Расширение активно, отчет работает

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

Расширение отключено — смотрите диагностику в списке расширений

FAQ: частые вопросы о добавлении отчетов в расширение

Можно ли изменить типовой отчет через расширение, а не создавать новый?

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

Почему расширение отключилось после обновления конфигурации?

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

Нужно ли перезапускать сеансы пользователей после добавления отчета?

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

Можно ли добавить в расширение отчет, написанный без СКД, на чистом запросе?

Можно. Создайте отчет без основной схемы компоновки и реализуйте формирование программно в модуле объекта или формы отчета, выводя результат в табличный документ. Это дает полную гибкость, но лишает пользователя настроек СКД «из коробки».

Как перенести отчет из расширения в другую базу?

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

Итог

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

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