Чистим кэш 1С:Предприятия 8.3 на компьютере пользователя и на сервере
Содержание
Чтобы очистить кэш
1С, закройте программу и удалите папки с длинными именами вида 8d3f1c2a-... в двух каталогах: %APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8. Второй способ — добавить к запуску базы параметр /ClearCache: платформа сама сбросит кэш этой базы при входе. Это работает одинаково для толстого и тонкого клиента
8.3 и для любой конфигурации: БП, ЗУП, УТ, ERP.
Если база клиент-серверная и сбой повторяется у всех пользователей сразу, чистить нужно ещё и кэш на сервере 1С — сеансовые данные в каталоге srvinfo. Это уже работа администратора: она требует остановки службы и обрывает сеансы.
Где 1С хранит кэш и когда его пора удалять
Кэш — это локальная копия конфигурации, форм, макетов и метаданных. Платформа складывает её на диск, чтобы не тянуть всё из базы при каждом запуске. Когда копия расходится с базой, начинаются странности.
Каталоги кэша на компьютере пользователя
| Каталог | Что внутри | Можно удалять |
|---|---|---|
%APPDATA%\1C\1cv8\<GUID> | кэш конфигурации и настроек конкретной базы | да, при закрытой 1С |
%LOCALAPPDATA%\1C\1cv8\<GUID> | основной объём кэша метаданных, иногда сотни мегабайт | да, при закрытой 1С |
%APPDATA%\1C\1CEStart\ibases.v8i | список баз в окне запуска | нет — пропадёт список баз |
%APPDATA%\1C\1cv8\*.pfl | локальные настройки клиента | не нужно |
%APPDATA%\1C\1cv8\ExtCompT | установленные внешние компоненты | не нужно |
<GUID> — это папка с именем из 32 шестнадцатеричных символов, разделённых дефисами. Одна такая папка соответствует одной базе из списка. В Windows 10 и 11 полный путь выглядит как C:\Users\<имя>\AppData\Roaming\1C\1cv8 и C:\Users\<имя>\AppData\Local\1C\1cv8.
Кэш на сервере 1С
На сервере хранятся сеансовые данные и служебные файлы кластера. По умолчанию это каталог C:\Program Files\1cv8\srvinfo\reg_1541, если при установке не указали другой. В нём лежат папки snccntx<GUID> — это и есть кэш сеансовых данных.
На Linux тот же каталог обычно находится в /home/usr1cv8/.1cv8/1C/1cv8/reg_1541.
Признаки, что кэш испорчен
- 🔴 при входе появляется
Ошибка формата потока; - 🔴 после обновления конфигурации у одного пользователя старые формы, а у других новые;
- 🔴 форма документа или отчёта не открывается, хотя у коллег работает;
- 🔴 1С долго висит на заставке, а на другом компьютере эта же база стартует быстро;
- 🔴 появляются ошибки про неизвестные объекты или реквизиты, которых в конфигурации точно нет.
Если сбой есть только на одном компьютере — чистите кэш этого пользователя. Если у всех в клиент-серверной базе — начинайте с сервера.
Ручная очистка кэша 1С через проводник
Самый надёжный способ. Занимает 2–3 минуты, специальных прав не требует: пользователь чистит свой профиль сам.
- Закройте все окна 1С, включая Конфигуратор. Проверьте в диспетчере задач, что нет процессов
1cv8.exeи1cv8c.exe. - Нажмите
Win + R, введите%APPDATA%\1C\1cv8и нажмите Enter. - Удалите все папки с GUID-именами. Файлы
.pflи папкуExtCompTне трогайте. - Снова
Win + R, введите%LOCALAPPDATA%\1C\1cv8. - Удалите папки с GUID-именами и здесь.
- Запустите 1С. Первый вход будет медленнее: платформа заново скачает конфигурацию в кэш.
Как удалить кэш только одной базы
Если баз в списке десять, а проблема с одной, удалять всё необязательно. Определить нужную папку проще всего по времени изменения: откройте проблемную базу, закройте её и отсортируйте папки по дате. Самая свежая — её.
Второй способ — открыть ibases.v8i в блокноте. У каждой базы там есть строка ID= с идентификатором. Папка кэша этой базы называется так же.
Что сохранится после удаления
В 8.3 пользовательские настройки форм, отчётов и рабочего стола хранятся в самой информационной базе. Удаление кэша их не стирает. Список баз тоже остаётся, если не трогать ibases.v8i.
Пропадут только локальные мелочи вроде истории последних открытых объектов. Ничего из учётных данных при этом не меняется: кэш — копия, а не оригинал.
Параметр /ClearCache: очистка кэша при запуске
Когда пользователю сложно объяснить про скрытые папки, проще сделать так, чтобы 1С сама сбросила кэш при входе.
Через окно запуска
- В окне запуска выделите базу и нажмите
Изменить. - Пройдите кнопкой
Далеедо последней страницы. - В поле
Дополнительные параметры запускавпишите/ClearCache. - Нажмите
Готовои запустите базу.
После успешного входа параметр лучше убрать. Иначе каждый запуск будет таким же медленным, как первый.
Через ярлык или командную строку
"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /IBName"Бухгалтерия" /ClearCache
Вместо /IBName можно указать путь к файловой базе через /F"D:\Base\Buh" или адрес серверной через /S"srv1c\buh". Имя в /IBName должно совпадать с названием базы в списке.
/ClearCache сбрасывает клиентский кэш одной базы. Сеансовые данные на сервере он не чистит, поэтому общий для всех сбой так не лечится.
Очистка серверного кэша 1С: служба агента и srvinfo
Этот способ нужен, когда в клиент-серверной базе ошибка воспроизводится у всех пользователей. Типичный случай — после обновления конфигурации или платформы кластер продолжает отдавать старые данные.
Остановка службы обрывает сеансы всех пользователей всех баз на этом сервере. Делайте это вне рабочего времени или заранее предупредите людей, чтобы они сохранили документы.
Порядок действий на Windows
- Попросите пользователей выйти из 1С. Проверьте в консоли кластера, что сеансов не осталось.
- Откройте
services.mscи найдите службуАгент сервера 1С:Предприятия 8.3(с разрядностью в названии). - Откройте её свойства и посмотрите строку
Исполняемый файл. Параметр-dтам показывает фактический каталогsrvinfo. - Остановите службу. Убедитесь, что в диспетчере задач не осталось процессов
ragent.exe,rmngr.exe,rphost.exe. - Перейдите в
srvinfo\reg_1541и удалите папкиsnccntx<GUID>. - Запустите службу и войдите в базу.
Файлы 1CV8Clst.lst и 1CV8Reg.lst удалять нельзя. В них список баз кластера и его настройки. Без них кластер придётся регистрировать заново.
Порядок действий на Linux
Имя службы зависит от версии платформы и способа установки. Посмотреть его можно командой:
systemctl list-units --type=service | grep 1cv8
Дальше то же самое: остановить службу, удалить snccntx* в каталоге reg_1541, запустить службу.
Перед удалением можно просто переименовать папки, например добавить _old. Если после запуска всё работает, их удаляют через день.
Что можно сделать из консоли администрирования серверов
Отдельной кнопки «очистить кэш» в консоли кластера нет. Зато через неё готовят сервер к очистке и иногда обходятся вообще без остановки службы.
Завершить сеансы проблемной базы
Раскройте Кластеры → <кластер> → Информационные базы → <база> → Сеансы. Выделите сеансы и удалите их через контекстное меню. Пользователи получат сообщение о разрыве соединения, а при повторном входе сеанс будет создан заново.
Заблокировать вход на время работ
В свойствах информационной базы включите Блокировка начала сеансов включена, задайте время начала и окончания и текст сообщения. Пока идёт очистка, новые пользователи не подключатся и не зацепят старые данные.
Плановый перезапуск рабочих процессов
В свойствах кластера есть поле Интервал перезапуска в секундах. Если указать, например, 86400, рабочие процессы будут перезапускаться раз в сутки. Это не очистка кэша, но накопленные в памяти процессов данные при этом сбрасываются.
Для тех, кто работает из командной строки, есть утилита rac. Список сеансов выводит rac session list --cluster=<id>, а полный перечень команд — rac help.
Утилиты chcache и аналоги: стоит ли ими пользоваться
В поставке платформы 1С отдельной утилиты очистки кэша нет. Из штатных есть chdbfl.exe в каталоге bin, но она проверяет физическую целостность файловой базы, а не кэш.
Программы под названиями вроде chcache — сторонние. По сути они делают то же самое, что и ручной способ: находят папки с GUID в профиле и удаляют их. Плюс — удобно для пользователя. Минусы такие:
- ⚠️ неизвестно, кто собрал файл и что ещё он делает с правами пользователя;
- ⚠️ некоторые удаляют весь каталог
1C, вместе со списком баз и внешними компонентами; - ⚠️ антивирус может блокировать такие программы как подозрительные.
Если хочется «кнопку в один клик», надёжнее сделать свой скрипт из следующего раздела. Он короткий, его легко проверить глазами, и он не трогает лишнего.
Скрипты для автоматической очистки кэша 1С
Когда пользователей десятки, ручная очистка превращается в рутину. Скрипт можно положить на рабочий стол, раздать групповой политикой или запускать по расписанию.
bat-файл для пользователя
@echo off
tasklist /FI "IMAGENAME eq 1cv8c.exe" | find /I "1cv8c.exe" >nul && goto busy
tasklist /FI "IMAGENAME eq 1cv8.exe" | find /I "1cv8.exe" >nul && goto busy
for /d %%D in ("%APPDATA%\1C\1cv8\*-*-*-*-*") do rd /s /q "%%D"
for /d %%D in ("%LOCALAPPDATA%\1C\1cv8\*-*-*-*-*") do rd /s /q "%%D"
echo 1C cache cleared.
pause
exit /b 0
:busy
echo Close 1C and run this file again.
pause
exit /b 1
Маска *-*-*-*-* выбирает только папки с GUID-именами, поэтому ExtCompT, .pfl и список баз остаются на месте. Сообщения написаны латиницей, чтобы не возиться с кодировкой консоли.
PowerShell-вариант со строгой проверкой имени
if (Get-Process 1cv8, 1cv8c -ErrorAction SilentlyContinue) {
Write-Host "1C is running. Close it first."
exit 1
}
$guid = '^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$'
foreach ($p in "$env:APPDATA\1C\1cv8", "$env:LOCALAPPDATA\1C\1cv8") {
Get-ChildItem $p -Directory -ErrorAction SilentlyContinue |
Where-Object { $_.Name -match $guid } |
Remove-Item -Recurse -Force
}
Write-Host "1C cache cleared."
Как запускать по расписанию
- 🗓 в
Планировщике заданийсоздайте задачу с триггером «При входе в систему» — кэш будет сбрасываться до того, как пользователь откроет 1С; - 🗓 на терминальном сервере задачу удобно привязать к выходу пользователя: кэш одного не мешает остальным;
- 🗓 в домене тот же скрипт назначают как сценарий входа через групповую политику.
Каждодневная очистка не нужна. Она лишь замедлит первый запуск. Разумный вариант — запускать скрипт после обновления конфигурации или по запросу.
Серверная очистка скриптом
Для сервера на Windows скрипт выглядит так. Имя службы подставьте своё, оно указано в свойствах службы в поле Имя службы.
@echo off
set SVC=1C:Enterprise 8.3 Server Agent (x86-64)
set REG=C:\Program Files\1cv8\srvinfo\reg_1541
net stop "%SVC%"
for /d %%D in ("%REG%\snccntx*") do rd /s /q "%%D"
net start "%SVC%"
Запускайте его только ночью или в окно обслуживания: остановка службы завершает все сеансы на сервере.
Нужно ли чистить реестр Windows от следов 1С
Коротко: для очистки кэша — нет. Кэш 1С хранится в файлах профиля и в srvinfo, а не в реестре. Чистка реестра ни ошибку формата потока, ни старые формы не исправит.
Реестр бывает нужен в другой ситуации — когда платформа удалилась криво и новая версия не ставится. Тогда порядок такой:
- Удалите все версии платформы через
Параметры → ПриложенияилиПрограммы и компоненты. - Перезагрузите компьютер.
- Если установщик всё равно ругается на уже установленную версию, воспользуйтесь средством устранения неполадок установки программ от Microsoft.
- Только если и это не помогло — откройте
regedit, сначала сделайте экспорт ветки черезФайл → Экспорт, затем ищите разделы с «1C» вHKEY_LOCAL_MACHINE\SOFTWAREиHKEY_CURRENT_USER\Software.
Программы-«чистильщики» реестра здесь не помощники. Они удаляют записи без разбора, а восстановить их без резервной копии трудно.
Как реже сталкиваться с испорченным кэшем
Кэш портится не сам по себе. Обычно причина в обрыве связи или в нарушенном порядке обновления.
Что делать на практике
- ✅ обновляйте конфигурацию, когда все пользователи вышли из базы, а после обновления попросите их перезайти;
- ✅ держите одинаковую версию платформы на клиентах и сервере: номер клиента должен совпадать с номером сервера;
- ✅ не храните профили пользователей на сетевом диске с перемещаемым
AppData\Local— кэш там раздувается и ломается при обрывах сети; - ✅ следите за свободным местом на диске
C:: при нехватке места кэш записывается не до конца; - ✅ добавьте каталоги кэша и
srvinfoв исключения антивируса, если он сканирует их при каждом обращении.
Частые ошибки при очистке
- ❌ удалить весь каталог
%APPDATA%\1C— вместе с ним пропадает список баз и приходится добавлять их заново; - ❌ чистить кэш при открытой 1С — часть файлов заблокирована, и очистка проходит наполовину;
- ❌ оставить
/ClearCacheв параметрах навсегда — каждый вход становится медленным; - ❌ удалить
1CV8Clst.lstна сервере вместо папокsnccntx— кластер теряет список баз; - ❌ чистить кэш на клиенте, когда сбой у всех: проблема в этом случае на сервере или в самой конфигурации.