Чистим кэш 1С на ПК: куда лезть, что удалять и чем это грозит
Содержание
Кэш 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С: и клиент, и конфигуратор. Проверьте в диспетчере задач, что процессов
1cv8.exeи1cv8c.exeне осталось. - Нажмите
Win + R, введите%LOCALAPPDATA%\1C\1cv8и нажмите Enter. - Выделите все папки с идентификаторами и удалите их. Служебные файлы вроде
1cv8strt.pflлучше оставить, это настройки запуска. - Повторите то же для
%APPDATA%\1C\1cv8. - Запустите 1С. Первый старт будет заметно дольше обычного: платформа строит кэш заново.
Не нужно чистить корзину и перезагружать компьютер, всё работает сразу.
Если часть файлов не удаляется со словами «Файл используется», значит, процесс 1С остался в памяти. Завершите его в диспетчере задач и повторите. Перезагрузка Windows тоже помогает, но обычно хватает снятия задачи.
Что потеряется после удаления
- положение и размеры окон, открытые вкладки;
- пользовательские настройки списков и отчётов, которые хранились локально;
- индекс полнотекстового поиска, если он был в этой папке.
История ввода (подсказки в полях) и избранное могут сохраниться или пропасть в зависимости от конфигурации и настроек пользователя. Если у бухгалтера много ручных настроек отчётов, сначала сохраните их штатными средствами конфигурации, либо чистите только одну базу.
3. Как почистить кэш одной базы 1С
Когда проблема в одной базе, сносить кэш остальных незачем. Нужно найти папку именно этой базы.
- Откройте файл
%APPDATA%\1C\1CEStart\ibases.v8iв блокноте. - Найдите блок с названием вашей базы в квадратных скобках, например
[Бухгалтерия предприятия]. - В этом блоке посмотрите строку
ID=. Это идентификатор базы, он совпадает с именем папки кэша. - Закройте 1С, перейдите в
%LOCALAPPDATA%\1C\1cv8и удалите папку с этим именем. Затем то же в%APPDATA%\1C\1cv8.
Если баз много и с идентификаторами лень разбираться, есть запасной путь. Отсортируйте папки по дате изменения и удалите ту, которая менялась последней: вы только что работали именно в этой базе. Надёжнее всего сверка по ID=.
Есть и третий вариант без поиска папок: запуск платформы с параметром очистки. Для этого к ярлыку 1С добавляют ключ /ClearCache в поле «Объект». Выглядеть строка будет примерно так:
"C:\Program Files\1cv8\8.3.25.1445\bin\1cv8.exe" ENTERPRISE /ClearCache
Версию платформы в пути подставьте свою. Ключ очищает кэш при запуске, но поведение зависит от версии платформы, поэтому если эффекта не видно, возвращайтесь к удалению папок.
ID= в ibases.v8i. Остальные базы не трогайте.%LOCALAPPDATA%\1C\1cv8 и %APPDATA%\1C\1cv8. Базы откроются дольше обычного один раз.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С:Предприятия 8.3» в оснастке «Службы» Windows.
- Убедитесь, что процессы
rphost.exe,rmngr.exeиragent.exeзавершились. - Удалите в папке кластера каталоги
snccntx.... Остальное содержимоеreg_1541не трогайте: там лежит реестр кластера со списком баз, и его потеря обернётся настройкой с нуля. - Запустите службу и проверьте, что пользователи заходят.
Не удаляйте папки с идентификаторами баз внутри каталога кластера. Там могут быть файлы самой базы, если она файловая, и служебные данные кластера. Перед любыми действиями на сервере сделайте копию каталога.
Для файловой базы серверного кэша нет: вся нагрузка на рабочем месте, и достаточно чистки по разделам 2–3. В версиях с сервером приложений ситуация та же, чистите в каталоге кластера, а не на клиентах.
6. Если после очистки 1С не запускается или тормозит
Чаще всего это нормальная реакция: платформа строит кэш заново, и первый запуск идёт в несколько раз дольше. Для большой базы это минуты. Подождите, не закрывайте окно и не запускайте второй экземпляр.
Если дело не в ожидании, помогает такая диагностика.
ibases.v8i из %APPDATA%\1C\1CEStart. Верните файл из корзины или из копии, либо добавьте базы заново кнопкой «Добавить».Если вы на всякий случай удалили не только кэш, но и файл ibases.v8i, это неприятно, но не страшно. Список баз восстанавливается заново через «Добавить → Существующая информационная база». Сами базы целы.
7. Как после очистки ускорить работу 1С
Очистка кэша ускоряет запуск ненадолго. Если 1С тормозит постоянно, причина обычно в другом, и кэш тут вторичен.
- 💾 Хранилище. Расположите кэш и базу на SSD. На обычном жёстком диске платформа заметно медленнее строит и читает кэш.
- 🧹 Антивирус. Добавьте каталоги
1Cв профиле и файл базы в исключения. Сканирование на лету съедает время при каждом обращении к кэшу. - 🗂️ Файловая база. Следите за размером файла
1Cv8.1CD: после сотен гигабайт без обслуживания база начинает «плыть». Периодически делайте выгрузку и загрузку информационной базы через конфигуратор. - 🧠 Оперативная память. Рабочему месту с 1С нужно не меньше 8 ГБ, лучше 16. При нехватке памяти система сбрасывает кэш на диск, и чистка только добавляет нагрузку.
- 🔄 Платформа. Работайте на актуальной версии 8.3, а не на давно устаревшем релизе. Многие «кэшевые» ошибки исправлены в новых сборках.
Если приходится чистить кэш чаще раза в месяц, не лечите симптом. Ищите причину: слабый диск, антивирус, битая форма, сетевой сбой. Скрипт из раздела 4 нужен как временная мера, а не как постоянное решение.
Частые вопросы
Можно ли потерять данные, если удалить кэш 1С?
Как часто нужно чистить кэш 1С?
Почему после очистки 1С запускается дольше?
Нужно ли чистить кэш на сервере, если у пользователей ошибка?
Какие папки нельзя удалять?
1Cv8.1CD, реестр кластера на сервере и ibases.v8i, если не хотите заново добавлять базы в список.