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

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

Свойство отчета «Хранилище вариантов» не заполнено: где заполнить в 1С

Разбираем ошибку «Свойство отчета хранилище вариантов не заполнено» в 1С: где указать хранилище вариантов отчетов, как исправить в конфигураторе и коде.

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

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

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

Что означает свойство «Хранилище вариантов» у отчета

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

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

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

Где заполнить свойство в конфигураторе

Основной сценарий — вы разрабатываете или дорабатываете отчет внутри конфигурации. Порядок действий одинаков для управляемых форм и подходит для версий платформы 8.3.

Как заполнить хранилище вариантов в конфигураторе
  1. 1
    Откройте конфигуратор и найдите нужный отчет в ветке «Отчеты» дерева конфигурации.
  2. 2
    Щелкните правой кнопкой по имени отчета и выберите «Свойства».
  3. 3
    Найдите поле «Хранилище вариантов» в палитре свойств.
  4. 4
    Нажмите кнопку выбора и укажите хранилище — в типовых конфигурациях это «ХранилищеВариантовОтчетов».
  5. 5
    Если подходящего хранилища нет, выберите стандартное «ХранилищеНастроекДанныхФорм» или создайте свое хранилище настроек.
  6. 6
    Обновите конфигурацию базы данных (F7) и проверьте отчет в режиме предприятия.

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

Обратите внимание: свойство «Хранилище вариантов» есть только у корневого узла объекта «Отчет», а не у отдельных форм или макетов. Если вы ищете его в свойствах формы отчета — там его нет, искать нужно именно в свойствах объекта метаданных.

Какое хранилище выбрать: сравнение вариантов

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

Варианты хранилища

ХранилищеВариантовОтчетов (БСП)

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

ХранилищеНастроекДанныхФорм

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

Собственное хранилище настроек

Создается в ветке «Хранилища настроек» конфигуратора с обработчиками сохранения и загрузки. Дает полный контроль, но требует написания кода обработчиков и оправдано только при нестандартных требованиях.

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

Ошибка у внешнего отчета: где заполнять

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

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

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

bsl
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    // Для внешнего отчета, открываемого программно,
    // ключ варианта передается в параметрах формы
    Если Параметры.Свойство("КлючВарианта") Тогда
        // платформа загрузит вариант из хранилища,
        // указанного в свойствах отчета
    КонецЕсли;
КонецПроцедуры

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

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

Контрольные точки

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

Открытие отчета
Норма

Отчет открывается без сообщения о незаполненном хранилище

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

Предупреждение появляется снова — свойство не сохранено или конфигурация БД не обновлена

Сохранение варианта
Норма

Команда «Сохранить вариант» отрабатывает, вариант появляется в списке

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

Кнопка неактивна или вариант пропадает после закрытия

Права пользователя
Норма

Пользователь без полных прав сохраняет свои варианты

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

Ошибка доступа — проверьте роли на объект хранилища настроек

Типичные ошибки
01
Свойство заполнено, но конфигурация базы данных не обновлена — изменения не дошли до рабочей базы, ошибка остается.
02
Указано хранилище, которого нет в конфигурации приемнике — внешний отчет, разработанный под БСП, открывают в самописной базе без такого хранилища.
03
Путают «Хранилище вариантов» и «Хранилище настроек» — заполняют не то свойство, варианты по-прежнему не сохраняются.
04
Отчет подключают напрямую файлом вместо механизма дополнительных отчетов — теряются общие варианты и настройки прав.
05
Нет прав у пользователя на хранилище — у администратора все работает, у рядового пользователя ошибка сохраняется.

Когда ошибку не удается устранить самостоятельно

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

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

Маршрут решения

Как выбрать действие

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

Часто задаваемые вопросы

Где находится свойство «Хранилище вариантов» в конфигураторе 1С?

В палитре свойств корневого узла объекта «Отчет». Щелкните правой кнопкой по имени отчета в дереве конфигурации, выберите «Свойства» и найдите поле «Хранилище вариантов» — обычно оно расположено рядом со свойствами «Основная схема компоновки данных» и «Хранилище настроек».

Что указать в хранилище вариантов, если конфигурация самописная?

Проще всего выбрать стандартное системное хранилище, например «ХранилищеНастроекДанныхФорм» — оно доступно всегда и не требует доработок. Если нужны общие варианты и разделение прав, придется создать собственное хранилище настроек с обработчиками сохранения и загрузки.

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

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

Нужно ли обновлять конфигурацию базы данных после заполнения свойства?

Да. Изменение свойств объекта метаданных вступает в силу в рабочей базе только после обновления конфигурации базы данных (команда «Обновить конфигурацию базы данных» или клавиша F7 в конфигураторе). Без этого пользователи продолжат видеть старое поведение.

Почему варианты сохраняются у администратора, но не у пользователя?

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

Чем «Хранилище вариантов» отличается от «Хранилища настроек» в свойствах отчета?

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

Итог

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

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