Чистим кэш 1С на компьютере, когда база не открывается или тормозит

· 9 мин

Содержание

Есть три способа очистить кэш 1С: запустить базу с ключом /ClearCache, удалить папки кэша руками или воспользоваться готовым скриптом. Первый быстрее всего и безопаснее. Второй нужен, если база не стартует совсем. Третий удобен, когда чистить надо на десятках компьютеров.

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

Перед чисткой убедитесь, что 1С закрыта у всех сеансов на этом компьютере. Иначе часть файлов будет занята, и Windows их не удалит.

Когда кэш действительно виноват

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

  • 🔴 после обновления конфигурации форма открывается по-старому, нет новых полей и кнопок;
  • 🔴 окно висит на «Загрузка конфигурации» дольше обычного;
  • 🔴 на одном компьютере база падает, на соседнем с тем же пользователем работает;
  • 🔴 выскакивает ошибка Ошибка при загрузке кэша форм или похожее сообщение про повреждённый файл;
  • 🔴 после смены конфигурации в режиме Конфигуратора пользователи видят прежний интерфейс.

Быстрая проверка простая: запустите ту же базу с другого компьютера или под другой учёткой Windows. Работает там — виноваты локальные данные, и чистка кэша вам подойдёт. Не работает — причина в самой базе или сервере, и кэш тут ни при чём.

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

Самый быстрый способ: запуск с ключом ClearCache

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

Через ярлык или командную строку

  1. Закройте все окна 1С на компьютере.
  2. Откройте командную строку или создайте копию ярлыка 1С.
  3. Запустите клиент с параметром:
"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. Закройте 1С и убедитесь, что в диспетчере задач нет процессов 1cv8.exe и 1cv8c.exe.
  2. Откройте обе папки 1cv8.
  3. Удалите вложенные папки с именами-идентификаторами.
  4. Файлы и папки верхнего уровня, которых вы не узнаёте, не трогайте.
  5. Запустите 1С и откройте базу. Первый запуск будет дольше обычного.

Список баз хранится отдельно, в каталоге 1CEStart, и обычно лежит рядом, в %APPDATA%\1C\. Его не удаляйте, иначе придётся добавлять все базы заново.

Если какую-то папку Windows удалить не даёт, значит процесс 1С ещё жив. Завершите его в диспетчере задач или просто перезагрузите компьютер и повторите.

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

Только кэш. Сами базы лежат в других местах: файловая в каталоге, который вы указывали при создании, серверная на сервере. Резервные копии, выгрузки .dt и файлы .1CD в AppData не хранятся, но на всякий случай перед любой уборкой проверьте, что не цепляете чужие каталоги.

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

Файловая и клиент-серверная база: что меняется

Идея одна и та же, но есть нюансы.

Файловая база

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

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

Клиент-серверная база

Здесь два уровня кэша: клиентский и серверный. Всё, что описано выше, относится к клиентскому. Он по-прежнему на рабочем месте.

Серверный кэш хранит кластер 1С. Его самостоятельная чистка на «живой» системе рискованна: нужно останавливать службу сервера, а ошибка в каталоге кластера может сломать регистрацию баз. Если проблема явно на стороне сервера (тормозят все пользователи сразу, сбои повторяются после чистки клиентов), этим должен заниматься администратор сервера, и только после копии каталога кластера.

СитуацияЧто чистим
Проблема у одного пользователяКлиентский кэш на его компьютере
Проблема у части пользователейКлиентский кэш на их компьютерах
Проблема у всех, после обновленияСначала клиентский кэш, затем разбор сервера
Веб-клиент в браузереКэш и cookie самого браузера

Для веб-клиента платформенный кэш не нужен: очищается кэш браузера для адреса публикации. Достаточно сочетания Ctrl+Shift+Delete и удаления кэшированных файлов за всё время только для нужного сайта.

Как найти папку одной конкретной базы

Если баз много и сносить кэш всех сразу не хочется, чистите только проблемную. Идентификатор базы указан в файле списка баз ibases.v8i, который лежит в %APPDATA%\1C\1CEStart. Откройте его блокнотом: у каждой базы там есть строка ID= с тем же набором символов, что и в имени папки кэша.

Порядок такой:

  1. Найдите в ibases.v8i блок с названием вашей базы.
  2. Скопируйте значение после ID=.
  3. Удалите папки с этим именем в обоих каталогах 1cv8.
  4. Сам файл 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.

Что делать, если очистка не помогла

Бывает, что кэш удалён, а проблема на месте. Идите от простого к сложному.

  1. Перезагрузите компьютер. Часть зависших процессов и блокировок снимется сама.
  2. Проверьте, что версия клиентской платформы совпадает с серверной. Расхождение даёт странные ошибки при подключении.
  3. Запустите базу под другой учётной записью Windows. Если там всё хорошо, профиль пользователя повреждён.
  4. Отключите на время расширения конфигурации , если они недавно менялись.
  5. Для файловой базы запустите тестирование и исправление из Конфигуратора, предварительно сделав копию каталога.
  6. Переустановите клиент платформы нужной версии.

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

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

Как не засорять кэш и не чистить его каждую неделю

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

  • 🟢 Обновляйте клиентов вместе с сервером. Разная версия платформы на клиенте и на сервере самая частая причина «непонятных» глюков.
  • 🟢 Чистите кэш после смены конфигурации, особенно после крупного обновления. Это занимает минуту, а экономит час разбирательств.
  • 🟢 Следите за диском. Если системный диск почти полон, 1С не может записать кэш и начинает вести себя нестабильно. Свободного места должно хватать на рост профиля.
  • 🟢 Не держите десятки неиспользуемых баз в списке запуска: для каждой копится своя папка кэша.
  • 🟢 Выносите медленные операции в регламент: обновление и перезапуск рабочих станций раз в неделю решают много мелких проблем.

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

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

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