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

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

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

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

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

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

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

Какие бывают настройки форм и кто их создаёт

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

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

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

Где физически лежат настройки: файловый и серверный варианты

В клиент-серверном варианте работы пользовательские настройки форм хранятся в базе данных на сервере СУБД — в служебной таблице, обычно называемой SystemSettings (для хранилища системных настроек). В файловом варианте те же данные находятся внутри файла 1Cv8.1CD, в аналогичной служебной таблице. Прямое редактирование этих таблиц недопустимо — это нарушает целостность базы.

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

Отдельно стоит упомянуть локальный кэш метаданных на компьютере пользователя — папки вида %APPDATA%\1C\1cv8\ и %LOCALAPPDATA%\1C\1cv8\. Там хранятся не сами настройки форм, а кэшированные данные и служебная информация клиента. Однако повреждённый кэш часто маскируется под «слетевшие настройки», поэтому очистка кэша — стандартный первый шаг диагностики.

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

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

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

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

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

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

Почему настройки «слетают» и как это диагностировать

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

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

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

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

Как проверить причину

Открывается ли форма одинаково у других пользователей
Норма

У остальных вид нормальный — проблема в настройках конкретного пользователя

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

У всех форма изменилась — вероятно, изменили конфигурацию

Помогает ли очистка кэша
Норма

После очистки вид восстановился — был повреждён кэш

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

Не помогло — дело в хранилище настроек или конфигурации

Совпадает ли имя пользователя с прежним
Норма

Имя не менялось — искать в другом

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

Пользователь переименован или создан заново — настройки нужно скопировать

Как перенести настройки другому пользователю

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

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

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

Ограничения, риски и типовые ошибки

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

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

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

Альтернативы: программное управление и стандартизация

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

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

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

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

Форма испортилась у одного пользователяСбросьте настройки этой формы через Ещё → Изменить форму → стандартные настройки
Проблема у всех пользователей после обновленияПроверьте изменения конфигурации — настройки, скорее всего, устарели и требуют повторной настройки
Нужно выдать одинаковый вид формы группе сотрудниковНастройте у одного пользователя и скопируйте настройки остальным штатной обработкой
Проблемы повторяются регулярноЗафиксируйте вид формы в конфигураторе и ограничьте пользовательские изменения

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

Почему у нового пользователя формы выглядят иначе, чем у коллег?

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

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

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

Сохраняются ли настройки форм в резервную копию?

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

Чем очистка кэша отличается от очистки настроек?

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

Почему после переименования пользователя пропали его настройки?

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

Можно ли запретить пользователям менять вид формы?

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

Итог

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

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