Карта настроек 1С 8.3: профиль пользователя, кэш, сервер, реестр и таблицы базы
Содержание
Настройки конфигуратора 1С 8.3 хранятся не в одном месте. Личные параметры (список баз, окно запуска, параметры редактора, шаблоны) лежат в профиле пользователя Windows: %APPDATA%\1C\1CEStart\ и %APPDATA%\1C\1cv8\. Кэш конфигурации — в %LOCALAPPDATA%\1C\1cv8\. Общие для компьютера параметры платформы — в conf.cfg в каталоге установки, настройки сервера — в папке srvinfo и в параметрах службы в реестре.
Сама конфигурация и настройки пользователей режима «Предприятие» живут внутри базы: в файле 1Cv8.1CD у файловой базы или в системных таблицах SQL у клиент-серверной. Ниже — каждое место по порядку: что там лежит, когда туда лезть и что можно трогать.
Файлы настроек конфигуратора в профиле пользователя
Главная папка — перемещаемый профиль (Roaming). Откройте её так: Win+R → %APPDATA%\1C → Enter.
| Путь | Что хранится |
|---|---|
%APPDATA%\1C\1CEStart\ibases.v8i | Список информационных баз в окне запуска |
%APPDATA%\1C\1CEStart\1cestart.cfg | Параметры окна запуска для текущего пользователя |
%APPDATA%\1C\1cv8\ | Файлы профиля *.pfl: общие настройки и параметры окна запуска |
%APPDATA%\1C\1cv8\<GUID>\ | Настройки, привязанные к конкретной базе из списка |
%APPDATA%\1C\1cv8\tmplts\ | Каталог шаблонов конфигураций и обновлений по умолчанию |
Из *.pfl в корне папки 1cv8 чаще всего упоминают два файла:
- 📄
1cv8strt.pfl— параметры окна запуска; - 📄
1cv8cmn.pfl— общие настройки пользователя платформы.
Файлы .pfl двоичные. Редактировать их вручную бессмысленно: их либо копируют целиком, либо удаляют, чтобы сбросить настройки к исходным.
Что из «Сервис → Параметры» сохраняется в профиле
Всё, что вы меняете в конфигураторе через Сервис → Параметры, — шрифты, цвета модулей, отступы, автозамена, поведение контекстной подсказки — пишется в профиль пользователя Windows. В базу эти параметры не попадают.
Отсюда практичное следствие: другой разработчик, открывший ту же базу под своей учётной записью Windows, увидит свои настройки. А вы на новом компьютере увидите настройки по умолчанию, пока не перенесёте профиль.
Шаблоны текста .st
Шаблоны текста модулей хранятся в отдельных файлах с расширением .st. Путь к ним выбирает сам пользователь при подключении шаблона, а в профиле запоминается только список подключённых файлов. Если шаблоны «пропали» после переноса, проверьте, на месте ли сами .st по старому пути.
Держите свои .st в отдельной папке вне профиля, например в D:\1C\templates\. Тогда при смене компьютера достаточно скопировать её и заново подключить шаблоны.
На Linux
На Linux те же данные лежат в скрытых каталогах домашней папки: список баз — в ~/.1C/1cestart/, профиль и кэш — в ~/.1cv8/. Логика файлов та же, что в Windows.
Список баз и файл 1cestart.cfg
Окно запуска собирает список баз из нескольких источников. Понимать это нужно, когда база «исчезла» из списка или, наоборот, не удаляется.
Где лежат 1cestart.cfg
Файлов два уровня:
C:\ProgramData\1C\1CEStart\1cestart.cfg— общий для всех пользователей компьютера.%APPDATA%\1C\1CEStart\1cestart.cfg— личный, текущего пользователя.
Это обычные текстовые файлы, их можно открыть Блокнотом. Параметры, которые встречаются чаще всего:
| Параметр | Назначение |
|---|---|
CommonInfoBases= | Путь к общему файлу списка баз .v8i (например, на сетевом ресурсе) |
InstalledLocation= | Каталог, где окно запуска ищет установленные версии платформы |
ConfigurationTemplatesLocation= | Каталог шаблонов конфигураций и обновлений |
UseHWLicenses= | Искать ли аппаратный ключ защиты: 1 — да, 0 — нет |
Пример личного файла:
CommonInfoBases=\\fileserver\1c\bases.v8i
ConfigurationTemplatesLocation=D:\1C\tmplts
UseHWLicenses=0
Формат ibases.v8i
Файл ibases.v8i — текстовый, по секции на базу:
[Бухгалтерия предприятия]
Connect=Srvr="srv1c";Ref="bp_main";
ID=3f6c2a10-8b1e-4c7d-9a55-0e2b7d1c4f88
OrderInList=1
Folder=/
ClientConnectionSpeed=Normal
App=Auto
WA=1
Version=8.3
Строка Connect — это строка соединения: File="путь" для файловой базы или Srvr и Ref для серверной. Строка ID нужна дальше: по ней находится папка кэша и настроек этой базы.
Базы из файла, указанного в CommonInfoBases, добавляются к списку каждый раз при запуске. Удалить такую базу из окна запуска не получится — её нужно убрать из общего .v8i на сервере.
Временные файлы и кэш конфигуратора
Кэш лежит в локальной (не перемещаемой) части профиля: %LOCALAPPDATA%\1C\1cv8\. Внутри — папки с именами-GUID. Имя папки совпадает со строкой ID базы в ibases.v8i, поэтому нужную базу легко найти без перебора.
В кэше хранятся загруженные с сервера метаданные конфигурации, формы, модули. Благодаря ему конфигуратор и клиент не скачивают всё заново при каждом запуске.
Когда кэш нужно чистить:
- 🔄 после обновления конфигурации в базе видна старая форма или старый код;
- 🔄 конфигуратор падает на открытии базы, а у коллеги на другом компьютере та же база открывается;
- 🔄 после смены версии платформы появились странные ошибки отображения.
Три способа очистки, от мягкого к радикальному:
| Способ | Как | Что теряется |
|---|---|---|
| Параметр запуска | Добавить /ClearCache в дополнительные параметры базы в окне запуска | Только кэш этой базы |
| Удаление папки базы | Закрыть 1С, удалить папку <GUID> в %LOCALAPPDATA%\1C\1cv8\ | Кэш одной базы |
| Полная очистка | Закрыть 1С, удалить содержимое %LOCALAPPDATA%\1C\1cv8\ и папки <GUID> в %APPDATA%\1C\1cv8\ | Кэш и личные настройки всех баз |
Перед удалением папок закройте все сеансы 1С на этом компьютере, иначе часть файлов окажется занята. Папку tmplts при полной очистке не трогайте: в ней лежат шаблоны обновлений.
Пример bat-файла для очистки кэша одного пользователя:
@echo off
taskkill /im 1cv8.exe /f
taskkill /im 1cv8c.exe /f
rd /s /q "%LOCALAPPDATA%\1C\1cv8"
echo Кэш 1С очищен
taskkill /f закрывает 1С без сохранения. Несохранённые изменения в модулях и открытые документы будут потеряны. Запускайте скрипт, когда пользователь закончил работу.
Настройки платформы и сервера 1С:Предприятие
conf.cfg и logcfg.xml в каталоге установки
У каждой установленной версии платформы есть каталог C:\Program Files\1cv8\8.3.xx.xxxx\bin\conf\. В нём:
- ⚙️
conf.cfg— общие параметры платформы для всех пользователей компьютера (например, язык интерфейсаSystemLanguage=); - ⚙️
logcfg.xml— настройки технологического журнала, если его включали; - ⚙️
nethasp.ini— параметры поиска сетевого ключа HASP, если используются аппаратные ключи.
После установки новой версии платформы эти файлы в новом каталоге будут «чистыми». Сделанные правки придётся перенести вручную.
Папка srvinfo на сервере
Сервер 1С держит свои настройки в рабочем каталоге кластера. По умолчанию это C:\Program Files\1cv8\srvinfo\, но путь может быть переопределён параметром -d в командной строке службы.
| Файл или папка | Что содержит |
|---|---|
srvinfo\1cv8wsrv.lst | Список кластеров центрального сервера |
srvinfo\reg_1541\1CV8Clst.lst | Реестр кластера: зарегистрированные базы, рабочие серверы, менеджеры, параметры |
srvinfo\reg_1541\<GUID>\ | Служебные данные отдельных баз (в том числе сеансовые) |
Номер в имени reg_1541 соответствует порту менеджера кластера. Если кластер работает на другом порту, папка будет называться иначе.
Не редактируйте 1CV8Clst.lst вручную. Ошибка в одной скобке — и кластер не поднимется. Все изменения делайте через консоль кластера или rac.
Параметры службы в реестре Windows
Сама платформа почти ничего не пишет в реестр. «Скрытые параметры», которые ищут в реестре, — это обычно командная строка службы агента сервера.
Где посмотреть:
- Нажмите
Win+R→regedit. - Перейдите в
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\. - Найдите раздел службы агента, например
1C:Enterprise 8.3 Server Agent (x86-64). - Откройте параметр
ImagePath.
Типичное значение:
"C:\Program Files\1cv8\8.3.xx.xxxx\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo" -debug
Что здесь настраивается:
- 🔌
-port 1540— порт агента сервера; - 🔌
-regport 1541— порт менеджера кластера; - 🔌
-range 1560:1591— диапазон портов рабочих процессов; - 📁
-d— рабочий каталог кластера (тот самыйsrvinfo); - 🐞
-debug— разрешение отладки на сервере.
Изменения вступают в силу только после перезапуска службы.
Перезапуск службы агента обрывает все сеансы пользователей на этом сервере. Делайте это вне рабочего времени и предупредите людей заранее.
Ещё в реестре регистрируются COM-компоненты платформы: comcntr.dll (COM-соединение V83.COMConnector) и radmin.dll (для консоли администрирования). Если консоль кластера перестала открываться после обновления платформы, перерегистрируйте radmin.dll нужной версии из командной строки от имени администратора:
regsvr32 "C:\Program Files\1cv8\8.3.xx.xxxx\bin\radmin.dll"
Настройки внутри базы: файл 1CD и таблицы SQL
Конфигурация — это тоже настройка, и хранится она в самой базе. У файловой базы всё лежит в одном файле 1Cv8.1CD. У клиент-серверной — в отдельных системных таблицах СУБД.
| Таблица | Что хранит |
|---|---|
Config | Конфигурация базы данных — та, с которой работают пользователи |
ConfigSave | Основная конфигурация, сохранённая в конфигураторе, но ещё не применённая к базе |
Params | Параметры информационной базы |
v8users | Список пользователей базы |
_CommonSettings | Хранилище общих настроек |
_SystemSettings | Хранилище системных настроек |
_FrmDtSettings | Настройки данных форм |
_RepSettings, _RepVarSettings | Пользовательские настройки и варианты отчётов |
Разница между Config и ConfigSave объясняет частую ситуацию: вы сохранили изменения в конфигураторе, а пользователи их не видят. Пока не выполнена команда Конфигурация → Обновить конфигурацию базы данных (F7), изменения лежат только в ConfigSave.
Посмотреть, есть ли в базе таблицы настроек и сколько они весят, можно запросом на MS SQL:
SELECT t.name AS table_name,
SUM(p.rows) AS row_count
FROM sys.tables t
JOIN sys.partitions p ON p.object_id = t.object_id AND p.index_id IN (0, 1)
WHERE t.name IN ('Config', 'ConfigSave', 'Params', 'v8users',
'_CommonSettings', '_SystemSettings', '_FrmDtSettings')
GROUP BY t.name;
Только чтение. Изменение этих таблиц напрямую через SQL — гарантированный путь к неработающей базе. Платформа хранит в них данные в своём формате, и никакой поддержки такой правки нет.
Обычный сценарий, когда эта информация нужна администратору: таблица _FrmDtSettings или _CommonSettings разрослась до гигабайт, и пользователи жалуются на медленное открытие форм. Решение — очистить настройки штатными средствами (см. следующий раздел), а не командой DELETE.
Программный доступ к настройкам из встроенного языка
Настройки самого конфигуратора из кода недоступны: они в профиле Windows, а не в базе. Зато настройки пользователей режима «Предприятие» из таблиц выше читаются и пишутся через стандартные хранилища.
| Объект встроенного языка | Что хранит |
|---|---|
ХранилищеОбщихНастроек | Произвольные настройки, которые сохраняет код конфигурации |
ХранилищеСистемныхНастроек | Положение окон, состав панелей, системные параметры |
ХранилищеНастроекДанныхФорм | Отборы и колонки в формах списков |
ХранилищеВариантовОтчетов | Варианты отчётов |
ХранилищеПользовательскихНастроекОтчетов | Пользовательские настройки отчётов |
Пример: сохранить и прочитать значение в общих настройках текущего пользователя.
&НаСервере
Процедура СохранитьКаталогВыгрузки(Каталог)
ХранилищеОбщихНастроек.Сохранить("НастройкиВыгрузки", "Каталог", Каталог);
КонецПроцедуры
&НаСервере
Функция ПрочитатьКаталогВыгрузки()
Каталог = ХранилищеОбщихНастроек.Загрузить("НастройкиВыгрузки", "Каталог");
Если Каталог = Неопределено Тогда
Каталог = КаталогВременныхФайлов();
КонецЕсли;
Возврат Каталог;
КонецФункции
Удалить настройку конкретного пользователя можно методом Удалить(КлючОбъекта, КлючНастроек, ИмяПользователя) того же хранилища. Пустое значение Неопределено в параметре означает «все» — с этим аккуратнее.
Без программирования то же самое делают в типовых конфигурациях на БСП: Администрирование → Настройки пользователей и прав → Настройки пользователей. Там можно скопировать настройки одного пользователя другому или очистить внешний вид форм и отчётов.
Ещё несколько функций, которые помогают в диагностике:
- 🔍
СтрокаСоединенияИнформационнойБазы()— строка соединения текущей базы; - 🔍
КаталогПрограммы()— каталог исполняемых файлов платформы; - 🔍
КаталогВременныхФайлов()— временный каталог пользователя; - 🔍
КонфигурацияИзменена()—Истина, если основная конфигурация отличается от конфигурации базы данных.
Резервная копия настроек и перенос на новый компьютер
Перед переустановкой Windows или переездом на новый компьютер сохраните четыре группы файлов. Кэш (%LOCALAPPDATA%\1C\1cv8\) переносить не нужно — он восстановится сам.
Экспорт раздела службы из реестра одной командой:
reg export "HKLM\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.3 Server Agent (x86-64)" D:\backup\1c_agent.reg
Папку srvinfo копируйте только при остановленной службе агента — открытые файлы реестра кластера скопируются в несогласованном состоянии. Остановка службы, как и перезапуск, завершает сеансы пользователей.
Отдельно от этих файлов сохраняйте то, что хранится в базе:
- 💾 конфигурацию —
Конфигурация → Сохранить конфигурацию в файл(файл.cf); - 💾 базу целиком —
Администрирование → Выгрузить информационную базу(файл.dt); - 💾 расширения — из окна
Конфигурация → Расширения конфигурации, файлы.cfe.
Восстановление — в обратном порядке: сначала установить ту же или более новую платформу, затем вернуть файлы в профиль при закрытой 1С, и только после этого запускать окно запуска.
Частые вопросы
Почему после переустановки платформы пропали параметры редактора?
%APPDATA%\1C\1cv8\ старого пользователя и перенесите .pfl оттуда.Можно ли сделать один список баз для всего офиса?
.v8i на сетевой ресурс и пропишите путь к нему в параметре CommonInfoBases файла C:\ProgramData\1C\1CEStart\1cestart.cfg на каждом компьютере.Удаление кэша не испортит базу?
Где хранятся настройки подключения к хранилищу конфигурации?
%APPDATA%\1C\1cv8\<GUID>\. Поэтому на новом компьютере к хранилищу придётся подключиться заново.Чем отличается Roaming от Local в профиле?
%APPDATA% (Roaming) переезжает вместе с доменным перемещаемым профилем, там настройки. %LOCALAPPDATA% (Local) остаётся на компьютере, там кэш — его не жалко потерять.