Кэш 1С – это, как правило, статическая информация о конкретной информационной базе: файлы конфигурации, пользовательские настройки, расположение и настройки форм, расположение разделов и панелей инструментов, настройки отборов, шрифтов и т.п. Кэш создается программой автоматически и при каждом сеансе обновляется. Он нужен для ускорения работы программы, чтобы каждый раз за однотипной информацией не обраться к серверу.
То, что программа периодически обращается к файлам кэша, является как плюсом, так и минусом. Если в процессе работы с кэшем произойдет зависание, вылет программы, внеплановое отключение компьютера и т.п., то файлы кэша могут записаться с ошибкой. В таком случае при следующем подключении к информационной базе или во время работы в базе появятся ошибки.
Решением этих проблем чаще всего является очистка кэша 1С. Ниже мы рассмотрим способы очистки кэша 1С.
Способ № 1 – очистка пользовательского кэша 1С с помощью параметра запуска / ClearCache
Данный способ подходит, если проблемы с файлами кэша возникают постоянно. Он работает только с тонким клиентом 1С и очищает только кэш запросов «клиент-сервер». Поэтому, если проблема заключалась в локальном кэше метаданных, то данный метод очистки кэша не принесет результата и стоит попробовать другие способы очистки кэша 1С. Суть способа заключается в том, что мы добавляем в параметры запуска информационной базы строку / ClearCache.
Процессе её запуска файлы существующего кэша 1С не удаляются. Они просто перезаписываются правильными значениями.
Если после этого программа стала нормально функционировать, то параметры /ClearCache в окне запуска лучше удалить. В противном случае, при каждом запуске, настроенный в предыдущем запуске кэш 1С, снова будет обновлён, что будет снижать производительность системы.
Чтобы это сделать открываем список баз 1С, выбираем в списке нужную нам базу, но не запускаем её. В правой части окна нажимаем кнопку Изменить, как показано на рисунке (рис. 1).
Рис. 1
В открывшемся окне нажимаем кнопку "Далее" до тех пор пока не появится окно с установкой параметра Дополнительные параметры запуска. В данное поле вставляем текст /ClearCache, как показано на рисунке (рис.2).
Рис. 2
Способ № 2 – очистка пользовательского кэша 1С вручную
Данный способ является самым надежным. Он заключается в непосредственном удалении папок с файлами кэша с компьютера пользователя.
Данные папки находятся:
%AppData%\1C\1Cv8
%LOCALAPPDATA%\1C\1Cv8
Для того чтобы открыть указанные папки необходимо указанный путь вставить в адресной строке проводника Windows. (рис.3).
Рис. 3
Папки с именем типа 0c167e0c-198c-4946-aa17-e0debbbec031 являются папками кэшей 1С, их необходимо удалять. Можно удалить все папки с именами такого типа, но тогда вы очистите кэша всех информационных баз.
После того как мы нашли нужные папки, просто удаляем их с компьютера. При следующем запуске программа автоматом создаст новые файлы кэша, с которыми будет работать в дальнейшем. При этом первый запуск информационной базы после очистки кэша займет больше времени, чем обычно. Это произойдет потому, что программа будет создавать новые файлы.
Способ № 3 - очистка с помощью утилиты.
Данный способ является наиболее быстрым и автоматизированным. На компьютере, где необходимо почистить кэш просто запускаете готовый скрипт clear_cache_82.ps1
Он содержит следующую команду:
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
Clear-Host
Write-Host "=== Очистка кэша 1С (включая версию 8.2) ===" -ForegroundColor Cyan
# Все возможные пути кэша
$targetPaths = @(
(Join-Path $env:AppData '1C\1cv8'),
(Join-Path $env:AppData '1C\1Cv82'),
(Join-Path $env:LocalAppData '1C\1cv8'),
(Join-Path $env:LocalAppData '1C\1Cv82')
)
$uuidPattern = '^[a-f0-9]{8}-([a-f0-9]{4}-){3}[a-f0-9]{12}$'
# Проверка всех путей
Write-Host "Активные пути для очистки:" -ForegroundColor Yellow
$targetPaths | ForEach-Object {
Write-Host "• $_" -NoNewline
if (Test-Path $_) {
Write-Host " (найден)" -ForegroundColor Green
} else {
Write-Host " (отсутствует)" -ForegroundColor DarkGray
}
}
foreach ($path in $targetPaths) {
if (-not (Test-Path $path)) {
continue
}
Write-Host "`nОбработка: $path" -ForegroundColor Yellow
$foundFolders = Get-ChildItem $path -Directory -Force -ErrorAction SilentlyContinue |
Where-Object { $_.Name -match $uuidPattern }
if (-not $foundFolders) {
Write-Host "Нет UUID-папок для удаления" -ForegroundColor DarkGray
continue
}
Write-Host "Найдено папок: $($foundFolders.Count)" -ForegroundColor Blue
$successCount = 0
$foundFolders | ForEach-Object {
try {
Write-Host "Удаление: $($_.Name)" -ForegroundColor Red
Remove-Item $_.FullName -Recurse -Force -ErrorAction Stop
$successCount++
}
catch {
Write-Host "Ошибка удаления $($_.Name): $_" -ForegroundColor Red
}
}
Write-Host "Успешно удалено: $successCount/$($foundFolders.Count)" -ForegroundColor Cyan
}
Write-Host "`nОперация завершена. Для выхода нажмите любую клавишу..." -ForegroundColor Green
[Console]::ReadKey($true) | Out-Null
После запуска скрипта будет произведено удаление кэшей всех информационных баз текущего пользователя.
Скачать скрипт очистки кэша
Оставьте свои контакты и мы свяжемся с вами в ближайшее время