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

Администрирование · 13 мин

Где 1С хранит настройки форм пользователей

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

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

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

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

Как устроено хранение настроек в платформе 1С

В платформе «1С:Предприятие 8» существует несколько хранилищ настроек, каждое со своим назначением. За настройки форм отвечает системное хранилище настроек — встроенный механизм, который физически размещается внутри информационной базы. В файловом варианте данные хранилища находятся в файле 1Cv8.1CD, в клиент-серверном — в служебных таблицах базы данных на сервере СУБД.

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

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

Где физически находятся настройки в файловой и серверной базе

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

В клиент-серверном варианте настройки лежат в служебных таблицах базы данных на MS SQL Server, PostgreSQL, Oracle или IBM Db2. Прямой доступ к этим таблицам средствами СУБД не документирован и не поддерживается: структура может меняться между версиями платформы, а ручное вмешательство способно привести к неработоспособности базы. Все операции следует выполнять через платформу.

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

Как посмотреть и очистить настройки через интерфейс

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

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

Для сброса настроек одной формы самим пользователем в ряде конфигураций доступна команда «Установить стандартные настройки» в меню «Ещё» формы. Это самый безопасный путь: он затрагивает только текущую форму и не требует прав администратора.

Порядок очистки настроек формы в типовой конфигурации
  1. 1
    Откройте «Администрирование» — «Пользователи и права» — «Персональные настройки пользователей».
  2. 2
    Выберите пользователя, у которого наблюдается проблема с формой.
  3. 3
    Найдите в списке настройки нужной формы по имени объекта или отметьте все.
  4. 4
    Выполните удаление выбранных настроек и подтвердите действие.
  5. 5
    Попросите пользователя закрыть и заново открыть форму, затем проверьте результат.

Программный доступ к настройкам форм

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

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

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

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

Копирование и перенос настроек между пользователями

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

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

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

Способы управления настройками

Интерфейс типовой конфигурации

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

Программный доступ через ХранилищеСистемныхНастроек

Гибкий вариант для массовой очистки и переноса. Требует прав на выполнение кода и понимания ключей настроек.

Команда «Установить стандартные настройки» в форме

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

Почему настройки пропадают или «ломают» форму

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

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

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

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

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

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

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

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

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

Внешний вид формы после очистки
Норма

Колонки и панели соответствуют виду по умолчанию из конфигурации

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

Форма выглядит так же, как до очистки — настройки не удалены или перезаписаны

Работа других форм пользователя
Норма

Остальные формы и отчёты сохранили привычные настройки

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

Сбросились настройки, которые не планировали трогать — была выполнена полная очистка

Повторное открытие через несколько минут
Норма

Настройки стабильны, ошибок при открытии нет

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

Ошибка возвращается — проблема не в настройках, а в конфигурации или кэше клиента

Ограничения и частные случаи

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

В веб-клиенте и при работе через тонкий клиент с разными платформами часть настроек (например, связанных с размерами окон) может вести себя иначе или не сохраняться вовсе — это ограничение платформы, а не ошибка администратора.

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

Итог

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

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

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

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

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

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

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

Удалятся ли настройки форм при обновлении конфигурации?

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

Где хранятся варианты отчётов, которые сохраняет пользователь?

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

Можно ли перенести настройки форм между разными базами?

Штатного универсального механизма нет, но это возможно программно: загрузить настройки в исходной базе, сериализовать их (например, через ХранилищеЗначения и файл) и сохранить в целевой базе с теми же ключами. Способ работает, только если конфигурации и ключи объектов совпадают, иначе настройки будут бесполезны.

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

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