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

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

Где хранятся настройки отчёта СКД в 1С 8

Где 1С 8.3 хранит настройки отчётов на СКД: хранилище вариантов, пользовательские настройки, XML-схема, файлы. Как найти, перенести и сбросить настройки отчёта.

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

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

Уровни хранения настроек СКД

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

Вариант отчёта — это сохранённая комбинация настроек: выбранные поля, отборы, группировки, порядок, условное оформление. Варианты хранятся отдельно от схемы, поэтому при обновлении конфигурации схема меняется, а пользовательские варианты сохраняются.

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

Где физически хранятся варианты отчётов

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

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

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

1c
// Получить вариант отчёта программно
Запрос = Новый Запрос("ВЫБРАТЬ Ссылка, КлючВарианта ИЗ Справочник.ВариантыОтчетов ГДЕ Отчет = &Отчет");
Запрос.УстановитьПараметр("Отчет", ОтчетСсылка);
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
    Настройки = Выборка.Ссылка.ХранилищеНастроек.Получить();
КонецЦикла;

Пользовательские настройки: хранилище и сброс

Изменения, которые пользователь вносит в отчёт через форму быстрых настроек, сохраняются в хранилище пользовательских настроек. Физически это таблица в базе данных, а в файловом варианте — часть файла 1Cv8.1CD. Платформа привязывает настройку к связке «пользователь + объект настройки + ключ».

Посмотреть и удалить эти настройки можно через меню «Администрирование» → «Обслуживание» → «Настройки пользователей и прав» → «Персональные настройки пользователей» → «Очистка настроек» (в типовых конфигурациях путь может немного отличаться). Там же доступна очистка настроек по конкретному пользователю или по конкретному отчёту.

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

Как сбросить настройки отчёта у пользователя
  1. 1
    Откройте «Администрирование» → «Настройки пользователей и прав»
  2. 2
    Перейдите в «Персональные настройки пользователей» → «Очистка настроек»
  3. 3
    Выберите пользователя и найдите отчёт в списке настроек
  4. 4
    Отметьте нужные настройки и нажмите «Очистить»
  5. 5
    Попросите пользователя заново открыть отчёт и проверить результат

Настройки в файлах: выгрузка и перенос

Из формы отчёта настройки можно сохранить в файл: кнопка «Ещё» → «Сохранить настройки в файл» (или «Сохранить вариант»). Файл имеет формат XML и содержит сериализованные настройки компоновки. Загрузка выполняется через «Загрузить настройки из файла».

Этот механизм — самый простой способ перенести настройку между базами с одинаковой схемой отчёта. Если схемы различаются (разные поля, параметры), загруженная настройка может частично потеряться: СКД молча отбрасывает элементы, которых нет в текущей схеме.

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

Почему настройки «теряются» после обновления

Самая частая причина — изменение ключа варианта или ключа объекта отчёта разработчиком. Платформа ищет настройки по ключу; если ключ изменился, старые настройки остаются в хранилище, но к отчёту больше не привязаны. Пользователь видит настройки по умолчанию и считает, что всё пропало.

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

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

Типичные ошибки
01
Менять ключ варианта в конфигураторе без необходимости — все пользовательские настройки этого варианта перестанут подхватываться
02
Править настройки в пользовательском режиме вместо изменения схемы в конфигураторе — при обновлении правки разработчика не сохранятся
03
Очищать настройки всем пользователям вместо одного проблемного — остальные потеряют свои отборы и оформление
04
Переносить настройки файлом между отчётами с разными схемами — часть отборов и полей молча пропадёт

Как найти и перенести настройки: порядок действий

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

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

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

Как выбрать способ работы с настройками

Нужно изменить отчёт для всех пользователей навсегдаМеняйте схему и вариант по умолчанию в конфигураторе
Нужно перенести настройку одного отчёта в другую базуСохраните вариант в файл и загрузите в целевой базе
У одного пользователя отчёт работает с ошибкой после обновленияОчистите персональные настройки этого пользователя по отчёту
Нужно массово перенести варианты между одинаковыми базамиПереносите элементы справочника «Варианты отчетов» обработкой выгрузки/загрузки XML

Проверка результата

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

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

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

Отчёт открывается у пользователя
Норма

Формируется с ожидаемыми отборами и полями

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

Ошибка компоновки или пустой результат — сбросьте настройки пользователя

Вариант виден в списке вариантов отчёта
Норма

Вариант отображается и выбирается

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

Варианта нет — проверьте ключ варианта и справочник «Варианты отчетов»

Перенос настройки файлом
Норма

Все отборы и поля на месте после загрузки

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

Часть полей пропала — схемы отчётов в базах различаются

Частые вопросы

Где лежит схема компоновки данных отчёта?

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

Можно ли посмотреть настройки отчёта без конфигуратора?

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

Почему после обновления у пользователя пропали отборы отчёта?

Чаще всего изменился ключ варианта или состав полей схемы, и старая настройка перестала соответствовать отчёту. Проверьте ключ варианта в конфигураторе и при необходимости сбросьте персональные настройки пользователя через «Очистку настроек» в разделе администрирования.

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

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

Хранятся ли настройки СКД в файловой базе отдельным файлом?

Нет. В файловом варианте все настройки (варианты отчётов, пользовательские настройки) хранятся внутри единого файла 1Cv8.1CD в служебных таблицах. Отдельных файлов настроек платформа не создаёт — внешние файлы появляются только при ручной выгрузке из формы отчёта.

Что будет, если удалить элемент справочника «Варианты отчетов»?

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

Итог

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

Настройки отчёта СКД распределены по четырём уровням: схема — в конфигурации, варианты — в справочнике «Варианты отчетов» или системном хранилище, пользовательские настройки — в хранилище базы, выгрузки — в XML-файлах. Изменения для всех делайте в конфигураторе, разовые переносы — через файлы, а проблемы у отдельных пользователей решайте точечной очисткой их настроек.