Как добавить внешний отчет в раздел "Продажи - Отчеты" в УТ 11?

Программист 1С v8.3 (Управляемые формы) 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

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

Можно ли добавить отчет совсем без программирования?

Проанализируем ситуацию: мы создали внешний отчет в формате файла и хотим загрузить его через справочник ДополнительныеОтчетыИОбработки. Если мы попытаемся просто добавить файл отчета, система выдаст ошибку вида: "Невозможно подключить дополнительный отчет из файла. Возможно, он не подходит для этой версии программы".

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

Подготовка отчета: пишем код регистрации

Откроем наш внешний отчет в Конфигураторе и перейдем в Модуль объекта. Нам необходимо добавить экспортную функцию СведенияОВнешнейОбработке. Рассмотрим подробнее, как она должна выглядеть в современных версиях УТ 11 на базе актуальных релизов БСП:


Функция СведенияОВнешнейОбработке() Экспорт
	
    ВерсияБСП = СтандартныеПодсистемыСервер.ВерсияБиблиотеки();
    ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке(ВерсияБСП);
    
    ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительныйОтчет;
    ПараметрыРегистрации.Версия = "1.0";
    ПараметрыРегистрации.БезопасныйРежим = Истина;
    
    // Интеграция в панель вариантов отчетов
    ПараметрыРегистрации.Вставить("ХранилищеВариантов", "ХранилищеВариантовОтчетов");
    
    НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
    НоваяКоманда.Представление = НСтр("ru = 'Отчёт по номенклатуре'");
    НоваяКоманда.Идентификатор = "ОтчетПоНоменклатуре";
    НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы;
    НоваяКоманда.ПоказыватьОповещение = Истина;
    
    Возврат ПараметрыРегистрации;
    
КонецФункции

Разберем основные моменты в этом коде:

  1. Мы используем системную функцию ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке(), которая сама формирует правильную структуру нужного формата. Использовать устаревший метод с ручным созданием структуры Новый Структура крайне не рекомендуется.
  2. Переменная БезопасныйРежим имеет значение Истина. Однако, если ваш отчет выполняет сложные операции (обращается к внешним файлам, использует COM-соединения и т.д.), этот параметр необходимо установить в Ложь, иначе платформа заблокирует его работу.
  3. Добавление параметра ХранилищеВариантовОтчетов позволяет нашему внешнему отчету сохранять пользовательские настройки точно так же, как это делают типовые отчеты.

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

Регистрация в режиме 1С:Предприятие

Теперь посмотрим на шаги, которые необходимо выполнить в пользовательском режиме 1С:

  1. Переходим в раздел НСИ и администрирование (или Администрирование) — Печатные формы, отчеты и обработки.
  2. Открываем справочник Дополнительные отчеты и обработки.
  3. Нажимаем кнопку Добавить из файла... и выбираем наш подготовленный внешний отчет.
  4. Устанавливаем параметр Публикация в значение Используется.
  5. Нажимаем на ссылку Размещение и выбираем нужный нам раздел, например, Продажи.
  6. Записываем изменения.

Размещение отчета в панели: "Тайное кунг-фу" БСП

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

Чтобы он появился там, выполним следующие действия:

  1. Оставаясь в элементе справочника дополнительных отчетов, перейдем на вкладку Варианты отчета.
  2. Нажмем кнопку Разместить в разделах.
  3. Выберем целевой подраздел в дереве системы.

Если после этого отчет все равно не отображается или не доступен для быстрого вызова, проанализируем вкладку Команды. Обязательно убедитесь, что в табличной части команд для вашей строки установлен признак Быстрый доступ. Именно это действие (добавление команды с быстрым доступом к нужным пользователям) заставит отчет появиться в основном списке панели отчетов.

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

← На главную