Чистим кэш 1С: клиент, сервер и параметр запуска

· 9 мин

Содержание

Кэш 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. Закройте все окна 1С, включая конфигуратор. Проверьте в диспетчере задач, что процессов 1cv8.exe и 1cv8c.exe нет.
  2. Откройте %LOCALAPPDATA%\1C\1cv8.
  3. Выделите все вложенные папки с GUID-именами и удалите их. Файлы рядом (например, 1cv8strt.pfl, 1cv8u.pfl) можно не трогать.
  4. Если нужен ещё и сброс пользовательских настроек, повторите то же в %APPDATA%\1C\1cv8.
  5. Запустите 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. В стартовом окне 1С выберите базу и нажмите «Изменить».
  2. Дойдите до последнего шага мастера, где задаются параметры запуска и режим.
  3. В поле дополнительных параметров запуска впишите /ClearCache.
  4. Сохраните и запустите базу.

Либо допишите параметр в командную строку ярлыка:

"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /S"сервер\база" /ClearCache

Путь к исполняемому файлу у вас может отличаться: смотрите свойства существующего ярлыка и дописывайте параметр в конец.

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

Если база запускается через веб-публикацию или тонкий клиент по ссылке, параметр запуска задаётся иначе: в таких случаях проще очистить клиентские папки скриптом.

Какой способ выбрать

СпособКогда подходитРиск
Вручную через проводникОдна машина, разовая проблемаМожно удалить лишнее
bat-скриптМного компьютеров, регулярные сбоиЗакрывает 1С принудительно
/ClearCacheНужно очистить именно кэш вызовов, без лазания в папкиМедленный старт, если забыть убрать

Кэш на сервере: клиент-серверный вариант

В клиент-серверной базе свой кэш есть и у кластера серверов. Чистка на клиентах не поможет, если «залип» серверный кэш: например, после обновления конфигурации одни пользователи видят новое поведение, другие старое.

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

  1. Предупредите пользователей и дождитесь, пока они выйдут из базы. Либо заблокируйте начало сеансов в консоли кластера.
  2. Остановите службу «Агент сервера 1С:Предприятия 8.3» (Win+R, services.msc).
  3. Откройте каталог данных кластера, обычно он называется srvinfo. Внутри каталог кластера вида reg_1541.
  4. Удалите вложенные папки snccntx*: это сеансовые данные и кэш. Саму структуру reg_1541 и файл 1CV8Clst.lst не трогайте.
  5. Запустите службу заново.

Не удаляйте файл 1CV8Clst.lst и каталоги с GUID баз: в них реестр кластера и служебные данные. Без резервной копии srvinfo лезть туда нельзя.

Если кластер стоит на Linux, логика та же: остановить сервис, очистить каталоги сеансовых данных, запустить. Пути зависят от того, куда вы поставили srvinfo.

Что проверить после чистки на сервере

  • Служба агента запущена, а процессы rphost и rmngr появились в списке процессов.
  • В консоли кластера видны информационные базы, а блокировка начала сеансов снята. Если вы её включали, не забудьте выключить: частая причина «никто не может войти» после работ.
  • Пользователи заходят, и первый вход у каждого занимает чуть больше обычного. Дайте им пару минут.
  • Клиентский кэш на рабочих местах можно не трогать, если проблема была чисто серверной.

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

Для файловой базы (без сервера) отдельного серверного кэша нет, достаточно клиентского.

Где у вас проблема с кэшем?

Диагностика: помогла ли чистка, смотрим журнал регистрации

Прежде чем чистить вслепую, посмотрите, что на самом деле происходит. Журнал регистрации открывается из меню «Администрирование» (в разных конфигурациях раздел называется чуть по-разному: ищите пункт «Журнал регистрации» через поиск по командам).

На что смотреть:

  • ❌ ошибки с уровнем «Ошибка» около времени сбоя: текст ошибки часто прямо указывает на формы или метаданные;
  • 🔄 события обновления конфигурации и реструктуризации: если они завершились не до конца, кэш ни при чём, нужно доводить обновление;
  • 👤 сообщения конкретного пользователя: отфильтруйте журнал по его имени, чтобы убедиться, что проблема локальная.

Отдельно проверьте, не пишет ли журнал ошибки доступа к файлам профиля. Это признак того, что кэш не обновляется из-за прав или блокировки антивирусом, и чистка поможет лишь на время.

Алгоритм простой. Воспроизвели сбой, записали время. Почистили кэш. Повторили. Если ошибка исчезла, дело было в кэше. Если нет, ищите причину в данных или в самой конфигурации, а не в кэше.

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

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

Как реже возвращаться к чистке кэша

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

Частые проблемы с кэшем почти всегда лечатся причиной, а не чисткой.

  1. 🔧 После обновления конфигурации выполните полную загрузку обновления и дождитесь реструктуризации. Не прерывайте её.
  2. 🛡️ Добавьте каталоги профиля %LOCALAPPDATA%\1C и %APPDATA%\1C в исключения антивируса: он нередко блокирует файлы кэша во время записи.
  3. 🌐 Если профили пользователей перемещаемые и лежат на сетевом ресурсе, исключите %LOCALAPPDATA% из синхронизации. Он локальный по замыслу.
  4. 💾 Следите за свободным местом на системном диске. Кэш нескольких баз с большими конфигурациями легко занимает несколько гигабайт.
  5. 🔁 Держите платформу и конфигурацию в согласованных версиях на всех компьютерах. Разные версии платформы у соседей дают те самые «у меня работает, у него нет».
Перед чисткой кэша
Выполнено: 0 / 5

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

Можно ли потерять данные базы при чистке кэша?
Нет. Данные хранятся в самой информационной базе, в файле 1Cv8.1CD или в СУБД на сервере. Кэш только ускоряет работу и пересоздаётся.
Как часто нужно чистить кэш 1С?
По необходимости, а не по расписанию. Поводы: обновление конфигурации, странное поведение форм, ошибки чтения метаданных. Регулярная чистка без причины замедляет работу.
Где лежит кэш 1С в Windows?
В профиле пользователя: %LOCALAPPDATA%\1C\1cv8 (кэш) и %APPDATA%\1C\1cv8 (настройки). Профиль у каждого пользователя свой.
Нужна ли перезагрузка компьютера после очистки?
Нет, хватит полностью закрыть 1С и открыть заново. Перезагрузка нужна, только если файлы не удаляются из-за зависшего процесса.
Поможет ли чистка кэша при медленной работе базы?
Редко. Тормоза чаще связаны с блокировками, размером базы, СУБД или сетью. Кэш виноват, если замедление началось сразу после обновления на конкретном компьютере.