Почему в 1С возникает ошибка «Дополнительные отчеты для данного раздела не предусмотрены» и как ее исправить?

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

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

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

Причины возникновения ошибки

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

  1. В элементе справочника ДополнительныеОтчетыИОбработки для отчета указан конкретный раздел командного интерфейса (например, Продажи или Закупки).
  2. В регистре сведений ПользовательскиеНастройкиДоступаКОбработкам присутствует запись о доступности команды данного отчета для текущего пользователя.

В некоторых релизах конфигураций (в частности, ветки УТ 11.0.7.x – 11.0.7.13) присутствует зарегистрированная ошибка: при записи элемента справочника с видом ВидыДополнительныхОтчетовИОбработок.ДополнительныйОтчет механизм настройки быстрого доступа отсекает отчеты условием и обрабатывает только обработки (ВидыДополнительныхОтчетовИОбработок.ДополнительнаяОбработка). В результате данные в регистр сведений не попадают, а форма выбора отчетов блокируется при открытии, не позволяя пользователю настроить видимость интерактивно.

Способ 1. Программное исправление ошибки в конфигураторе

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

1. Откроем модуль формы элемента справочника ДополнительныеОтчетыИОбработки и найдем процедуры ПередЗаписьюНаСервере и ЗаполнитьКоманды.

2. Заменим условие проверки вида объекта:


// Было:
Если Объект.Вид = Перечисления.ВидыДополнительныхОтчетовИОбработок.ДополнительнаяОбработка Тогда

// Необходимо заменить на:
Если Объект.Вид = Перечисления.ВидыДополнительныхОтчетовИОбработок.ДополнительнаяОбработка 
   ИЛИ Объект.Вид = Перечисления.ВидыДополнительныхОтчетовИОбработок.ДополнительныйОтчет Тогда

Обратите внимание: внутри процедуры ЗаполнитьКоманды условие проверки вызова серверного метода корректировать не требуется, оставляем его без изменений:


Если Объект.Вид = Перечисления.ВидыДополнительныхОтчетовИОбработок.ДополнительнаяОбработка 
   И ЭлементКоманда.ВариантЗапуска = Перечисления.СпособыВызоваДополнительныхОбработок.ВызовСерверногоМетода Тогда

3. Откроем модуль объекта справочника ДополнительныеОтчетыИОбработки и аналогичным образом скорректируем процедуру ПриЗаписи, разрешив обработку вида ДополнительныйОтчет.

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

Способ 2. Ручное добавление записей в регистр сведений без изменения конфигурации

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

  1. Откроем главное меню программы и перейдем в пункт Функции для технического специалиста (или Все функции).
  2. В списке объектов развернем ветку Регистры сведений и найдем регистр Пользовательские настройки доступа к обработкам.
  3. Создадим новую запись вручную, указав следующие реквизиты:
    1. Дополнительный отчет / обработка: выберем нужный отчет из справочника.
    2. Пользователь: укажем конкретного пользователя информационной базы (или группу пользователей).
    3. Идентификатор команды: укажем идентификатор команды, прописанный во внешней обработке.
    4. Доступно: установим флаг в значение Истина.
  4. Сохраним запись и перезапустим пользовательский сеанс для обновления кэша командного интерфейса.

Способ 3. Проверка программного кода внешнего отчета

Посмотрим на требования к экспортной функции регистрации отчета в модуле объекта внешнего файла. Убедимся, что параметры отчета соответствуют стандартам БСП:

  1. Функция СведенияОВнешнейОбработке() должна возвращать структуру с параметром Вид, имеющим значение ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительныйОтчет() (или строку "ДополнительныйОтчет"). Если для глобального отчета ошибочно указан вид "Отчет", отчет будет считаться контекстным и потребует явного заполнения массива Назначение.
  2. В таблице команд вариант запуска должен быть установлен как ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы().
  3. Для корректного сохранения пользовательских настроек компоновщика в свойствах отчета в конфигураторе свойство Хранилище вариантов должно иметь значение ХранилищеВариантовОтчетов.

Пример корректного заполнения структуры регистрации:


Функция СведенияОВнешнейОбработке() Экспорт

    ПараметрыРегистрации = Новый Структура;
    ПараметрыРегистрации.Вставить("Вид", "ДополнительныйОтчет");
    ПараметрыРегистрации.Вставить("Версия", "1.0");
    ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь);
    ПараметрыРегистрации.Вставить("Наименование", "Реестр документов продажи");
    ПараметрыРегистрации.Вставить("Информация", "Внешний отчет по продажам");

    ТаблицаКоманд = ПолучитьТаблицуКоманд();
    
    СтрокаКоманды = ТаблицаКоманд.Добавить();
    СтрокаКоманды.Представление = "Реестр документов продажи";
    СтрокаКоманды.Идентификатор = "РеестрДокументовПродажи";
    СтрокаКоманды.Использование = "ОткрытиеФормы";
    СтрокаКоманды.ПоказыватьОповещение = Ложь;

    ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);

    Возврат ПараметрыРегистрации;

КонецФункции

Способ 4. Обновление релиза конфигурации

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

← На главную