Чистка кэша 1С 8.3: вручную, ключом /ClearCache, скриптом и на сервере
Содержание
Чтобы очистить кэш
1С Предприятие 8.3, закройте все окна 1С и удалите папки с длинными именами вида a1b2c3d4-... в %APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8. Второй способ без Проводника — запустить базу один раз с ключом /ClearCache.
Частое заблуждение: «почистишь кэш — потеряешь базу». Нет. Данные лежат в самой информационной базе (файл 1Cv8.1CD или SQL-сервер), а в кэше — только копия конфигурации и служебные файлы клиента. Удалять их безопасно, платформа скачает всё заново при следующем входе.
Когда чистка кэша помогает, а когда бесполезна
Кэш — это локальная копия метаданных и форм, которую клиент 1С хранит на компьютере пользователя. Он ускоряет запуск: не нужно каждый раз тянуть конфигурацию из базы. Проблемы начинаются, когда копия расходится с тем, что лежит в базе.
Чистить стоит, если:
- 🔄 после обновления конфигурации у одного пользователя открываются старые формы, а у других уже новые;
- ⛔ при входе появляется
Ошибка формата потока, причём база у коллег открывается нормально; - 🐢 запуск «висит» на заставке, хотя раньше база стартовала быстро;
- 🧩 после установки или удаления расширения часть команд пропала или не работает ;
- 🖨 печатная форма или отчёт ведут себя иначе, чем на соседнем компьютере.
Общий признак — сбой воспроизводится у одного пользователя или на одном компьютере. Если ошибка у всех сразу, локальный кэш ни при чём. Тогда смотрите в сторону самой базы, сервера 1С или обновления, которое прошло не до конца.
Когда чистка не нужна:
- ❌ «для профилактики» раз в неделю — после каждой очистки первый запуск идёт заметно дольше;
- ❌ при ошибках блокировки таблиц и нехватке лицензий — кэш на них не влияет;
- ❌ при порче данных в базе — тут нужно тестирование и исправление, а не удаление временных файлов.
Где лежит кэш 1С 8.3 и как удалить его через Проводник
В Windows клиент 1С 8.3 использует две папки в профиле пользователя:
| Папка | Полный путь (обычно) | Что внутри |
|---|---|---|
%APPDATA%\1C\1cv8 | C:\Users\Имя\AppData\Roaming\1C\1cv8 | локальные настройки клиента по каждой базе |
%LOCALAPPDATA%\1C\1cv8 | C:\Users\Имя\AppData\Local\1C\1cv8 | кэш конфигурации — основной объём, может занимать гигабайты |
Внутри обеих папок — подкаталоги с именами-идентификаторами вида 3f2a9c1e-7b4d-4e21-9a0f-5c6d8e7f1a2b. Один такой каталог соответствует одной информационной базе из списка запуска.
Порядок действий
- Закройте 1С у этого пользователя полностью. Проверьте в Диспетчере задач (
Ctrl+Shift+Esc), что нет процессов1cv8.exeи1cv8c.exe. - Нажмите
Win+R, введите%LOCALAPPDATA%\1C\1cv8и нажмите Enter. - Выделите все папки с длинными именами из букв и цифр через дефис и удалите их.
- Повторите то же для
%APPDATA%\1C\1cv8. - Запустите 1С. Первый вход займёт больше времени — платформа заново загрузит конфигурацию.
Не трогайте файлы рядом с папками-идентификаторами (например, с расширением .pfl) и каталог %APPDATA%\1C\1CEStart. В нём лежит ibases.v8i — список баз в окне запуска. Удалите его — и пользователю придётся добавлять все базы заново.
Если нужно почистить кэш только одной базы, а баз в списке десять, проще не искать её каталог, а использовать ключ /ClearCache из следующих разделов. Он работает точечно.
Отдельно о каталоге с лицензиями C:\ProgramData\1C\licenses. Это не кэш. Файлы лицензий не удаляйте — без них программная лицензия перестанет определяться, и её придётся восстанавливать.
Есть ли в платформе своя утилита очистки
Отдельной программы «очистить кэш» в составе платформы 1С:Предприятие 8.3 нет. Её роль выполняет параметр командной строки /ClearCache. Он удаляет локальную копию конфигурации и служебные файлы клиента для той базы, с которой запускается клиент.
Запуск из командной строки выглядит так:
"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /F"D:\Bases\Buh" /ClearCache
Для серверной базы вместо /F указывают сервер и имя базы:
"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /S"srv1c\buh" /ClearCache
Что здесь важно:
- 📁
/F— путь к каталогу файловой базы,/S—сервер\имя_базыдля клиент-серверного варианта; - 🧭
1cestart.exeсам подберёт нужную версию платформы; можно указать и конкретный1cv8.exeиз каталога версии, напримерC:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe; - 🔐 если в базе включена авторизация, допишите
/N"Пользователь" /P"Пароль"или войдите вручную после запуска.
Если платформа установлена в 32-разрядном варианте на 64-разрядную Windows, путь начинается с C:\Program Files (x86)\1cv8\.
Очистка кэша 1С через окно запуска
Командная строка подходит администратору. Бухгалтеру удобнее сделать то же самое через окно выбора баз — оно открывается при обычном запуске 1С.
- В окне запуска выделите нужную базу.
- Нажмите
Изменить.... - Пройдите мастер кнопкой
Далеедо последней страницы с параметрами запуска. - В поле «Дополнительные параметры запуска» впишите
/ClearCache. - Нажмите
Готовои запустите базу. - После успешного входа уберите
/ClearCacheиз этого поля.
Шестой шаг забывают чаще всего. Если ключ остаётся в настройках, кэш сбрасывается при каждом запуске. Пользователь жалуется, что «1С стала медленно открываться», а причина — в собственной же правке.
Ключ /ClearCache действует на ту базу, которая запускается. Если проблема в двух базах, пропишите параметр в обеих или почистите папки вручную.
Тот же ключ работает и при открытии Конфигуратора: 1cestart.exe DESIGNER /F"D:\Bases\Buh" /ClearCache. Это полезно, если Конфигуратор показывает старую версию конфигурации после загрузки обновления.
Автоматическая очистка кэша скриптом
Когда компьютеров десяток, ходить по каждому неудобно. Скрипт можно положить на рабочий стол пользователю или выполнить при входе в систему через групповую политику.
Bat-файл для Windows
@echo off
rem Проверяем, что 1С закрыта
tasklist /FI "IMAGENAME eq 1cv8.exe" | find /I "1cv8.exe" >nul && goto busy
tasklist /FI "IMAGENAME eq 1cv8c.exe" | find /I "1cv8c.exe" >nul && goto busy
rem Удаляем только каталоги-идентификаторы баз
for /d %%D in ("%LOCALAPPDATA%\1C\1cv8\*-*-*-*-*") do rd /s /q "%%D"
for /d %%D in ("%APPDATA%\1C\1cv8\*-*-*-*-*") do rd /s /q "%%D"
echo Кэш 1С очищен.
pause
exit /b 0
:busy
echo Закройте все окна 1С и запустите скрипт снова.
pause
exit /b 1
Маска *-*-*-*-* выбирает только папки с дефисами в имени, то есть каталоги баз. Файлы настроек и 1CEStart не затрагиваются. Сохраните файл в кодировке, совместимой с консолью (OEM 866), или пишите сообщения латиницей, иначе русский текст отобразится «кракозябрами».
Вариант на PowerShell
$running = Get-Process -Name 1cv8, 1cv8c -ErrorAction SilentlyContinue
if ($running) { Write-Host "Закройте 1С и повторите."; exit 1 }
$guid = '^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$'
"$env:LOCALAPPDATA\1C\1cv8", "$env:APPDATA\1C\1cv8" |
Where-Object { Test-Path $_ } |
ForEach-Object { Get-ChildItem $_ -Directory } |
Where-Object { $_.Name -match $guid } |
Remove-Item -Recurse -Force
Write-Host "Кэш 1С очищен."
Здесь отбор строже: регулярное выражение пропускает только имена ровно в формате идентификатора. Если политика выполнения блокирует скрипты, запустите его так: powershell -ExecutionPolicy Bypass -File clear1c.ps1.
Терминальный сервер, Linux и серверный кэш
Терминальный сервер (RDP)
На терминальном сервере у каждого пользователя свой профиль, а значит — свой кэш. Почистить его для одного человека проще всего его же руками: пусть запустит bat-файл из предыдущего раздела в своей сессии.
Если нужно пройтись по всем профилям сразу, администратор может выполнить:
for /d %%U in ("C:\Users\*") do (
for /d %%D in ("%%U\AppData\Local\1C\1cv8\*-*-*-*-*") do rd /s /q "%%D"
for /d %%D in ("%%U\AppData\Roaming\1C\1cv8\*-*-*-*-*") do rd /s /q "%%D"
)
Делайте это, когда пользователи вышли из системы. Кэш открытой сессии заблокирован, удалить его не получится, а принудительное завершение процессов 1С оборвёт работу людей без сохранения. При профилях на отдельных дисках (User Profile Disks) каталоги видны только у вошедших пользователей — их чистят из сессии самого пользователя.
Linux
В Linux клиент хранит кэш в домашнем каталоге пользователя, в ~/.1cv8/1C/1cv8/. Принцип тот же — каталоги-идентификаторы:
pgrep -x 1cv8 >/dev/null || pgrep -x 1cv8c >/dev/null && { echo "Закройте 1С"; exit 1; }
find ~/.1cv8/1C/1cv8 -maxdepth 1 -type d \
-regextype posix-extended \
-regex '.*/[0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{12}' \
-exec rm -rf {} +
Список баз в Linux лежит отдельно, в ~/.1C/1cestart/ibases.v8i, и скрипт его не трогает. Ключ /ClearCache в Linux работает так же, как в Windows.
Серверный кэш кластера
В клиент-серверном варианте есть ещё кэш на стороне сервера 1С — каталоги snccntx с идентификатором в имени. Они лежат в каталоге кластера, по умолчанию C:\Program Files\1cv8\srvinfo\reg_1541\. К нему переходят, если сбой повторяется у всех пользователей, а локальная чистка не помогла.
- Предупредите пользователей и дождитесь, пока они выйдут. Остановка службы оборвёт все сеансы на сервере.
- Остановите службу «Агент сервера 1С:Предприятия 8.3» в оснастке
services.msc. - В каталоге
reg_1541удалите только папки, имя которых начинается сsnccntx. - Запустите службу.
Файл 1CV8Clst.lst и папки с данными баз в reg_1541 не удаляйте: в них описание кластера и зарегистрированных баз.
Какие проблемы бывают после очистки
Сама процедура почти не ломает ничего. Но несколько неприятных ситуаций встречаются регулярно — у каждой понятная причина.
Если после очистки ошибка исчезла на день и вернулась, ищите, что её порождает. Частый сценарий — на компьютере две разные версии платформы, и ярлыки запускают то одну, то другую. Проверьте, какую версию использует база: она указывается в свойствах базы в окне запуска, поле версии на последней странице мастера.
Как реже сталкиваться с испорченным кэшем
Чистка — это лечение симптома. Если её приходится делать каждую неделю, стоит убрать причину. Чаще всего кэш расходится с базой по нескольким понятным поводам.
- 🧱 Обновление при работающих пользователях. Если конфигурацию обновили, пока кто-то оставался в базе, его клиент держит старую копию. Планируйте обновление на время, когда в базе никого нет, и проверяйте список активных сеансов перед стартом.
- 🔢 Разные версии платформы на компьютерах. Когда в офисе стоят, скажем, 8.3.22 и 8.3.24, клиенты по-разному работают с одной базой. Держите на всех рабочих местах один номер версии и укажите его в свойствах базы в окне запуска.
- 🛡 Антивирус проверяет каталоги кэша на лету. При старте 1С пишет в
%LOCALAPPDATA%\1C\1cv8тысячи мелких файлов. Если антивирус вмешивается в запись, файлы могут сохраниться не полностью. Исключение этого каталога из проверки при доступе — обычная практика, но согласуйте его с тем, кто отвечает за безопасность. - 💾 Нехватка места на системном диске. Кэш просто не дописывается. Держите на диске
C:хотя бы несколько гигабайт свободного места, особенно на терминальном сервере, где профилей десятки. - 🔁 Перемещаемые профили. Папка
AppData\Roamingсинхронизируется между компьютерами, и вместе с ней могут приезжать настройки, сделанные под другую версию платформы. Кэш конфигурации лежит вLocalи не синхронизируется — так и должно быть.
Перед плановым обновлением удобно разослать пользователям bat-файл из раздела про скрипты и попросить запустить его утром после обновления. Это снимает большую часть жалоб на «старые формы» в первый день.
Частые вопросы
Удаляются ли при очистке кэша документы и проводки?
Нужно ли чистить кэш в веб-клиенте 1С?
Ctrl+F5 или очистите кэш сайта в настройках браузера.Сколько места освобождает очистка?
%LOCALAPPDATA%\1C\1cv8, если в списке много баз и часть давно не используется.