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

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

Как очистить пользовательские настройки СКД в 1С

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

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

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

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

Что такое пользовательские настройки СКД и где они хранятся

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

Физически настройки хранятся в системном хранилище настроек — в файловых базах это таблица в файле 1Cv8.1CD, в клиент-серверных — таблица в базе данных СУБД. Для отчётов используется хранилище пользовательских настроек отчётов, доступное в коде как ХранилищеПользовательскихНастроекОтчетов.

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

Сброс настроек через интерфейс отчёта

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

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

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

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

Очистка через стандартную обработку настроек пользователей

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

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

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

Программная очистка хранилища настроек

Для разработчиков и администраторов платформа предоставляет методы объекта ХранилищеПользовательскихНастроекОтчетов. Метод Удалить принимает ключ объекта, ключ настроек и имя пользователя. Чтобы удалить все настройки конкретного отчёта у всех пользователей, ключ настроек и пользователя можно не указывать (передать Неопределено).

Типовой фрагмент кода для удаления настроек одного отчёта у всех пользователей:

ХранилищеПользовательскихНастроекОтчетов.Удалить(

"Отчет.ПродажиПоМесяцам",

Неопределено,

Неопределено);

Для выборочной очистки сначала получите список настроек методом ПолучитьСписок с отбором по ключу объекта или пользователю, затем в цикле удаляйте нужные записи. Это безопаснее, чем удаление «вслепую», потому что позволяет вывести список и проверить, что попадёт под удаление.

bsl
Отбор = Новый Структура;
Отбор.Вставить("КлючОбъекта", "Отчет.ПродажиПоМесяцам");
Список = ХранилищеПользовательскихНастроекОтчетов.ПолучитьСписок(Отбор);
Для Каждого Элемент Из Список Цикл
    ХранилищеПользовательскихНастроекОтчетов.Удалить(
        Элемент.КлючОбъекта, Элемент.КлючНастроек, Элемент.Пользователь);
КонецЦикла;

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

Очистка настроек вариантов отчётов и динамических списков

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

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

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

Способы очистки настроек СКД

Сброс в форме отчёта

Подходит для разового сброса у текущего пользователя; не удаляет сохранённые в хранилище настройки навсегда

Обработка настроек пользователей (БСП)

Удобна администратору для точечной очистки по пользователям и отчётам без программирования

Программное удаление из хранилища

Даёт полный контроль и массовую очистку; требует прав, аккуратности с ключами и резервной копии

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

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

Частая ошибка — неверный ключ объекта при программном удалении. Метод Удалить не сообщает об ошибке, если записи с таким ключом нет: код отрабатывает молча, а настройки остаются. Всегда сначала получайте список настроек и сверяйте ключи.

Вторая типичная ошибка — очистка под полными правами в рабочем сеансе без указания пользователя, когда администратор удаляет свои настройки вместо настроек проблемного пользователя. Явно передавайте имя пользователя в параметрах и проверяйте, чьи записи попали в список удаления.

Типичные ошибки
01
Неверный ключ объекта — удаление проходит молча, настройки остаются на месте
02
Очистка без указания пользователя — удаляются настройки администратора, а не целевого сотрудника
03
Игнорирование вариантов отчётов БСП — пользовательские варианты продолжают подменять стандартные настройки
04
Массовое удаление без резервной копии — восстановить настройки штатными средствами невозможно
Контрольные точки

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

Открытие отчёта после очистки
Норма

Применяются настройки по умолчанию из схемы СКД

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

Подтягиваются прежние отборы и группировки

Список настроек в хранилище
Норма

ПолучитьСписок по ключу объекта возвращает пустой результат

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

Записи с ключом отчёта присутствуют

Панель вариантов отчёта
Норма

Доступны только стандартные варианты

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

Остались пользовательские варианты со старыми настройками

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

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

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

Можно ли очистить настройки сразу для всех пользователей базы?

Да. Программно вызовите метод Удалить у ХранилищеПользовательскихНастроекОтчетов, передав ключ объекта отчёта и Неопределено в параметрах ключа настроек и пользователя — будут удалены все записи по этому отчёту. Перед выполнением сделайте резервную копию.

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

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

Как узнать точный ключ объекта отчёта для программного удаления?

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

Чем отличается очистка настроек динамического списка от очистки настроек отчёта?

Используется другое хранилище — ХранилищеПользовательскихНастроекДинамическихСписков, а ключи объектов привязаны к формам списков, а не к отчётам. Логика методов ПолучитьСписок и Удалить та же, меняется только объект хранилища и ключи.

Нужны ли особые права для программной очистки чужих настроек?

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

Итог

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

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