Чистим кэш 1С: клиент, сервер и параметр запуска
Содержание
Кэш 1С чистят одним из трёх способов: удаляют папки профиля пользователя вручную, запускают скрипт, который делает это за вас, или стартуют базу с параметром /ClearCache. Первый подходит для одной проблемной машины, второй — для парка из десятков компьютеров, третий — когда не хочется лезть в файловую систему.
Кэш лежит не «в базе», а на диске компьютера, где запускается 1С. Данные вашей информационной базы при очистке не страдают. Теряются только временные файлы: копии конфигурации, списки, настройки форм. Платформа создаст их заново при следующем входе, поэтому первый запуск после чистки будет медленнее.
Чистить кэш стоит, когда после обновления конфигурации открываются старые формы, пропадают или «залипают» команды, база не стартует с ошибкой чтения конфигурации, а у соседа та же база работает нормально.
Что именно удаляем и что можно оставить
Прежде чем что-то стирать, полезно понимать, где что лежит. Всё в профиле пользователя Windows, в каталоге 1C.
| Каталог | Что внутри | Удалять? |
|---|---|---|
%LOCALAPPDATA%\1C\1cv8 | Кэш конфигураций, метаданных, форм. Папки с именами-GUID | Да, это и есть кэш |
%APPDATA%\1C\1cv8 | Пользовательские настройки: положение окон, сохранённые отборы | По желанию, сбросит оформление |
%APPDATA%\1C\1CEStart | Список баз стартового окна (ibases.v8i) | Нет, потеряете список баз |
Каталоги скрыты от глаз не полностью: AppData в проводнике по умолчанию невидима. Включите показ скрытых элементов в меню «Вид» или просто вставьте путь в адресную строку.
Папки в 1cv8 называются длинными идентификаторами вроде 3f1a8c2e-..... Каждая соответствует одной базе или конфигурации. Если знаете, какая база глючит, определить нужную папку по имени сложно, проще удалить все.
Быстро открыть каталог: нажмите Win+R, вставьте %LOCALAPPDATA%\1C\1cv8 и нажмите Enter.
Ручная чистка кэша через проводник
Самый надёжный способ, он же самый наглядный.
- Закройте все окна 1С, включая конфигуратор. Проверьте в диспетчере задач, что процессов
1cv8.exeи1cv8c.exeнет. - Откройте
%LOCALAPPDATA%\1C\1cv8. - Выделите все вложенные папки с GUID-именами и удалите их. Файлы рядом (например,
1cv8strt.pfl,1cv8u.pfl) можно не трогать. - Если нужен ещё и сброс пользовательских настроек, повторите то же в
%APPDATA%\1C\1cv8. - Запустите 1С и откройте базу.
Перед удалением можно переименовать каталог, а не стереть. Допишите к имени _old: если после запуска всё работает, удалите его потом. Если нет, верните имя на место. Это страховка на случай, когда вы не уверены, в той ли папке копаетесь.
Если какая-то папка не удаляется и Windows пишет, что файл занят, значит, процесс 1С ещё жив. Завершите его в диспетчере задач и повторите.
Каталог 1CEStart не удаляйте: вместе с ним исчезнет список всех баз, и вам придётся добавлять их заново.
Кстати, бывает, что кэш «забит» не клиентом, а веб-браузером. Если вы работаете в веб-клиенте, очистите кэш браузера для адреса вашей публикации, а не папки 1С.
Скрипт для массовой очистки: bat-файл вместо утилиты
В сети ходят готовые утилиты под названием ClearCache и похожие. Это сторонние программы: что именно они удаляют, вы проверить не можете, а запускать чужой исполняемый файл на рабочих машинах бухгалтерии рискованно. Для типового случая хватает собственного bat-файла. Он короткий, читается за минуту и делает ровно то, что нужно: закрывает 1С и удаляет только кэш.
Если утилиту всё же берёте, проверьте три вещи: откуда она скачана, что говорит антивирус и не трогает ли она каталог 1CEStart. Лучше сначала запустить её на тестовом компьютере.
@echo off
taskkill /F /IM 1cv8.exe >nul 2>&1
taskkill /F /IM 1cv8c.exe >nul 2>&1
timeout /t 2 >nul
for /d %%i in ("%LOCALAPPDATA%\1C\1cv8\*-*-*-*-*") do rd /s /q "%%i"
echo Кэш 1С очищен
pause
Маска *-*-*-*-* отбирает только папки с GUID-именами, остальное не заденет. Если хотите сбросить ещё и настройки, добавьте такую же строку для %APPDATA%\1C\1cv8.
Как раздать скрипт пользователям:
- 📁 положите его на сетевую папку и сделайте ярлык на рабочем столе;
- 🖥️ или включите в логон-скрипт групповой политики, если чистка нужна при каждом входе;
- 👤 запускайте от имени самого пользователя, не администратора: иначе очистится профиль администратора, а не пользователя.
Перед массовой раздачей проверьте скрипт на одном компьютере. taskkill /F закрывает 1С без сохранения, несохранённый документ пропадёт.
Параметр запуска /ClearCache: чистка при старте
Платформа умеет чистить кэш сама. Для этого у ярлыка или у записи в списке баз задают параметр /ClearCache. Он очищает кэш клиент-серверных вызовов при запуске.
Как добавить параметр:
- В стартовом окне 1С выберите базу и нажмите «Изменить».
- Дойдите до последнего шага мастера, где задаются параметры запуска и режим.
- В поле дополнительных параметров запуска впишите
/ClearCache. - Сохраните и запустите базу.
Либо допишите параметр в командную строку ярлыка:
"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /S"сервер\база" /ClearCache
Путь к исполняемому файлу у вас может отличаться: смотрите свойства существующего ярлыка и дописывайте параметр в конец.
Минус способа: параметр отрабатывает при каждом запуске, пока вы его не уберёте. База будет стартовать медленнее. Поэтому используйте его как разовую меру: запустили, убедились, что помогло, убрали параметр.
Если база запускается через веб-публикацию или тонкий клиент по ссылке, параметр запуска задаётся иначе: в таких случаях проще очистить клиентские папки скриптом.
Какой способ выбрать
| Способ | Когда подходит | Риск |
|---|---|---|
| Вручную через проводник | Одна машина, разовая проблема | Можно удалить лишнее |
| bat-скрипт | Много компьютеров, регулярные сбои | Закрывает 1С принудительно |
/ClearCache | Нужно очистить именно кэш вызовов, без лазания в папки | Медленный старт, если забыть убрать |
Кэш на сервере: клиент-серверный вариант
В клиент-серверной базе свой кэш есть и у кластера серверов. Чистка на клиентах не поможет, если «залип» серверный кэш: например, после обновления конфигурации одни пользователи видят новое поведение, другие старое.
Порядок работ:
- Предупредите пользователей и дождитесь, пока они выйдут из базы. Либо заблокируйте начало сеансов в консоли кластера.
- Остановите службу «Агент сервера 1С:Предприятия 8.3» (
Win+R,services.msc). - Откройте каталог данных кластера, обычно он называется
srvinfo. Внутри каталог кластера видаreg_1541. - Удалите вложенные папки
snccntx*: это сеансовые данные и кэш. Саму структуруreg_1541и файл1CV8Clst.lstне трогайте. - Запустите службу заново.
Не удаляйте файл 1CV8Clst.lst и каталоги с GUID баз: в них реестр кластера и служебные данные. Без резервной копии srvinfo лезть туда нельзя.
Если кластер стоит на Linux, логика та же: остановить сервис, очистить каталоги сеансовых данных, запустить. Пути зависят от того, куда вы поставили srvinfo.
Что проверить после чистки на сервере
- Служба агента запущена, а процессы
rphostиrmngrпоявились в списке процессов. - В консоли кластера видны информационные базы, а блокировка начала сеансов снята. Если вы её включали, не забудьте выключить: частая причина «никто не может войти» после работ.
- Пользователи заходят, и первый вход у каждого занимает чуть больше обычного. Дайте им пару минут.
- Клиентский кэш на рабочих местах можно не трогать, если проблема была чисто серверной.
Если кластер поднят на нескольких рабочих серверах, повторите шаги на каждом. Кэш у каждого свой, и пропущенный сервер будет выдавать старое поведение на части сеансов. Это выглядит как «плавающая» ошибка: то работает, то нет, в зависимости от того, на какой рабочий процесс попал пользователь.
Для файловой базы (без сервера) отдельного серверного кэша нет, достаточно клиентского.
%LOCALAPPDATA%\1C\1cv8. Сервер не трогайте.Диагностика: помогла ли чистка, смотрим журнал регистрации
Прежде чем чистить вслепую, посмотрите, что на самом деле происходит. Журнал регистрации открывается из меню «Администрирование» (в разных конфигурациях раздел называется чуть по-разному: ищите пункт «Журнал регистрации» через поиск по командам).
На что смотреть:
- ❌ ошибки с уровнем «Ошибка» около времени сбоя: текст ошибки часто прямо указывает на формы или метаданные;
- 🔄 события обновления конфигурации и реструктуризации: если они завершились не до конца, кэш ни при чём, нужно доводить обновление;
- 👤 сообщения конкретного пользователя: отфильтруйте журнал по его имени, чтобы убедиться, что проблема локальная.
Отдельно проверьте, не пишет ли журнал ошибки доступа к файлам профиля. Это признак того, что кэш не обновляется из-за прав или блокировки антивирусом, и чистка поможет лишь на время.
Алгоритм простой. Воспроизвели сбой, записали время. Почистили кэш. Повторили. Если ошибка исчезла, дело было в кэше. Если нет, ищите причину в данных или в самой конфигурации, а не в кэше.
Не чистите кэш «на всякий случай» каждую неделю. Если приходится делать это регулярно, значит, где-то систематический сбой: обрывы сети, антивирус, блокирующий файлы профиля, или неудачное обновление.
/ClearCache из ярлыка.%APPDATA%\1C\1cv8. Настройки пользователя придётся вернуть вручную. Для следующих чисток удаляйте только каталог в %LOCALAPPDATA%.1cv8.exe, 1cv8c.exe в диспетчере задач, проверьте и сеансы на терминальном сервере.1CEStart. Восстановите ibases.v8i из резервной копии профиля или добавьте базы заново.Как реже возвращаться к чистке кэша
Если за месяц вы чистили кэш на одной и той же машине больше двух раз, ищите причину глубже. Кэш просто следствие: он повреждается, когда запись на диск обрывается. Причины: внезапное выключение питания, сетевой диск вместо локального профиля, нехватка места, агрессивный антивирус.
Частые проблемы с кэшем почти всегда лечатся причиной, а не чисткой.
- 🔧 После обновления конфигурации выполните полную загрузку обновления и дождитесь реструктуризации. Не прерывайте её.
- 🛡️ Добавьте каталоги профиля
%LOCALAPPDATA%\1Cи%APPDATA%\1Cв исключения антивируса: он нередко блокирует файлы кэша во время записи. - 🌐 Если профили пользователей перемещаемые и лежат на сетевом ресурсе, исключите
%LOCALAPPDATA%из синхронизации. Он локальный по замыслу. - 💾 Следите за свободным местом на системном диске. Кэш нескольких баз с большими конфигурациями легко занимает несколько гигабайт.
- 🔁 Держите платформу и конфигурацию в согласованных версиях на всех компьютерах. Разные версии платформы у соседей дают те самые «у меня работает, у него нет».
Частые вопросы
Можно ли потерять данные базы при чистке кэша?
1Cv8.1CD или в СУБД на сервере. Кэш только ускоряет работу и пересоздаётся.Как часто нужно чистить кэш 1С?
Где лежит кэш 1С в Windows?
%LOCALAPPDATA%\1C\1cv8 (кэш) и %APPDATA%\1C\1cv8 (настройки). Профиль у каждого пользователя свой.