Чистим кэш 1С на компьютере, когда база не открывается или тормозит
Содержание
Есть три способа очистить кэш
1С: запустить базу с ключом /ClearCache, удалить папки кэша руками или воспользоваться готовым скриптом. Первый быстрее всего и безопаснее. Второй нужен, если база не стартует совсем. Третий удобен, когда чистить надо на десятках компьютеров.
Клиентский кэш лежит на компьютере пользователя, а не в самой базе. Поэтому его очистка не трогает данные: документы, справочники и проводки остаются на месте. Платформа просто заново соберёт служебные файлы при следующем запуске.
Перед чисткой убедитесь, что 1С закрыта у всех сеансов на этом компьютере. Иначе часть файлов будет занята, и Windows их не удалит.
Когда кэш действительно виноват
Кэш хранит списки форм, настройки окон, метаданные конфигурации и результаты запросов к серверу. Если файлы повреждены или устарели, платформа ведёт себя странно. Типичные признаки:
- 🔴 после обновления конфигурации форма открывается по-старому, нет новых полей и кнопок;
- 🔴 окно висит на «Загрузка конфигурации» дольше обычного;
- 🔴 на одном компьютере база падает, на соседнем с тем же пользователем работает;
- 🔴 выскакивает ошибка
Ошибка при загрузке кэша формили похожее сообщение про повреждённый файл; - 🔴 после смены конфигурации в режиме Конфигуратора пользователи видят прежний интерфейс.
Быстрая проверка простая: запустите ту же базу с другого компьютера или под другой учёткой Windows. Работает там — виноваты локальные данные, и чистка кэша вам подойдёт. Не работает — причина в самой базе или сервере, и кэш тут ни при чём.
Самый быстрый способ: запуск с ключом ClearCache
Платформа умеет чистить кэш сама. Для этого достаточно добавить параметр запуска. Закрывать окна и искать папки не нужно.
Через ярлык или командную строку
- Закройте все окна 1С на компьютере.
- Откройте командную строку или создайте копию ярлыка 1С.
- Запустите клиент с параметром:
"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /ClearCache
Платформа сотрёт кэш и откроет список баз как обычно. Путь к 1cestart.exe у вас может отличаться: смотрите свойства ярлыка, там он уже прописан.
Если установлена 32-битная платформа на 64-битной Windows, путь начинается с C:\Program Files (x86)\. Скопируйте его из ярлыка, а не набирайте по памяти.
Через настройку списка баз
В окне запуска выберите базу и нажмите «Изменить». Среди дополнительных параметров запуска есть строка для ключей командной строки. Впишите туда /ClearCache, запустите базу один раз и сразу уберите ключ обратно.
Не оставляйте ключ постоянно. Если он стоит всегда, кэш сбрасывается при каждом входе, и 1С открывается заметно медленнее: платформа каждый раз заново строит всё с нуля.
Ручная очистка через проводник Windows
Этот способ спасает, когда база не запускается вообще и ключ не срабатывает. Работает на любой версии платформы 8.3.
Где лежат папки кэша
Кэш живёт в профиле пользователя Windows, в двух местах:
| Что чистим | Путь |
|---|---|
| Основной кэш (локальные данные) | %LOCALAPPDATA%\1C\1cv8 |
| Настройки и кэш (роуминг) | %APPDATA%\1C\1cv8 |
Обе строки можно вставить прямо в адресную строку проводника, Windows сама подставит нужный профиль. Папка AppData скрытая: если идёте вручную, включите показ скрытых элементов в меню «Вид».
Что удалять
Внутри 1cv8 вы увидите папки с длинными именами вроде 9f3a1c2e-…. Это идентификаторы баз. В каждой лежат файлы кэша конкретной базы.
Порядок действий:
- Закройте 1С и убедитесь, что в диспетчере задач нет процессов
1cv8.exeи1cv8c.exe. - Откройте обе папки
1cv8. - Удалите вложенные папки с именами-идентификаторами.
- Файлы и папки верхнего уровня, которых вы не узнаёте, не трогайте.
- Запустите 1С и откройте базу. Первый запуск будет дольше обычного.
Список баз хранится отдельно, в каталоге 1CEStart, и обычно лежит рядом, в %APPDATA%\1C\. Его не удаляйте, иначе придётся добавлять все базы заново.
Если какую-то папку Windows удалить не даёт, значит процесс 1С ещё жив. Завершите его в диспетчере задач или просто перезагрузите компьютер и повторите.
Что не стоит удалять
Только кэш. Сами базы лежат в других местах: файловая в каталоге, который вы указывали при создании, серверная на сервере. Резервные копии, выгрузки .dt и файлы .1CD в AppData не хранятся, но на всякий случай перед любой уборкой проверьте, что не цепляете чужие каталоги.
Файловая и клиент-серверная база: что меняется
Идея одна и та же, но есть нюансы.
Файловая база
Данные лежат в каталоге с файлом 1Cv8.1CD. Кэш клиента всё равно на компьютере пользователя. Если с файловой базой работают несколько человек по сети, чистить кэш нужно на том компьютере, где возникла проблема. На остальных ничего делать не надо.
Если вы подозреваете сам файл базы, а не кэш, это другой случай: нужны тестирование и исправление, а не удаление папок.
Клиент-серверная база
Здесь два уровня кэша: клиентский и серверный. Всё, что описано выше, относится к клиентскому. Он по-прежнему на рабочем месте.
Серверный кэш хранит кластер 1С. Его самостоятельная чистка на «живой» системе рискованна: нужно останавливать службу сервера, а ошибка в каталоге кластера может сломать регистрацию баз. Если проблема явно на стороне сервера (тормозят все пользователи сразу, сбои повторяются после чистки клиентов), этим должен заниматься администратор сервера, и только после копии каталога кластера.
| Ситуация | Что чистим |
|---|---|
| Проблема у одного пользователя | Клиентский кэш на его компьютере |
| Проблема у части пользователей | Клиентский кэш на их компьютерах |
| Проблема у всех, после обновления | Сначала клиентский кэш, затем разбор сервера |
| Веб-клиент в браузере | Кэш и cookie самого браузера |
Для веб-клиента платформенный кэш не нужен: очищается кэш браузера для адреса публикации. Достаточно сочетания Ctrl+Shift+Delete и удаления кэшированных файлов за всё время только для нужного сайта.
Как найти папку одной конкретной базы
Если баз много и сносить кэш всех сразу не хочется, чистите только проблемную. Идентификатор базы указан в файле списка баз ibases.v8i, который лежит в %APPDATA%\1C\1CEStart. Откройте его блокнотом: у каждой базы там есть строка ID= с тем же набором символов, что и в имени папки кэша.
Порядок такой:
- Найдите в
ibases.v8iблок с названием вашей базы. - Скопируйте значение после
ID=. - Удалите папки с этим именем в обоих каталогах
1cv8. - Сам файл
ibases.v8iне правьте и не удаляйте.
Есть и запасной приём без чтения файла: отсортируйте папки по дате изменения. Свежие относятся к базам, с которыми вы работали последними. Если проблемная база открывалась сегодня утром, её папка окажется в самом верху.
Скрипт для массовой очистки
Когда компьютеров много, ходить по каждому неудобно. Можно положить на общий ресурс небольшой bat-файл и запускать его у пользователей вручную, через планировщик или при входе.
@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 Кэш 1С очищен
pause
Скрипт принудительно закрывает клиенты 1С и стирает папки внутри обоих каталогов 1cv8. Файлы верхнего уровня остаются.
Команда taskkill с ключом /f обрывает программу без сохранения. Не запускайте скрипт, пока пользователь не закончил работу, иначе потеряется несохранённый документ.
Если в консоли вместо кириллицы вы видите «крякозябры», сохраните файл в кодировке OEM 866 или уберите русский текст из echo.
Что делать, если очистка не помогла
Бывает, что кэш удалён, а проблема на месте. Идите от простого к сложному.
- Перезагрузите компьютер. Часть зависших процессов и блокировок снимется сама.
- Проверьте, что версия клиентской платформы совпадает с серверной. Расхождение даёт странные ошибки при подключении.
- Запустите базу под другой учётной записью Windows. Если там всё хорошо, профиль пользователя повреждён.
- Отключите на время расширения конфигурации , если они недавно менялись.
- Для файловой базы запустите тестирование и исправление из Конфигуратора, предварительно сделав копию каталога.
- Переустановите клиент платформы нужной версии.
Если ошибка текстовая, ищите её по точной формулировке в журнале регистрации и в окне сообщения: в большинстве случаев там указана конкретная причина, а не просто «что-то с кэшем».
Как не засорять кэш и не чистить его каждую неделю
Кэш растёт сам, это нормально. Но несколько привычек делают его чистку редким событием.
- 🟢 Обновляйте клиентов вместе с сервером. Разная версия платформы на клиенте и на сервере самая частая причина «непонятных» глюков.
- 🟢 Чистите кэш после смены конфигурации, особенно после крупного обновления. Это занимает минуту, а экономит час разбирательств.
- 🟢 Следите за диском. Если системный диск почти полон, 1С не может записать кэш и начинает вести себя нестабильно. Свободного места должно хватать на рост профиля.
- 🟢 Не держите десятки неиспользуемых баз в списке запуска: для каждой копится своя папка кэша.
- 🟢 Выносите медленные операции в регламент: обновление и перезапуск рабочих станций раз в неделю решают много мелких проблем.
На виртуальных рабочих столах и терминальных серверах профили пользователей часто сбрасываются или лежат на сетевом диске. Если кэш каждый раз строится заново, 1С будет открываться медленно независимо от ваших усилий: вынесите папки кэша на локальный быстрый диск.
Частые вопросы
Удалятся ли мои данные при очистке кэша?
Нужно ли делать копию базы перед очисткой?
Пропадёт ли список баз в окне запуска?
1CEStart. Обычная очистка кэша его не затрагивает, и базы останутся в списке.