Харьковская 2а
г. Омск
+7 (913) 961-38-13
+7 (3812) 29-01-00
заказать звонок
Задать вопрос?
Корзина
0

Очистка кэша 1С

Как почистить кэш тонкого клиента 1С?

Кэш 1С – это, как правило, статическая информация о конкретной информационной базе: файлы конфигурации, пользовательские настройки, расположение и настройки форм, расположение разделов и панелей инструментов, настройки отборов, шрифтов и т.п. Кэш создается программой автоматически и при каждом сеансе обновляется. Он нужен для ускорения работы программы, чтобы каждый раз за однотипной информацией не обраться к серверу.

То, что программа периодически обращается к файлам кэша, является как плюсом, так и минусом. Если в процессе работы с кэшем произойдет зависание, вылет программы, внеплановое отключение компьютера и т.п., то файлы кэша могут записаться с ошибкой. В таком случае при следующем подключении к информационной базе или во время работы в базе появятся ошибки.

Решением этих проблем чаще всего является очистка кэша 1С. Ниже мы рассмотрим способы очистки кэша 1С.

ВАЖНО

  • Перед очисткой кэша 1С необходимо обязательно выйти из 1С.
  • В процессе очистки кэша будут потеряны пользовательские настройки: расположение и настройки форм, расположение разделов и панелей инструментов, настройки отборов, шрифтов и т.п. При необходимости их придётся заново настроить.

 

Способ № 1 – очистка пользовательского кэша 1С с помощью параметра запуска / ClearCache

Данный способ подходит, если проблемы с файлами кэша возникают постоянно. Он работает только с тонким клиентом 1С и очищает только кэш запросов «клиент-сервер». Поэтому, если проблема заключалась в локальном кэше метаданных, то данный метод очистки кэша не принесет результата и стоит попробовать другие способы очистки кэша 1С. Суть способа заключается в том, что мы добавляем в параметры запуска информационной базы строку / ClearCache.

Процессе её запуска файлы существующего кэша 1С не удаляются. Они просто перезаписываются правильными значениями.

Если после этого программа стала нормально функционировать, то параметры /ClearCache в окне запуска лучше удалить. В противном случае, при каждом запуске, настроенный в предыдущем запуске кэш 1С, снова будет обновлён, что будет снижать производительность системы.

Чтобы это сделать открываем список баз 1С, выбираем в списке нужную нам базу, но не запускаем её. В правой части окна нажимаем кнопку Изменить, как показано на рисунке (рис. 1).

 рис 1.png

Рис. 1

В открывшемся окне нажимаем кнопку "Далее" до тех пор пока не появится окно с установкой параметра Дополнительные параметры запуска. В данное поле вставляем текст /ClearCache, как показано на рисунке (рис.2).

 рис 2.png

Рис. 2

Способ № 2 – очистка пользовательского кэша 1С вручную

Данный способ является самым надежным. Он заключается в непосредственном удалении папок с файлами кэша с компьютера пользователя.

Данные папки находятся:

%AppData%\1C\1Cv8

%LOCALAPPDATA%\1C\1Cv8

Для того чтобы открыть указанные папки необходимо указанный путь вставить в адресной строке проводника Windows. (рис.3).

 рис 3.png

Рис. 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

После запуска скрипта будет произведено удаление кэшей всех информационных баз текущего пользователя.

Скачать скрипт очистки кэша



Заказать консультацию

Оставьте свои контакты и мы свяжемся с вами в ближайшее время