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