Кэш 1С: где хранится, когда мешает и как сбросить его без потерь

· 9 мин

Содержание

Почистить кэш 1С Предприятие можно двумя способами: запустить базу с параметром /ClearCache или закрыть 1С и удалить папки с длинными именами-идентификаторами из %APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8. Первый способ быстрее и безопаснее, второй надёжнее, когда кэш повреждён и база не открывается вовсе.

Для серверной базы есть третий уровень — сеансовый кэш на сервере 1С. Его чистит администратор, и только когда в базе никто не работает . Всё описанное ниже относится к платформе 8.3 и не зависит от конфигурации: в Бухгалтерии, ЗУП и УТ кэш устроен одинаково.

Почему 1С тормозит и сыплет ошибками из-за кэша

При первом запуске базы платформа сохраняет на компьютер описание конфигурации: формы, модули, метаданные. В следующий раз она берёт их с диска, а не тянет из базы. Отсюда быстрый второй запуск.

Проблемы начинаются, когда локальная копия расходится с базой или портится. Типичные поводы:

  • 🔄 конфигурацию обновили, а у пользователя в кэше осталась старая версия форм;
  • 💥 компьютер выключили во время работы 1С, и файл кэша записался не до конца;
  • 📦 в профиле скопились десятки папок от баз, которых давно нет;
  • 🧩 базу перенесли или восстановили из копии, а идентификатор остался прежним.

Симптомы, при которых стоит начать с кэша

Что видит пользовательВероятность, что виноват кэш
После обновления нет новых полей и кнопок, у коллег они естьвысокая
Ошибка Ошибка формата потока при запуске или открытии формывысокая
Форма открывается пустой или «съехавшей», хотя у других нормальнаясредняя
Медленный запуск только на одном компьютересредняя
Тормозит вся база у всех пользователейнизкая — дело в сервере, СУБД или сети

Главный признак: проблема у одного пользователя или на одном компьютере. Если тормозят все, локальная очистка не поможет — смотрите раздел про профилактику и про сервер.

Способ 1. Сбросить кэш 1С из окна запуска параметром /ClearCache

Это самый мягкий вариант. Платформа сама выбросит устаревшие данные и скачает свежие из базы. Файлы руками трогать не нужно.

  1. Откройте окно запуска 1С:Предприятия со списком баз.
  2. Выделите нужную базу и нажмите Изменить.
  3. Пролистайте мастер кнопкой Далее до последней страницы.
  4. В поле Дополнительные параметры запуска впишите /ClearCache.
  5. Нажмите Готово и запустите базу как обычно.

Первый запуск после этого займёт больше времени: платформа заново выкачивает конфигурацию. Для базы Бухгалтерии 3.0 по сети это может быть минута-две, дальше скорость вернётся.

Когда проблема ушла, сотрите /ClearCache из поля. Иначе 1С будет чистить кэш при каждом входе, и запуск станет медленным навсегда.

Запуск с параметром из ярлыка или командной строки

Если база открывается ярлыком, допишите параметр в поле «Объект» свойств ярлыка, после пути к 1cv8.exe и остальных ключей. Пример для файловой базы:

"C:\Program Files\1cv8\8.3.xx.xxxx\bin\1cv8.exe" ENTERPRISE /F"D:\Base\Buh" /ClearCache

Вместо 8.3.xx.xxxx подставьте номер установленной платформы, путь к базе — свой. Пользователь и пароль в ярлык лучше не вписывать.

Способ 2. Как очистить кэш 1С вручную в Windows

Ручная чистка нужна, когда база не открывается даже с /ClearCache или когда нужно разом убрать мусор от всех баз.

Перед удалением закройте все окна 1С на этом компьютере. Проверьте в диспетчере задач, что нет процессов 1cv8.exe, 1cv8c.exe и 1cv8s.exe. Иначе часть файлов будет занята и удалится не полностью.

Где лежит кэш 1С

ПапкаЧто в нейМожно удалять
%LOCALAPPDATA%\1C\1cv8кэш конфигураций, основной объёмпапки с именами-GUID
%APPDATA%\1C\1cv8локальные данные клиента по каждой базепапки с именами-GUID
%APPDATA%\1C\1CEStartфайл списка баз ibases.v8iнет, это список баз
%TEMP%временные файлы сеанса вида v8_*.tmpда, при закрытой 1С

Имя-GUID выглядит так: 5f3c2a10-8e4b-4c1d-9a77-0b2e6d41f8c3. Именно такие папки и есть кэш конкретных баз.

Порядок действий

  1. Нажмите Win + R, введите %LOCALAPPDATA%\1C\1cv8 и нажмите Enter.
  2. Выделите все папки с GUID-именами и удалите их.
  3. Повторите для %APPDATA%\1C\1cv8.
  4. Откройте %TEMP% и удалите файлы, имена которых начинаются на v8_. Занятые системой файлы просто пропустите.
  5. Запустите базу. Первый вход будет дольше обычного.

Файлы 1cv8strt.pfl, 1cv8cmn.pfl и прочие .pfl в этих папках можно не трогать: это настройки окна запуска, к тормозам базы они отношения не имеют.

Не удаляйте всю папку 1C целиком. Вместе с ней пропадёт список баз, и пользователю придётся добавлять каждую заново.

Что пропадёт после очистки

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

Linux и macOS

На Linux кэш лежит в домашнем каталоге пользователя, в скрытой папке ~/.1cv8/1C/1cv8. Логика та же: закрыть 1С и удалить подпапки с GUID-именами. Список баз хранится отдельно в ~/.1C/1cestart, его не трогайте.

Кэш 1С и реестр Windows: что чистить на самом деле

В интернете часто советуют «почистить реестр» или некий RegCache. Платформа 8.3 не хранит кэш конфигураций в системном реестре Windows. Программы-«чистильщики реестра» базе 1С не помогут, а навредить могут — например, сломать регистрацию компонент.

Путаница идёт от слова reg в путях сервера 1С. На сервере есть каталог кластера srvinfo\reg_1541 (номер совпадает с портом менеджера кластера). В нём хранятся служебные данные кластера и сеансовый кэш баз.

Очистка сеансового кэша на сервере 1С

Этот кэш живёт в папках snccntx… внутри reg_1541. Его сбрасывают, когда у всех пользователей серверной базы появляются странные ошибки при входе или сервер после аварии ведёт себя нестабильно.

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

  1. Убедитесь, что пользователи вышли из баз. Проверить сеансы можно в консоли кластера.
  2. Остановите службу «Агент сервера 1С:Предприятия 8.3» в оснастке services.msc.
  3. Откройте каталог srvinfo\reg_1541. По умолчанию это C:\Program Files\1cv8\srvinfo\reg_1541, но путь мог быть изменён при установке — смотрите параметр -d в свойствах службы.
  4. Удалите только папки, имена которых начинаются на snccntx.
  5. Запустите службу и проверьте вход в базу.

Не трогайте файл 1CV8Clst.lst и папки с GUID-именами баз внутри reg_1541. В первом записан состав кластера, во вторых — журнал регистрации и индексы полнотекстового поиска.

Автоматическая очистка кэша 1С скриптом

Утилит под названием ClearCache в сети много, но запускать чужой exe на рабочем компьютере бухгалтера рискованно. Ту же работу делают несколько строк своего скрипта. Их легко проверить глазами.

Вариант на PowerShell

Скрипт удаляет только папки с GUID-именами и не трогает список баз:

$paths = "$env:LOCALAPPDATA\1C\1cv8", "$env:APPDATA\1C\1cv8"
$guid  = '^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$'

if (Get-Process 1cv8, 1cv8c, 1cv8s -ErrorAction SilentlyContinue) {
    Write-Host "Закройте 1С и запустите скрипт снова"
    exit 1
}

foreach ($p in $paths) {
    if (Test-Path $p) {
        Get-ChildItem $p -Directory |
            Where-Object { $_.Name -match $guid } |
            Remove-Item -Recurse -Force
    }
}

Get-ChildItem $env:TEMP -Filter 'v8_*' -ErrorAction SilentlyContinue |
    Remove-Item -Recurse -Force -ErrorAction SilentlyContinue

Write-Host "Кэш 1С очищен"

Сохраните как clear-1c-cache.ps1 и запускайте от имени того пользователя, у которого чистите кэш. Права администратора не нужны: папки лежат в его профиле.

Вариант bat-файлом

Если PowerShell заблокирован политиками, подойдёт пакетный файл:

@echo off
tasklist | find /i "1cv8" >nul && (echo Закройте 1С & pause & exit /b)
for /d %%D in ("%LOCALAPPDATA%\1C\1cv8\????????-????-????-????-????????????") do rd /s /q "%%D"
for /d %%D in ("%APPDATA%\1C\1cv8\????????-????-????-????-????????????") do rd /s /q "%%D"
del /q "%TEMP%\v8_*" 2>nul
echo Кэш 1С очищен
pause

Маска из вопросительных знаков отбирает папки по форме GUID, поэтому служебные каталоги остаются. Если в консоли кириллица выводится «кракозябрами», сохраните файл в кодировке OEM 866 или замените сообщения на латиницу.

Массовая очистка в терминале

На терминальном сервере скрипт удобно повесить на выход пользователя через групповую политику. Так кэш каждого сотрудника обнуляется при выходе из сеанса. Минус — каждый утренний вход будет медленнее. Для 20-30 пользователей с одной базой это заметная нагрузка в 9 утра, поэтому постоянную чистку включают, только если сбои повторяются.

Кэш обновлений конфигурации: папка шаблонов

Отдельная история — дистрибутивы обновлений. Каждый установленный релиз распаковывается в каталог шаблонов, по умолчанию %APPDATA%\1C\1cv8\tmplts. За пару лет туда набиваются гигабайты.

Внутри структура вида tmplts\1c\<конфигурация>\<номер релиза>. Удалить можно папки старых релизов, которые уже не нужны:

  • ✅ релизы ниже текущего релиза ваших баз — их уже не установить поверх;
  • ✅ конфигурации, баз которых у вас больше нет;
  • ❌ текущий релиз, если по нему ещё будут обновлять другие базы;
  • ❌ релизы, которые понадобятся как промежуточные в цепочке обновления отстающей базы.

Путь к каталогу шаблонов мог быть изменён. Проверить его можно в окне запуска: кнопка Настройка показывает список каталогов шаблонов.

Обновление через интернет -поддержку из самой программы (раздел Администрирование → Интернет-поддержка и сервисы и обновление программы) скачивает файлы во временный каталог и после успешной установки обычно убирает их сам. Если обновление прервалось, остатки ищите в %TEMP% и удалите при закрытой 1С.

Профилактика: как реже возвращаться к очистке кэша

Кэш — это следствие, а не причина. Если чистить его приходится каждую неделю, ищите, что его ломает.

Регламент, после которого кэш портится реже
Выполнено: 0 / 6

Пара пояснений к списку:

  • 🛡 Антивирус, который сканирует каждый файл кэша при чтении, легко съедает половину скорости запуска. Исключения для папок %LOCALAPPDATA%\1C\1cv8 и srvinfo согласуйте со службой безопасности.
  • 📜 Журнал регистрации файловой базы со временем разрастается до гигабайтов. Сократить его можно в Конфигураторе: Администрирование → Настройка журнала регистрации, там же задаётся уровень записи событий.
  • 🗄 Для файловой базы раз в месяц-два полезно выполнить «Тестирование и исправление» в Конфигураторе с переиндексацией таблиц. Для этого нужен монопольный доступ, поэтому все пользователи должны выйти.

Если очистка кэша не помогла

Когда после /ClearCache и ручного удаления папок проблема осталась, кэш тут ни при чём. Проверьте по порядку:

Диагностика: выберите симптом

Если ни один пункт не подошёл, сравните версии платформы на проблемном и рабочем компьютере. Номер должен совпадать с версией на сервере 1С или быть подходящим для файловой базы. Разные сборки клиента на соседних местах — частая причина «необъяснимых» отличий.

Частые вопросы

Как часто нужно чистить кэш 1С?
Регулярно — не нужно. Чистите при конкретной проблеме: старые формы после обновления, ошибка при запуске, тормоза на одном компьютере.
Удалятся ли данные базы при очистке кэша?
Нет. Кэш — это локальная копия описания конфигурации. Документы, справочники и настройки пользователей хранятся в самой базе.
Почему после очистки кэша 1С запускается дольше?
Платформа заново скачивает конфигурацию из базы и раскладывает её по папкам. Со второго запуска скорость возвращается к обычной.
Нужно ли чистить кэш на всех компьютерах после обновления?
Обычно платформа сама замечает новую версию конфигурации. Чистить стоит только там, где после обновления видна старая форма или возникла ошибка.
Можно ли очистить кэш, не закрывая 1С?
Нет. Открытый сеанс держит файлы кэша, и удаление пройдёт частично. Сначала закройте все окна 1С на компьютере.