Чистка кэша 1С: где лежат временные файлы и как их удалить безопасно

· 9 мин

Содержание

Чтобы почистить кэш конфигурации 1С, закройте все окна программы и удалите папки с длинными именами из букв и цифр внутри %LOCALAPPDATA%\1C\1cv8 и %APPDATA%\1C\1cv8. Базу и данные это не затрагивает: при следующем запуске платформа пересоздаст кэш сама.

Частое заблуждение: «кэш нужно чистить регулярно, и станет быстрее». Нет. Кэш как раз ускоряет запуск. Чистить его стоит, когда есть конкретный симптом: после обновления конфигурация ведёт себя так, будто изменений нет, форма не открывается, висят старые данные или пользовательская папка выросла до десятков гигабайт.

Зачем платформа хранит кэш и когда он начинает мешать

1С держит на диске пользователя копии того, что дорого загружать каждый раз: описание метаданных, формы, настройки интерфейса, результаты клиент-серверных обращений. Благодаря этому тонкий клиент открывается за секунды, а не за минуты.

Проблемы начинаются, когда кэш и реальная конфигурация расходятся. Типичные причины:

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

Признаки, что пора чистить:

  1. Ошибка при открытии формы, хотя у соседа та же форма работает.
  2. После обновления в справочнике нет нового реквизита, а у других пользователей он есть.
  3. Сообщения вроде «Ошибка при вызове метода контекста» без понятной причины.
  4. Запуск занимает заметно дольше, чем раньше, а база при этом небольшая.
  5. Папка 1cv8 в профиле пользователя занимает много гигабайт.

Если тормозит у всех пользователей одновременно, виноват не кэш на рабочих местах. Смотрите сервер, блокировки, размер базы и индексы.

Подготовка: что проверить до удаления

Удаление кэша безопасно для данных, но неприятно, если сделать его на ходу. Минимальный порядок:

  1. Попросите пользователя сохранить работу и закрыть 1С полностью. Проверьте диспетчер задач: не должно остаться процессов 1cv8.exe и 1cv8c.exe.
  2. Если чистите несколько машин, начните с одной и убедитесь, что симптом ушёл.
  3. На всякий случай переименуйте папку вместо удаления: 1cv8 в 1cv8_old. Если что-то пойдёт не так, вернёте обратно.

Не удаляйте папки самой базы и файл 1Cv8.1CD. Это не кэш, а данные. Рядом с ним в файловой базе лежат каталоги журнала регистрации и полнотекстового индекса: их тоже не трогайте при «чистке кэша».

Перед чисткой кэша
Выполнено: 0 / 4

Где лежит кэш конфигурации на компьютере пользователя

В Windows платформа использует два каталога профиля. Вставьте адрес в строку проводника, переменные подставятся сами.

ЧтоАдресЧто внутри
Локальный кэш%LOCALAPPDATA%\1C\1cv8Кэш метаданных и форм, подпапки с идентификаторами баз
Данные роуминга%APPDATA%\1C\1cv8Пользовательские настройки платформы, часть кэша
Временные файлы%TEMP%Файлы вида v8_*.tmp и временные каталоги сеанса

Внутри каталогов лежат папки, имена которых состоят из букв и цифр через дефисы. Одна папка соответствует одной базе или одной версии конфигурации. Именно их и удаляют.

Если вы не уверены, какая папка к какой базе относится, удалите все. Платформа пересоздаст нужные при следующем входе, просто первый запуск каждой базы пройдёт медленнее.

Список баз в окне запуска (файл ibases.v8i) хранится отдельно и в эти папки не входит. Но если вы удаляете весь каталог профиля 1С, а не только вложенные папки с идентификаторами, проверьте, что список баз не пропал.

Ручная чистка в файловой базе: по шагам

Этот способ подходит и для файловой, и для клиент-серверной базы, потому что кэш лежит на клиенте, а не рядом с данными.

Шаг 1. Закрыть платформу

Завершите сеансы 1С. Если окно зависло, снимите задачу 1cv8.exe в диспетчере задач.

Шаг 2. Открыть каталог кэша

Нажмите Win+R, введите %LOCALAPPDATA%\1C\1cv8 и нажмите Enter. Сделайте то же самое для %APPDATA%\1C\1cv8.

Шаг 3. Удалить вложенные папки

Выделите папки с длинными идентификаторами и удалите их. Файлы настроек, которые лежат рядом, можно оставить: на скорость они почти не влияют.

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

Шаг 4. Запустить базу

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

Шаг 5. Проверить результат

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

Какой способ выбрать

СпособКогда подходитРиски
Ручное удаление папокОдин-два компьютера, разовая проблемаМожно удалить лишнее, если ошиблись каталогом
Ключ /ClearCache в ярлыкеПроблема повторяется у конкретного пользователяНе очищает каталог профиля целиком
Bat-скриптМного рабочих мест, массовое обновлениеПринудительно закрывает 1С, неверный путь опасен
Чистка snccntx* на сервереРаздувшиеся рабочие процессы, сбои сеансовНужна остановка службы и остановка работы всех

Начинайте с самого мягкого способа и переходите к следующему, только если симптом остался. Сервер трогайте в последнюю очередь: остановка службы бьёт по всем пользователям сразу.

Временные файлы Windows

Отдельно от кэша 1С копятся временные файлы в %TEMP%. Если папка выросла до нескольких гигабайт, после закрытия 1С удалите файлы с именами v8_* и *.tmp. Системные файлы, которые Windows не даёт удалить, пропустите: они заняты другими программами.

Пример по размерам. Допустим, у бухгалтера открыто 12 баз, и в профиле накопилось по 400 МБ на каждую. Это 12 × 400 = 4800 МБ, то есть около 4,7 ГБ. На маленьком SSD такой объём уже заметен, и чистка вернёт его сразу.

Очистка кэша из командной строки и скриптом

Для администратора, у которого десятки рабочих мест, ручная чистка неудобна. Есть два пути.

Ключ запуска /ClearCache

Платформа понимает параметр /ClearCache в строке запуска. Он сбрасывает кэш клиент-серверных вызовов при старте. Пример для ярлыка:

"C:\Program Files\1cv8\8.3.xx.xxxx\bin\1cv8.exe" ENTERPRISE /S "сервер\база" /ClearCache

Номер версии подставьте свой: он в имени каталога платформы. Ключ удобно добавить в отдельный ярлык «1С с очисткой кэша» и выдавать его тем, у кого проблемы повторяются. Ключ не удаляет всё содержимое каталога профиля, поэтому для полной чистки пригодится скрипт.

Bat-файл для полной чистки

Сохраните в файл с расширением .bat и запускайте при закрытой 1С:

@echo off
taskkill /f /im 1cv8.exe >nul 2>&1
taskkill /f /im 1cv8c.exe >nul 2>&1
for /d %%i in ("%LOCALAPPDATA%\1C\1cv8\*") do rd /s /q "%%i"
for /d %%i in ("%APPDATA%\1C\1cv8\*") do rd /s /q "%%i"
echo Готово
pause

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

Если в скрипте ошиблись в пути и сработал rd /s /q на каталог выше, потеряете чужие данные. Сначала запустите с echo вместо rd, посмотрите список и только потом включайте удаление.

Особенности клиент-серверного варианта и сервера 1С

На пользовательских машинах всё то же самое: кэш клиента не зависит от того, где лежит база. Но у сервера 1С есть собственный кэш, и здесь осторожность нужна гораздо выше.

В каталоге данных кластера (по умолчанию в srvinfo, внутри папки вида reg_1541) создаются подпапки с именами snccntx. Это контексты сеансов и серверный кэш. Когда рабочие процессы зависают или разрастаются, их чистят.

Порядок для Windows:

  1. Предупредите пользователей и дождитесь завершения сеансов. Работа в базах остановится.
  2. Остановите службу «Агент сервера 1С:Предприятия».
  3. Убедитесь, что процессы ragent, rmngr, rphost завершены.
  4. Удалите содержимое папок snccntx* в каталоге кластера.
  5. Запустите службу.

То же на Linux: остановите службу, очистите каталог кластера (обычно в домашнем каталоге пользователя usr1cv8) и запустите службу заново. Клиентский кэш в Linux лежит в ~/.1cv8/1C/1cv8.

Не удаляйте файлы реестра кластера (1CV8Clst.lst и другие служебные файлы рядом). Потеряете настройки кластера и список баз.

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

Что именно у вас происходит?

Профилактика: как не чистить кэш каждую неделю

Если приходится чистить регулярно, значит где-то есть системная причина. Что стоит сделать:

  • 🧹 Обновлять конфигурацию целиком и в нерабочее время. Тогда у пользователей не остаётся старых версий.
  • 💽 Следить за местом на диске C:. Когда свободно меньше нескольких гигабайт, кэш пишется с ошибками.
  • 🔌 Не выключать компьютер кнопкой при открытой 1С. Аварийное завершение портит записи кэша.
  • 🗑️ Убрать из списка баз ненужные. Каждая старая база оставляет после себя папку.
  • 🖥️ Использовать тонкий клиент вместо толстого там, где это возможно: он меньше нагружает локальный диск.
  • ⏱️ Раз в квартал чистить кэш на рабочих местах, где одновременно открыто много баз.

Размер кэша можно оценить сразу: щёлкните папку 1cv8 правой кнопкой и откройте «Свойства». Если там сотни мегабайт, нормально. Если десятки гигабайт, разберитесь, какая база и какие обработки его раздувают.

На терминальном сервере кэш каждого пользователя лежит в его профиле. Если профили перемещаемые, огромная папка 1cv8 будет замедлять вход в систему. Исключите %LOCALAPPDATA%\1C из перемещаемого профиля.

Что не нужно делать, когда «подчищаете» 1С

Несколько действий, которые выглядят как чистка, но вредят:

  • ❌ Удалять каталог самой базы или файл 1Cv8.1CD во имя «освободить место».
  • ❌ Чистить snccntx* при работающей службе сервера: возможны сбои сеансов и повреждение служебных данных.
  • ❌ Ставить «оптимизаторы» и «чистильщики реестра» и разрешать им удалять всё, что они найдут в каталоге 1С.
  • ❌ Удалять журнал регистрации под видом кэша. Он нужен для разбора инцидентов.

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

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

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