Как исправить ошибку «не установлено хранилище вариантов» в отчетах расширения 1С?

Программист IT и автоматизация бизнеса
← На главную

При разработке и сопровождении конфигураций на платформе 1С:Предприятие 8.3, особенно таких сложных, как ЗУП 3.1, ERP 2 или КА 2, программисты часто сталкиваются с проблемами при использовании расширений. Одна из наиболее коварных ошибок возникает после очередного обновления типовой конфигурации: отчет, добавленный через расширение, внезапно перестает открываться. Пользователь видит пугающее сообщение: «Не существующий вариант отчета... Необходимо выполнить обновление информационной базы или очистить настройки отчета». При этом попытки переименовать отчет или изменить его заголовок в Конфигураторе часто не приносят результата. В этой статье мы подробно разберем, почему это происходит и как раз и навсегда устранить проблему «неустановленного хранилища вариантов».

Причина возникновения проблемы: Специфика БСП

Для начала проанализируем ситуацию и выясним причину такого поведения системы. В современных версиях Библиотеки стандартных подсистем (БСП) механизмы работы с отчетами значительно усложнились. Теперь отчет — это не просто объект метаданных, это часть целой экосистемы подсистемы «Варианты отчетов». Система ожидает, что каждый отчет будет жестко интегрирован в её внутреннюю структуру управления настройками.

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

Шаг 1. Настройка свойства «Хранилище вариантов» в Конфигураторе

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

  1. Откроем Конфигуратор и перейдем в дерево метаданных вашего расширения.
  2. Найдем проблемный отчет в ветке Отчеты.
  3. Откроем палитру свойств этого отчета.
  4. Найдем свойство Хранилище вариантов.
  5. Нажмем на кнопку выбора и выберем из списка объект ХранилищеВариантовОтчетов (это стандартный объект БСП, который должен быть заимствован в ваше расширение или существовать в основной конфигурации).

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

Шаг 2. Принудительное обновление справочников в режиме «Предприятие»

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

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


Справочники.ВариантыОтчетов.Обновить();
Справочники.ИдентификаторыОбъектовМетаданных.ОбновитьДанныеСправочника();

Если вы не хотите писать код, можно запустить сеанс «1С:Предприятия» с параметром командной строки /С ЗапуститьОбновлениеИнформационнойБазы. Это инициирует выполнение всех регламентных процедур обновления, включая регистрацию новых отчетов из расширений.

Шаг 3. Очистка «фантомных» записей через Функции для технического специалиста

Если форма отчета не открывается вовсе, мы не можем сбросить настройки стандартными средствами из интерфейса самого отчета. В этом случае проанализируем ситуацию «снаружи» через системные справочники.

  1. Зайдем в программу в режиме 1С:Предприятие под правами администратора.
  2. Перейдем в меню Функции для технического специалиста (если они не отображаются, их нужно включить в настройках параметров системы).
  3. Найдем справочник Варианты отчетов.
  4. В открывшемся списке найдем запись, соответствующую вашему отчету. Будьте внимательны: записей может быть несколько (пользовательские и предопределенные).
  5. Удалим запись, которая вызывает ошибку. Не бойтесь этого делать: при следующем корректном открытии отчета БСП автоматически создаст новую правильную запись на основании актуальных метаданных расширения.

Шаг 4. Работа с идентификаторами объектов расширения

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

  1. Через Функции для технического специалиста найдем справочник Идентификаторы объектов расширений.
  2. Найдем там наш отчет. Обратите внимание на колонку Имя и Хэш суммы.
  3. Попробуем удалить эту запись. Внимание: это действие требует осторожности, так как к идентификатору могут быть привязаны настройки прав доступа. Однако для кастомного отчета в расширении это зачастую единственный способ «сбросить» некорректную регистрацию.

Дополнительные настройки в свойствах расширения

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

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

Резюме и рекомендации

Подводя итог, составим краткий чек-лист для исправления ошибки:

  1. Убеждаемся, что у отчета в расширении заполнено Хранилище вариантов значением ХранилищеВариантовОтчетов.
  2. Проверяем настройки внутри СКД на вкладке Настройки (соответствие имен и представлений).
  3. Удаляем старую запись из справочника Варианты отчетов в режиме 1С:Предприятие.
  4. Выполняем обновление справочников идентификаторов (через код или параметр запуска).

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

← На главную