Хранилища настроек 1С 8.3: таблицы базы, кэш в профиле Windows и служебные файлы

· 9 мин

Содержание

Настройки пользователей в 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С: папку Local Windows и так не перемещает, а 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. Остановка службы агента обрывает сеансы всех пользователей кластера — делайте это вне рабочего времени и с предупреждением.

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

Пользователь видит свои настройки не через таблицы, а через интерфейс. Основные точки:

  1. Главное меню → Сервис → Параметры — параметры платформы: запрос подтверждения при закрытии, режим открытия форм, отображение вкладок.
  2. Главное меню → Вид → Настройка панелей — расположение панели разделов, панели функций, открытых окон.
  3. В любой форме Ещё → Изменить форму — состав и порядок колонок, полей, кнопок.
  4. В отчёте кнопка Настройки — отборы и группировки, которые попадут в _RepSettings.
  5. «Персональные настройки» конфигурации — основная организация, склад, ответственные лица. В Бухгалтерии 3.0 и УТ 11 они открываются из главного меню (раздел «Сервис» или «Настройки», зависит от релиза). Значения пишутся в _CommonSettings или в регистры конфигурации.

Вернуть платформенные настройки форм к исходным пользователь может сам: Главное меню → Вид → Установить стандартные настройки. Для одной формы — Ещё → Изменить форму → Ещё → Установить стандартные настройки.

Копирование, очистка и резервные копии настроек

Для администратора в типовых конфигурациях на БСП есть три инструмента в разделе Администрирование → Настройки пользователей и прав:

ИнструментКогда нуженРиски
Копирование настроекНовый сотрудник должен получить рабочее место как у коллегиПерезапишет текущие настройки получателя
Очистка настроекФормы «поехали», программа долго открывается у одного человекаПользователь потеряет свои варианты колонок и отборы
Настройки пользователейПосмотреть, какие настройки есть у человека, и удалить выборочноМинимальные: можно удалить точечно

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

  1. Попросите получателя выйти из программы: копирование применяется к закрытому сеансу.
  2. Откройте Администрирование → Настройки пользователей и прав → Копирование настроек.
  3. Укажите пользователя-источник и одного или нескольких получателей.
  4. Отметьте, что копировать: внешний вид, настройки отчётов, персональные настройки.
  5. Нажмите кнопку копирования и дождитесь сообщения о результате.
  6. Получатель заходит заново и проверяет рабочий стол.

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

Очистка настроек одного пользователя кодом

Если БСП нет или нужно сделать то же самое из внешней обработки, хватит методов стандартного хранилища. Удалить с параметрами Неопределено удаляет все записи этого пользователя:

ИмяПользователя = "Иванова";

ХранилищеСистемныхНастроек.Удалить(Неопределено, Неопределено, ИмяПользователя);
ХранилищеНастроекДанныхФорм.Удалить(Неопределено, Неопределено, ИмяПользователя);
ХранилищеПользовательскихНастроекОтчетов.Удалить(Неопределено, Неопределено, ИмяПользователя);

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

Резервная копия

  • 💾 Выгрузка в .dt (Конфигуратор → Администрирование → Выгрузить информационную базу) содержит все таблицы настроек.
  • 💾 Бэкап базы СУБД (BACKUP DATABASE в MS SQL, pg_dump в PostgreSQL) тоже их содержит.
  • ❌ Файл конфигурации .cf настроек пользователей не содержит.

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

Диагностика: выберите симптом

Частые проблемы с настройками и как их избежать

Переименовали пользователя — настройки пропали. Записи в хранилищах привязаны к имени пользователя. Карточка пользователя в БСП переносит настройки при переименовании. Если же имя поменяли в списке пользователей Конфигуратора, настройки остаются под старым именем. Лучше переименовывать через Администрирование → Настройки пользователей и прав → Пользователи.

Чистят профиль Windows и ждут, что сбросятся формы. Удаление папок в %APPDATA%\1C\1cv8\ чистит только кэш. Колонки и отборы вернутся при следующем входе, потому что они в базе.

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

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

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

Частые вопросы о хранении настроек

Можно ли перенести настройки пользователя в другую базу?
Штатного переноса между базами нет: инструменты БСП копируют настройки внутри одной базы. Для типовой задачи проще настроить шаблонного пользователя в новой базе и раздать настройки копированием.
Хранятся ли настройки в облачной базе 1С:Фреш?
Да, точно так же — в самой базе на стороне сервиса. Локально у пользователя остаются только кэш и список баз.
Влияет ли обновление конфигурации на настройки пользователей?
Обычно нет, они сохраняются. Если в релизе изменилась форма, сохранённые настройки этой формы могут не подойти — тогда помогает «Установить стандартные настройки».
Почему на сервере нет файлов с настройками?
В клиент-серверном варианте все пользовательские данные базы хранятся в СУБД. Каталог srvinfo содержит только реестр кластера и служебные файлы.
Где хранится пароль пользователя 1С?
В списке пользователей информационной базы, в виде хэша, а не в хранилищах настроек. Посмотреть его нельзя, можно только задать новый.