Хранилища настроек 1С 8.3: таблицы базы, кэш в профиле Windows и служебные файлы
Содержание
Настройки пользователей в 1С 8.3 хранятся внутри самой информационной базы, а не на компьютере пользователя. В файловой базе это часть файла 1Cv8.1CD, в клиент-серверной — служебные таблицы _SystemSettings, _CommonSettings, _FrmDtSettings, _RepSettings и _RepVarSettings в MS SQL или PostgreSQL. На компьютере остаётся только кэш и список баз.
Частое заблуждение — «настройки живут в профиле Windows, значит, при переезде на новый ПК всё пропадёт». Не пропадёт: пользователь заходит в ту же базу под тем же именем и видит свои формы, отчёты и панели. Пропадает другое — список баз в окне запуска. Его и правда нужно переносить отдельно. Это поведение платформы, оно одинаково для Бухгалтерии 3.0, ЗУП 3.1, УТ 11 и других конфигураций на 8.3.
Пять хранилищ настроек внутри информационной базы
Платформа раскладывает пользовательские настройки по пяти стандартным хранилищам. У каждого своя таблица и своё назначение.
| Хранилище (имя во встроенном языке) | Таблица в базе | Что внутри |
|---|---|---|
ХранилищеСистемныхНастроек | _SystemSettings | Положение окон, состав панелей, настройки форм, история ввода, избранное |
ХранилищеОбщихНастроек | _CommonSettings | Настройки, которые сохраняет конфигурация: основная организация, рабочая дата, флаги персональных настроек |
ХранилищеНастроекДанныхФорм | _FrmDtSettings | Значения реквизитов формы, которые пользователь ввёл и которые сохраняются между открытиями |
ХранилищеПользовательскихНастроекОтчетов | _RepSettings | Отборы, группировки, оформление отчёта конкретного пользователя |
ХранилищеВариантовОтчетов | _RepVarSettings | Сохранённые варианты отчётов |
Каждая запись привязана к трём вещам: ключу объекта (например, форма списка документа), ключу настройки и имени пользователя. Само значение лежит в сериализованном виде. Прочитать его глазами из SQL не получится — это внутренний формат платформы.
В типовых конфигурациях на БСП варианты отчётов дополнительно учитываются в справочнике «Варианты отчетов». Поэтому общий вариант, который видят все, — это уже не личная настройка, а элемент справочника.
Файловая база: настройки внутри 1Cv8.1CD
В файловом варианте отдельных файлов с настройками нет. Все пять таблиц находятся внутри 1Cv8.1CD вместе с документами и справочниками.
Что из этого следует на практике:
- 📁 Скопировали папку базы — скопировали и все настройки всех пользователей.
- 🔁 Восстановили базу из вчерашней копии — у всех откатились и данные, и настройки на вчера.
- 🚫 Вытащить настройки одного человека из файла средствами Windows нельзя: нужна сама 1С.
Таблицы видны в утилите ctool1cd и подобных просмотрщиках структуры 1CD. Для чтения это допустимо. Править файл базы сторонними программами нельзя — так проще всего получить базу, которую потом придётся тестировать и исправлять.
Клиент-серверная база: таблицы в MS SQL и PostgreSQL
В клиент-серверном варианте те же таблицы лежат в базе СУБД. В MS SQL имена пишутся как _SystemSettings, в PostgreSQL — в нижнем регистре: _systemsettings, _commonsettings и так далее.
Админу обычно нужно одно — понять, сколько места занимают настройки. Раздутая _SystemSettings или _FrmDtSettings на сотни мегабайт замедляет вход в программу и открытие форм.
Размер таблиц в MS SQL:
EXEC sp_spaceused '_SystemSettings';
EXEC sp_spaceused '_CommonSettings';
EXEC sp_spaceused '_FrmDtSettings';
EXEC sp_spaceused '_RepSettings';
EXEC sp_spaceused '_RepVarSettings';
Размер таблиц в PostgreSQL:
SELECT relname AS table_name,
pg_size_pretty(pg_total_relation_size(oid)) AS total_size
FROM pg_class
WHERE relname IN ('_systemsettings', '_commonsettings',
'_frmdtsettings', '_repsettings', '_repvarsettings')
ORDER BY pg_total_relation_size(oid) DESC;
Только чтение. Удаление строк из этих таблиц напрямую через SQL фирма 1С не поддерживает. Чистить настройки нужно средствами программы — об этом ниже.
Компьютер пользователя: кэш, список баз и файлы 1CEStart
На рабочем месте лежит не сами настройки, а вспомогательные файлы. Их полезно знать, когда что-то «залипло» у одного человека, а у остальных всё нормально.
Профиль пользователя Windows
| Путь | Что там |
|---|---|
%APPDATA%\1C\1CEStart\ibases.v8i | Список баз в окне запуска: имена, пути, строки подключения, папки |
%APPDATA%\1C\1CEStart\1CEStart.cfg | Личные параметры окна запуска, в том числе подключённые общие списки баз |
%APPDATA%\1C\1cv8\<идентификатор базы>\ | Кэш клиента по конкретной базе, в том числе имя последнего вошедшего пользователя |
%LOCALAPPDATA%\1C\1cv8\<идентификатор базы>\ | Кэш метаданных конфигурации: бывает в сотни мегабайт |
Папки с длинными GUID-именами соответствуют базам из списка. Связь видна в самом ibases.v8i: у каждой базы там есть строка ID= с идентификатором, и папка кэша называется так же. Пример фрагмента:
[Бухгалтерия ООО Ромашка]
Connect=Srvr="srv1c";Ref="buh_romashka";
ID=3f2a9c1e-7b4d-4e8a-9c21-5d6e7f8a9b0c
Folder=/
Значит, кэш этой базы лежит в папках ...\1C\1cv8\3f2a9c1e-7b4d-4e8a-9c21-5d6e7f8a9b0c\. Если базу удалить из списка и добавить заново, идентификатор сменится, и платформа соберёт кэш с нуля.
Общие файлы на компьютере
- ⚙️
C:\ProgramData\1C\1CEStart\1CEStart.cfg— общие для всех пользователей ПК параметры запуска: используемая версия платформы, адреса общих списков баз. - ⚙️
C:\Program Files\1cv8\conf\conf.cfg— настройки платформы на машине, например каталог для общих файлов. Рядом может лежатьlogcfg.xmlдля технологического журнала. - 🔑
nethasp.iniв той же папкеconf— адрес сервера аппаратных ключей защиты. К пользовательским настройкам отношения не имеет, но его часто ищут рядом.
Терминальный сервер и перемещаемые профили
На терминальном сервере у каждого пользователя Windows свой профиль, а значит, свой ibases.v8i и свой кэш. Двадцать бухгалтеров на одном сервере — двадцать папок %LOCALAPPDATA%\1C\1cv8\, каждая с копией метаданных. Это гигабайты на диске C:.
Что помогает в такой схеме:
- 📋 общий список баз: файл
.v8iна сетевом ресурсе, подключённый черезC:\ProgramData\1C\1CEStart\1CEStart.cfg. Новый сотрудник сразу видит нужные базы; - 🧹 периодическая чистка кэша неактивных профилей — при закрытых сеансах этих пользователей;
- 🚫 перемещаемые профили лучше не тащить с кэшем 1С: папку
LocalWindows и так не перемещает, аRoamingс кэшем по базам замедляет вход в систему.
Сервер 1С
На сервере в каталоге кластера (по умолчанию srvinfo\reg_1541) хранятся реестр кластера 1CV8Clst.lst и служебные данные баз. Пользовательских настроек форм и отчётов там нет — они всегда в СУБД.
Реестр Windows: что 1С туда пишет на самом деле
Здесь всё короче, чем ждут. Платформа 8.3 не хранит настройки пользователей в реестре. Формы, отчёты, панели, список баз — ничего из этого в HKEY_CURRENT_USER вы не найдёте.
В реестре 1С оставляет следы установки:
- 📦 записи установщика в разделе удаления программ — версия и путь установки платформы;
- 🖥️ на сервере — службу агента:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\с ключом службы агента сервера 1С. В параметреImagePathвидна строка запускаragent.exeс портами (-port 1540,-regport 1541,-range 1560:1591) и каталогом-dдляsrvinfo.
Порты и каталог службы иногда правят именно через ImagePath. Остановка службы агента обрывает сеансы всех пользователей кластера — делайте это вне рабочего времени и с предупреждением.
Что входит в персональные настройки и где их менять
Пользователь видит свои настройки не через таблицы, а через интерфейс. Основные точки:
Главное меню → Сервис → Параметры— параметры платформы: запрос подтверждения при закрытии, режим открытия форм, отображение вкладок.Главное меню → Вид → Настройка панелей— расположение панели разделов, панели функций, открытых окон.- В любой форме
Ещё → Изменить форму— состав и порядок колонок, полей, кнопок. - В отчёте кнопка
Настройки— отборы и группировки, которые попадут в_RepSettings. - «Персональные настройки» конфигурации — основная организация, склад, ответственные лица. В Бухгалтерии 3.0 и УТ 11 они открываются из главного меню (раздел «Сервис» или «Настройки», зависит от релиза). Значения пишутся в
_CommonSettingsили в регистры конфигурации.
Вернуть платформенные настройки форм к исходным пользователь может сам: Главное меню → Вид → Установить стандартные настройки. Для одной формы — Ещё → Изменить форму → Ещё → Установить стандартные настройки.
Копирование, очистка и резервные копии настроек
Для администратора в типовых конфигурациях на БСП есть три инструмента в разделе Администрирование → Настройки пользователей и прав:
| Инструмент | Когда нужен | Риски |
|---|---|---|
| Копирование настроек | Новый сотрудник должен получить рабочее место как у коллеги | Перезапишет текущие настройки получателя |
| Очистка настроек | Формы «поехали», программа долго открывается у одного человека | Пользователь потеряет свои варианты колонок и отборы |
| Настройки пользователей | Посмотреть, какие настройки есть у человека, и удалить выборочно | Минимальные: можно удалить точечно |
Как скопировать настройки от одного пользователя другому
- Попросите получателя выйти из программы: копирование применяется к закрытому сеансу.
- Откройте
Администрирование → Настройки пользователей и прав → Копирование настроек. - Укажите пользователя-источник и одного или нескольких получателей.
- Отметьте, что копировать: внешний вид, настройки отчётов, персональные настройки.
- Нажмите кнопку копирования и дождитесь сообщения о результате.
- Получатель заходит заново и проверяет рабочий стол.
Удобный приём — завести служебного пользователя «Шаблон бухгалтера» без права входа, настроить под него формы и раздавать настройки новичкам копированием.
Очистка настроек одного пользователя кодом
Если БСП нет или нужно сделать то же самое из внешней обработки, хватит методов стандартного хранилища. Удалить с параметрами Неопределено удаляет все записи этого пользователя:
ИмяПользователя = "Иванова";
ХранилищеСистемныхНастроек.Удалить(Неопределено, Неопределено, ИмяПользователя);
ХранилищеНастроекДанныхФорм.Удалить(Неопределено, Неопределено, ИмяПользователя);
ХранилищеПользовательскихНастроекОтчетов.Удалить(Неопределено, Неопределено, ИмяПользователя);
Выполнять под администратором и при закрытом сеансе пользователя. ХранилищеОбщихНастроек здесь намеренно не трогаем: там лежат персональные настройки конфигурации, без которых, например, не подставится основная организация.
Резервная копия
- 💾 Выгрузка в
.dt(Конфигуратор → Администрирование → Выгрузить информационную базу) содержит все таблицы настроек. - 💾 Бэкап базы
СУБД (
BACKUP DATABASEв MS SQL,pg_dumpв PostgreSQL) тоже их содержит. - ❌ Файл конфигурации
.cfнастроек пользователей не содержит.
Восстановить настройки одного человека, не откатывая всю базу, можно так: разверните копию в отдельную базу, настройте в ней служебного пользователя по образцу нужного, затем повторите настройку в рабочей базе или скопируйте её от служебного пользователя. Прямой перенос строк между базами через SQL работает, но это неподдерживаемый путь.
Частые проблемы с настройками и как их избежать
Переименовали пользователя — настройки пропали. Записи в хранилищах привязаны к имени пользователя. Карточка пользователя в БСП переносит настройки при переименовании. Если же имя поменяли в списке пользователей Конфигуратора, настройки остаются под старым именем. Лучше переименовывать через Администрирование → Настройки пользователей и прав → Пользователи.
Чистят профиль Windows и ждут, что сбросятся формы. Удаление папок в %APPDATA%\1C\1cv8\ чистит только кэш. Колонки и отборы вернутся при следующем входе, потому что они в базе.
Удаляют кэш при открытой программе. Файлы заняты, часть удалится, часть нет. Сначала закройте все окна 1С на этом компьютере, потом чистите. В терминальном режиме у каждого пользователя свой профиль: чистить нужно именно его папку.
Удалили уволенного сотрудника — настройки остались. При пометке на удаление или отключении входа записи в хранилищах никуда не деваются. Раз в год их стоит чистить: это реальные мегабайты в больших базах с сотней пользователей.
Ждут, что настройки «для всех» хранятся отдельно. Платформа не знает понятия «общие настройки форм». Общими бывают варианты отчётов и персональные настройки, которые раздали копированием. Колонки формы у каждого свои.
Частые вопросы о хранении настроек
Можно ли перенести настройки пользователя в другую базу?
Хранятся ли настройки в облачной базе 1С:Фреш?
Влияет ли обновление конфигурации на настройки пользователей?
Почему на сервере нет файлов с настройками?
srvinfo содержит только реестр кластера и служебные файлы.