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