Карта настроек 1С 8.3: профиль пользователя, кэш, сервер, реестр и таблицы базы

· 10 мин

Содержание

Настройки конфигуратора 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

Файлов два уровня:

  1. C:\ProgramData\1C\1CEStart\1cestart.cfg — общий для всех пользователей компьютера.
  2. %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

Сама платформа почти ничего не пишет в реестр. «Скрытые параметры», которые ищут в реестре, — это обычно командная строка службы агента сервера.

Где посмотреть:

  1. Нажмите Win+R → regedit.
  2. Перейдите в HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\.
  3. Найдите раздел службы агента, например 1C:Enterprise 8.3 Server Agent (x86-64).
  4. Откройте параметр 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\) переносить не нужно — он восстановится сам.

Что сохранить перед переездом
Выполнено: 0 / 6

Экспорт раздела службы из реестра одной командой:

reg export "HKLM\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.3 Server Agent (x86-64)" D:\backup\1c_agent.reg

Папку srvinfo копируйте только при остановленной службе агента — открытые файлы реестра кластера скопируются в несогласованном состоянии. Остановка службы, как и перезапуск, завершает сеансы пользователей.

Отдельно от этих файлов сохраняйте то, что хранится в базе:

  • 💾 конфигурацию — Конфигурация → Сохранить конфигурацию в файл (файл .cf);
  • 💾 базу целиком — Администрирование → Выгрузить информационную базу (файл .dt);
  • 💾 расширения — из окна Конфигурация → Расширения конфигурации, файлы .cfe.

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

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

Почему после переустановки платформы пропали параметры редактора?
Чаще всего профиль не пострадал, но 1С запущена под другой учётной записью Windows или профиль создан заново. Проверьте папку %APPDATA%\1C\1cv8\ старого пользователя и перенесите .pfl оттуда.
Можно ли сделать один список баз для всего офиса?
Да. Положите общий .v8i на сетевой ресурс и пропишите путь к нему в параметре CommonInfoBases файла C:\ProgramData\1C\1CEStart\1cestart.cfg на каждом компьютере.
Удаление кэша не испортит базу?
Нет. В кэше лежат копии метаданных с сервера, сама база при этом не меняется. Минус один: первый запуск после очистки будет дольше обычного.
Где хранятся настройки подключения к хранилищу конфигурации?
В профиле пользователя, в папке настроек этой базы %APPDATA%\1C\1cv8\<GUID>\. Поэтому на новом компьютере к хранилищу придётся подключиться заново.
Чем отличается Roaming от Local в профиле?
%APPDATA% (Roaming) переезжает вместе с доменным перемещаемым профилем, там настройки. %LOCALAPPDATA% (Local) остаётся на компьютере, там кэш — его не жалко потерять.