Отчеты и Аналитика · 10 мин
Где хранятся настройки отчёта СКД в 1С 8
Где 1С 8.3 хранит настройки отчётов на СКД: хранилище вариантов, пользовательские настройки, XML-схема, файлы. Как найти, перенести и сбросить настройки отчёта.
Настройки отчёта на системе компоновки данных (СКД) в 1С 8 существуют на нескольких уровнях одновременно: схема компоновки внутри конфигурации, варианты отчёта в хранилище вариантов, пользовательские настройки в базе данных и внешние файлы на диске. Понимание этой структуры нужно и разработчику, который ищет, куда «пропали» отборы пользователя, и администратору, переносящему настройки между базами.
Проблема обычно возникает в трёх ситуациях: пользователь настроил отчёт, а после обновления настройки исчезли; нужно перенести настроенный вариант в другую базу; разработчик не понимает, почему его изменения в конфигураторе не видны пользователям. Во всех случаях причина одна — не учтён приоритет уровней хранения настроек.
Уровни хранения настроек СКД
СКД разделяет понятия «схема», «вариант» и «пользовательская настройка». Схема компоновки данных — это описание источника данных, наборов, связей и доступных полей. Она хранится в макете отчёта внутри конфигурации и изменяется только разработчиком в конфигураторе. Для внешних отчётов схема находится внутри файла .erf.
Вариант отчёта — это сохранённая комбинация настроек: выбранные поля, отборы, группировки, порядок, условное оформление. Варианты хранятся отдельно от схемы, поэтому при обновлении конфигурации схема меняется, а пользовательские варианты сохраняются.
Пользовательские настройки — это изменения, которые конкретный пользователь внёс в вариант через форму «Изменить вариант» или быстрые настройки. Они привязаны к пользователю и варианту отчёта и хранятся в отдельном хранилище.
Где физически хранятся варианты отчётов
В типовых конфигурациях (БП, УТ, ERP, ЗУП) используется Библиотека стандартных подсистем (БСП), и варианты отчётов хранятся в справочнике «Варианты отчетов». Каждый элемент этого справочника содержит ссылку на отчёт, ключ варианта и саму настройку в виде значения типа «ХранилищеЗначения» с сериализованными настройками СКД.
В простых самописных конфигурациях без БСП варианты хранятся в системном хранилище вариантов отчётов — это служебный объект платформы, недоступный для прямого просмотра через интерфейс. Программно к нему обращаются через объект ХранилищеВариантовОтчетов.
Найти вариант отчёта в типовой базе можно так: открыть справочник «Варианты отчетов» (через «Все функции» → Справочники), отобрать по отчёту и посмотреть ключ варианта. Ключ варианта задаётся разработчиком в настройках схемы на закладке «Настройки» — «Варианты настроек».
// Получить вариант отчёта программно
Запрос = Новый Запрос("ВЫБРАТЬ Ссылка, КлючВарианта ИЗ Справочник.ВариантыОтчетов ГДЕ Отчет = &Отчет");
Запрос.УстановитьПараметр("Отчет", ОтчетСсылка);
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
Настройки = Выборка.Ссылка.ХранилищеНастроек.Получить();
КонецЦикла;Пользовательские настройки: хранилище и сброс
Изменения, которые пользователь вносит в отчёт через форму быстрых настроек, сохраняются в хранилище пользовательских настроек. Физически это таблица в базе данных, а в файловом варианте — часть файла 1Cv8.1CD. Платформа привязывает настройку к связке «пользователь + объект настройки + ключ».
Посмотреть и удалить эти настройки можно через меню «Администрирование» → «Обслуживание» → «Настройки пользователей и прав» → «Персональные настройки пользователей» → «Очистка настроек» (в типовых конфигурациях путь может немного отличаться). Там же доступна очистка настроек по конкретному пользователю или по конкретному отчёту.
Типичный симптом «сломанных» пользовательских настроек: после обновления конфигурации отчёт у конкретного пользователя падает с ошибкой или показывает пустой результат, хотя у остальных работает. Причина — в сохранённой настройке остались ссылки на поля, которых больше нет в схеме. Лечится сбросом настроек этого пользователя по данному отчёту.
- 1Откройте «Администрирование» → «Настройки пользователей и прав»
- 2Перейдите в «Персональные настройки пользователей» → «Очистка настроек»
- 3Выберите пользователя и найдите отчёт в списке настроек
- 4Отметьте нужные настройки и нажмите «Очистить»
- 5Попросите пользователя заново открыть отчёт и проверить результат
Настройки в файлах: выгрузка и перенос
Из формы отчёта настройки можно сохранить в файл: кнопка «Ещё» → «Сохранить настройки в файл» (или «Сохранить вариант»). Файл имеет формат XML и содержит сериализованные настройки компоновки. Загрузка выполняется через «Загрузить настройки из файла».
Этот механизм — самый простой способ перенести настройку между базами с одинаковой схемой отчёта. Если схемы различаются (разные поля, параметры), загруженная настройка может частично потеряться: СКД молча отбрасывает элементы, которых нет в текущей схеме.
Для внешних отчётов (.erf) схема и варианты по умолчанию находятся внутри самого файла. Открыть и отредактировать их можно в конфигураторе: «Файл» → «Открыть» → выбрать .erf — откроется редактор внешнего отчёта с макетом схемы компоновки.
Почему настройки «теряются» после обновления
Самая частая причина — изменение ключа варианта или ключа объекта отчёта разработчиком. Платформа ищет настройки по ключу; если ключ изменился, старые настройки остаются в хранилище, но к отчёту больше не привязаны. Пользователь видит настройки по умолчанию и считает, что всё пропало.
Вторая причина — изменение состава полей схемы. Если из запроса убрали поле, которое использовалось в отборе варианта, при загрузке варианта СКД не всегда корректно обрабатывает отсутствующее поле. В типовых конфигурациях при обновлении запускаются обработчики обновления вариантов отчётов, но в самописных решениях об этом должен позаботиться разработчик.
Третья причина — переход с файловой базы на клиент-серверную или перенос данных свёрткой. Хранилище вариантов и пользовательские настройки не всегда переносятся типовыми обработками переноса данных, поэтому перед миграцией стоит выгрузить важные варианты в файлы.
Как найти и перенести настройки: порядок действий
Если нужно найти, где лежит конкретная настройка, действуйте по цепочке: сначала определите, типовая ли конфигурация (есть ли справочник «Варианты отчетов»). Если да — ищите вариант в этом справочнике по имени отчёта. Если конфигурация самописная без БСП — настройки доступны только программно через ХранилищеВариантовОтчетов или через выгрузку в файл из формы отчёта.
Для переноса между базами надёжнее всего использовать файл: в исходной базе сохранить вариант в файл, в целевой — загрузить. Для массового переноса в типовых конфигурациях существуют обработки выгрузки вариантов отчётов, либо можно перенести элементы справочника «Варианты отчетов» обработкой «Выгрузка и загрузка данных XML» — при условии идентичности конфигураций.
Как выбрать способ работы с настройками
Проверка результата
После любых манипуляций с настройками проверьте результат под учётной записью реального пользователя, а не только под администратором: у администратора могут быть свои настройки, маскирующие проблему.
Как проверить результат
Формируется с ожидаемыми отборами и полями
Ошибка компоновки или пустой результат — сбросьте настройки пользователя
Вариант отображается и выбирается
Варианта нет — проверьте ключ варианта и справочник «Варианты отчетов»
Все отборы и поля на месте после загрузки
Часть полей пропала — схемы отчётов в базах различаются
Частые вопросы
Где лежит схема компоновки данных отчёта?
В макете отчёта типа «Схема компоновки данных» внутри конфигурации. Открыть её можно в конфигураторе: найти отчёт в дереве объектов, перейти в макеты и открыть макет «ОсновнаяСхемаКомпоновкиДанных». У внешних отчётов схема находится внутри файла .erf.
Можно ли посмотреть настройки отчёта без конфигуратора?
Да. В пользовательском режиме откройте отчёт, нажмите «Изменить вариант» — откроется полный редактор настроек СКД с закладками отборов, полей, группировок и оформления. Изменения сохранятся как пользовательская настройка или новый вариант.
Почему после обновления у пользователя пропали отборы отчёта?
Чаще всего изменился ключ варианта или состав полей схемы, и старая настройка перестала соответствовать отчёту. Проверьте ключ варианта в конфигураторе и при необходимости сбросьте персональные настройки пользователя через «Очистку настроек» в разделе администрирования.
Как перенести настройки отчёта в другую базу?
Самый безопасный способ — из формы отчёта сохранить вариант в XML-файл и загрузить его в другой базе. Условие: схемы компоновки в обеих базах должны совпадать, иначе несовпадающие поля и отборы будут отброшены без предупреждения.
Хранятся ли настройки СКД в файловой базе отдельным файлом?
Нет. В файловом варианте все настройки (варианты отчётов, пользовательские настройки) хранятся внутри единого файла 1Cv8.1CD в служебных таблицах. Отдельных файлов настроек платформа не создаёт — внешние файлы появляются только при ручной выгрузке из формы отчёта.
Что будет, если удалить элемент справочника «Варианты отчетов»?
Соответствующий вариант перестанет отображаться у всех пользователей, а связанные с ним пользовательские настройки потеряют смысл. Действие необратимо без резервной копии, поэтому перед чисткой справочника сделайте выгрузку базы или выгрузите важные варианты в файлы.
Что важно запомнить
Настройки отчёта СКД распределены по четырём уровням: схема — в конфигурации, варианты — в справочнике «Варианты отчетов» или системном хранилище, пользовательские настройки — в хранилище базы, выгрузки — в XML-файлах. Изменения для всех делайте в конфигураторе, разовые переносы — через файлы, а проблемы у отдельных пользователей решайте точечной очисткой их настроек.