Администрирование · 9 мин
Как программно очистить кэш 1С: скрипты, команды и автоматизация
Программная очистка кэша 1С: bat-скрипты, удаление папок с GUID, параметры запуска ClearCache, очистка кэша на сервере 1С и типичные ошибки администраторов.
Самый быстрый способ очистить кэш 1С программно — удалить содержимое папок %APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8 с помощью bat-скрипта или PowerShell. Именно в этих каталогах платформа хранит метаданные конфигураций, шаблоны и временные файлы в папках с именами вида GUID (например, 5f8a2c3e-…).
Программная очистка нужна, когда баз много, пользователей тоже много, а вручную заходить в каталог каждого сотрудника — непрактично. Скрипт можно запускать по расписанию, через групповые политики Windows или встроить в процедуру обновления конфигурации.
Важно понимать: удаление кэша — безопасная операция, там нет данных информационной базы. Но удалять папки нужно при закрытых сеансах 1С, иначе часть файлов будет заблокирована, а платформа может завершиться с ошибкой.
Где 1С хранит кэш и что именно удалять
Кэш тонкого и толстого клиента 1С расположен в профиле пользователя. Основные каталоги:
%APPDATA%\1C\1cv8— кэш метаданных конфигураций, папки с GUID для каждой базы;%LOCALAPPDATA%\1C\1cv8— дополнительные временные файлы, кэш веб-клиента и компонентов;%APPDATA%\1C\1cv82— аналог для платформы 8.2, если она ещё используется.
Внутри этих каталогов находятся папки с длинными шестнадцатеричными именами — это и есть кэш конкретных информационных баз. Удалять можно как все GUID-папки сразу, так и только одну, соответствующую проблемной базе. Файлы 1Cv8.1cl, def.1cl и журналы обычно трогать не требуется.
На сервере 1С:Предприятия кэш хранится в каталоге srvinfo внутри папки агента сервера (по умолчанию C:\Program Files\1cv8\<версия>\srvinfo или каталог, заданный при установке). Там находятся папки reg_1541 и подкаталоги с GUID баз — их очистка выполняется только при остановленной службе агента.
Очистка кэша bat-файлом
Простейший вариант автоматизации — командный файл, который завершает процессы 1С и удаляет кэш. Создайте файл clear_1c_cache.bat со следующим содержимым:
@echo off
taskkill /f /im 1cv8.exe 2>nul
taskkill /f /im 1cv8c.exe 2>nul
timeout /t 3 /nobreak >nul
for /d %%i in ("%APPDATA%\1C\1cv8\*") do rd /s /q "%%i"
for /d %%i in ("%LOCALAPPDATA%\1C\1cv8\*") do rd /s /q "%%i"
echo Cache cleared
pause
Команда taskkill принудительно завершает толстый и тонкий клиенты, пауза в 3 секунды даёт системе освободить файловые дескрипторы, а цикл for /d удаляет все подпапки в каталогах кэша, не трогая файлы верхнего уровня.
Если нужно очистить кэш только одной базы, замените маску на конкретный GUID. Узнать GUID можно в списке баз стартера 1С: наведите курсор на базу или откройте файл ibases.v8i в папке %APPDATA%\1C\1CEStart — там указан идентификатор каждой базы.
Очистка через PowerShell
PowerShell удобнее, когда нужна гибкость: логирование, выборочное удаление, запуск на удалённых компьютерах. Базовый скрипт:
Get-Process 1cv8,1cv8c -ErrorAction SilentlyContinue | Stop-Process -Force
Start-Sleep -Seconds 3
$paths = @("$env:APPDATA\1C\1cv8", "$env:LOCALAPPDATA\1C\1cv8")
foreach ($p in $paths) {
if (Test-Path $p) {
Get-ChildItem $p -Directory | Remove-Item -Recurse -Force
}
}
Write-Host "Кэш 1С очищен"
Скрипт сохраняют в файл clear-cache.ps1. Для запуска может потребоваться разрешить выполнение скриптов: Set-ExecutionPolicy RemoteSigned -Scope CurrentUser. При массовом развёртывании через групповые политики скрипт назначают на выключение компьютера или вход пользователя.
- 1Завершите все процессы 1cv8.exe и 1cv8c.exe
- 2Подождите 2–3 секунды для освобождения файлов
- 3Удалите подпапки в %APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8
- 4Запустите базу — платформа создаст кэш заново
- 5Проверьте, что ошибка, из-за которой чистили кэш, исчезла
Штатные параметры запуска платформы
Удалять файлы — не единственный способ. Платформа 1С поддерживает параметр командной строки /ClearCache, который очищает кэш клиентского приложения при запуске. Пример строки запуска:
"C:\Program Files\1cv8\<версия>\bin\1cv8.exe" ENTERPRISE /F"путь_к_базе" /ClearCache
Дополнительно полезен параметр /DisableStartupDialogs и, наоборот, диагностический /Out для записи лога запуска. Для веб-клиента кэш браузера очищается отдельно — средствами самого браузера или его командной строкой.
Ещё один штатный приём — удалить базу из списка в стартовом окне и добавить её заново: при повторном добавлении платформа создаёт новую папку кэша с новым GUID. Это не совсем «программный» способ, но его можно автоматизировать, подменив файл ibases.v8i заранее подготовленной копией.
Очистка кэша на сервере 1С:Предприятия
В клиент-серверном варианте часть кэша живёт на сервере: скомпилированные модули, данные сеансов, служебные снапшоты. Программная очистка выполняется так:
net stop "Агент сервера 1С:Предприятия 8.3"
timeout /t 5
rd /s /q "C:\Program Files\1cv8\srvinfo\reg_1541\snccntx*"
net start "Агент сервера 1С:Предприятия 8.3"
Точное имя службы зависит от версии платформы — проверьте его в оснастке services.msc. Удалять весь каталог srvinfo нельзя: там лежит реестр кластера (1CV8Clst.lst), список баз и настройки. Очищают только подкаталоги с кэшем сеансовых данных и GUID-папки баз внутри reg_1541.
Остановка агента разрывает все активные сеансы пользователей. Планируйте операцию на нерабочее время и заранее отправьте оповещение — например, через тот же скрипт командой msg или через механизм блокировки сеансов в консоли кластера.
Проверка результата и автоматизация по расписанию
Признак успешной очистки — при следующем запуске базы платформа заново создаёт GUID-папку в каталоге кэша, а запуск занимает чуть больше времени, чем обычно. Если ошибка, из-за которой чистили кэш (например, «Ошибка формата потока» или «Объект не найден»), исчезла — цель достигнута.
Как проверить результат
GUID-папка создана заново после запуска
Папка не появилась — база не запускалась или путь неверный
База открывается без ошибок потока и метаданных
Ошибка повторяется — чистите серверный кэш или тестируйте конфигурацию
Уменьшился после очистки, растёт постепенно
Быстро разрастается снова — возможен сбой обновления конфигурации
Для регулярной очистки настройте Планировщик заданий Windows: триггер — раз в неделю ночью, действие — запуск bat- или ps1-файла от имени пользователя или системы. В домене удобнее распространять задачу через Group Policy Preferences, чтобы не настраивать каждый компьютер вручную.
Автоматическая очистка по расписанию оправдана в терминальных средах и на компьютерах с большим числом баз. На обычных рабочих местах с одной-двумя базами регулярная чистка не нужна — кэш ускоряет работу, и его постоянное удаление только замедлит запуск.
Что важно запомнить
Программная очистка кэша 1С — это удаление GUID-папок в %APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8 при закрытой платформе. Автоматизируйте через bat, PowerShell или планировщик, на сервере очищайте только кэш-каталоги внутри srvinfo при остановленном агенте, и всегда проверяйте результат повторным запуском базы.
Частые вопросы
Удалится ли база данных при очистке кэша?
Нет. В кэше хранятся только временные копии метаданных и служебные файлы платформы. Сами данные находятся в файле 1Cv8.1CD (файловый режим) или в СУБД (клиент-серверный режим) и при очистке кэша не затрагиваются.
Как очистить кэш только одной базы из нескольких?
Найдите GUID базы в файле ibases.v8i в папке %APPDATA%\1C\1CEStart, затем удалите только папку с этим именем в каталогах кэша. В скрипте замените цикл по всем подпапкам на удаление конкретного каталога.
Поможет ли очистка кэша при ошибке «Ошибка формата потока»?
Часто да — эта ошибка типична для повреждённого клиентского кэша. Если после очистки на клиенте ошибка осталась, очистите серверный кэш, а затем проверьте базу утилитой chdbfl.exe или тестированием и исправлением в конфигураторе.
Можно ли очищать кэш, не завершая сеансы пользователей?
Технически скрипт выполнится, но часть файлов окажется заблокированной, очистка будет неполной, а у работающих пользователей 1С может аварийно закрыться. Корректный порядок — сначала завершить процессы, потом удалять папки.
Нужно ли чистить кэш после каждого обновления конфигурации?
Нет, платформа сама обновляет кэш при изменении конфигурации. Очистка нужна только при сбоях: ошибках потока, «фантомных» объектах, расхождении поведения базы у разных пользователей после обновления.
Как очистить кэш веб-клиента 1С?
Кэш веб-клиента — это кэш браузера. Очистите его программно средствами браузера (например, запуск Chrome с параметром --disk-cache-size=1) или настройте политику очистки. Серверную часть веб-клиента обслуживает очистка кэша на сервере 1С.