Чистим кэш 1С на ПК: куда лезть, что удалять и чем это грозит

· 9 мин

Содержание

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

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

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

СпособКогда подходитРиск
Удалить папку одной базыГлючит одна база, остальные в порядкеМинимальный
Удалить все папки кэшаПосле смены платформы, массовые странностиСлетят настройки форм во всех базах
Bat-скриптРабочее место, где кэш «забивается» регулярноНужно следить, чтобы скрипт не трогал лишнего
Параметр запуска /ClearCacheРазовая очистка одной базы без поиска папокНевелик, но зависит от версии платформы
Очистка на сервереОшибки у всех пользователей клиент-серверной базыНужна остановка службы, работа пользователей прервётся

1. Где 1С хранит кэш на компьютере

Клиентский кэш лежит в профиле пользователя Windows, в двух местах. Папки скрытые, поэтому проще вставить путь в адресную строку проводника.

  • %LOCALAPPDATA%\1C\1cv8 — локальный кэш: подпапки с именами в виде длинных идентификаторов, по одной на базу. Сюда попадает основная часть данных.
  • %APPDATA%\1C\1cv8 — кэш в роуминговой части профиля. Устроен так же, но обычно весит меньше.
  • %APPDATA%\1C\1CEStart — здесь лежит ibases.v8i, список баз, которые видны в окне запуска. Это не кэш, и удалять его не нужно.

Папки в 1cv8 называются идентификаторами вида 0a1b2c3d-4e5f-6789-abcd-0123456789ab. По имени понять, какая база какая, нельзя. Идентификатор базы указан в списке баз, о чём подробнее в разделе про очистку одной базы.

В той же папке встречаются каталоги 1Cv8FTxt (индекс полнотекстового поиска) и Config, ConfigSave (временные копии конфигурации). Индекс полнотекстового поиска после удаления придётся строить заново, это может занять время на большой базе.

Если нужной папки нет в профиле, проверьте, под каким пользователем запускается 1С. Для терминального сервера и запуска «от имени» профиль будет чужой, и искать нужно именно в нём.

2. Как вручную удалить кэш 1С в Windows

Это самый надёжный способ, и ему нужно не больше пяти минут.

  1. Закройте все окна 1С: и клиент, и конфигуратор. Проверьте в диспетчере задач, что процессов 1cv8.exe и 1cv8c.exe не осталось.
  2. Нажмите Win + R, введите %LOCALAPPDATA%\1C\1cv8 и нажмите Enter.
  3. Выделите все папки с идентификаторами и удалите их. Служебные файлы вроде 1cv8strt.pfl лучше оставить, это настройки запуска.
  4. Повторите то же для %APPDATA%\1C\1cv8.
  5. Запустите 1С. Первый старт будет заметно дольше обычного: платформа строит кэш заново.

Не нужно чистить корзину и перезагружать компьютер, всё работает сразу.

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

Что потеряется после удаления

  • положение и размеры окон, открытые вкладки;
  • пользовательские настройки списков и отчётов, которые хранились локально;
  • индекс полнотекстового поиска, если он был в этой папке.

История ввода (подсказки в полях) и избранное могут сохраниться или пропасть в зависимости от конфигурации и настроек пользователя. Если у бухгалтера много ручных настроек отчётов, сначала сохраните их штатными средствами конфигурации, либо чистите только одну базу.

3. Как почистить кэш одной базы 1С

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

  1. Откройте файл %APPDATA%\1C\1CEStart\ibases.v8i в блокноте.
  2. Найдите блок с названием вашей базы в квадратных скобках, например [Бухгалтерия предприятия].
  3. В этом блоке посмотрите строку ID=. Это идентификатор базы, он совпадает с именем папки кэша.
  4. Закройте 1С, перейдите в %LOCALAPPDATA%\1C\1cv8 и удалите папку с этим именем. Затем то же в %APPDATA%\1C\1cv8.

Если баз много и с идентификаторами лень разбираться, есть запасной путь. Отсортируйте папки по дате изменения и удалите ту, которая менялась последней: вы только что работали именно в этой базе. Надёжнее всего сверка по ID=.

Есть и третий вариант без поиска папок: запуск платформы с параметром очистки. Для этого к ярлыку 1С добавляют ключ /ClearCache в поле «Объект». Выглядеть строка будет примерно так:

"C:\Program Files\1cv8\8.3.25.1445\bin\1cv8.exe" ENTERPRISE /ClearCache

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

Какой у вас случай?

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

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

Сохраните в файл clear1c.bat такой текст:

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

Что здесь происходит. Первые две команды завершают процессы 1С, иначе файлы окажутся занятыми. Пауза в две секунды даёт им закрыться. Затем цикл for /d обходит подпапки и удаляет каждую вместе с содержимым. Файлы в корне 1cv8 цикл не трогает, поэтому 1cv8strt.pfl остаётся.

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

Для регулярного запуска есть два рабочих варианта:

  • 🕗 планировщик заданий Windows: создать задачу «при входе в систему» либо по расписанию, вечером;
  • 🖱️ отдельный ярлык на рабочем столе у пользователя, которому это нужно, с запуском вручную.

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

5. Кэш в клиент-серверной базе: что делать на сервере 1С

Клиент-серверная база держит кэш и на сервере предприятия. Если ошибки одинаково воспроизводятся у разных пользователей на разных компьютерах, то локальная очистка не поможет. Ищите на сервере.

Данные кластера лежат в каталоге, указанном при установке службы агента сервера (по умолчанию это папка srvinfo в каталоге данных 1С). Внутри есть подпапка кластера reg_1541 (номер порта может быть другим) и вложенные папки с сессионными данными вида snccntx....

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

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

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

Для файловой базы серверного кэша нет: вся нагрузка на рабочем месте, и достаточно чистки по разделам 2–3. В версиях с сервером приложений ситуация та же, чистите в каталоге кластера, а не на клиентах.

6. Если после очистки 1С не запускается или тормозит

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

Если дело не в ожидании, помогает такая диагностика.

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

Если вы на всякий случай удалили не только кэш, но и файл ibases.v8i, это неприятно, но не страшно. Список баз восстанавливается заново через «Добавить → Существующая информационная база». Сами базы целы.

7. Как после очистки ускорить работу 1С

Очистка кэша ускоряет запуск ненадолго. Если 1С тормозит постоянно, причина обычно в другом, и кэш тут вторичен.

  • 💾 Хранилище. Расположите кэш и базу на SSD. На обычном жёстком диске платформа заметно медленнее строит и читает кэш.
  • 🧹 Антивирус. Добавьте каталоги 1C в профиле и файл базы в исключения. Сканирование на лету съедает время при каждом обращении к кэшу.
  • 🗂️ Файловая база. Следите за размером файла 1Cv8.1CD: после сотен гигабайт без обслуживания база начинает «плыть». Периодически делайте выгрузку и загрузку информационной базы через конфигуратор.
  • 🧠 Оперативная память. Рабочему месту с 1С нужно не меньше 8 ГБ, лучше 16. При нехватке памяти система сбрасывает кэш на диск, и чистка только добавляет нагрузку.
  • 🔄 Платформа. Работайте на актуальной версии 8.3, а не на давно устаревшем релизе. Многие «кэшевые» ошибки исправлены в новых сборках.
Если 1С тормозит после очистки кэша
Выполнено: 0 / 5

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

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

Можно ли потерять данные, если удалить кэш 1С?
Нет. Документы и справочники хранятся в информационной базе, а не в кэше. Пропадут только настройки отображения и временные файлы.
Как часто нужно чистить кэш 1С?
По необходимости: после обновления платформы или конфигурации, при странном поведении форм. Регулярно, по расписанию, это делать незачем.
Почему после очистки 1С запускается дольше?
Платформа заново собирает описание конфигурации и индексы. Это один раз, дальше запуск вернётся к норме.
Нужно ли чистить кэш на сервере, если у пользователей ошибка?
Сначала очистите кэш на рабочем месте одного пользователя. Если ошибка осталась у других на разных компьютерах, тогда смотрите сервер.
Какие папки нельзя удалять?
Каталог файловой базы с файлом 1Cv8.1CD, реестр кластера на сервере и ibases.v8i, если не хотите заново добавлять базы в список.
Помогает ли очистка кэша от медленной работы?
Лишь на время. Постоянные тормоза лечатся диском, памятью, антивирусом и обслуживанием базы.