Чистка локального кэша 1С на компьютере пользователя
Содержание
Чтобы почистить кэш
1С, закройте все окна программы и удалите содержимое папок с GUID-именами в %LOCALAPPDATA%\1C\1cv8 и %APPDATA%\1C\1cv8. Сами каталоги 1cv8 оставьте. База, данные и список баз при этом не пострадают: платформа пересоберёт кэш при следующем запуске.
Это первое, что делают при странных сбоях клиента: форма открывается с прошлой версией, пропали или «задвоились» команды после обновления, висит «Ошибка при вызове метода контекста». Дальше разобрано, где кэш лежит, три способа его убрать, отличия для файловой и серверной базы и то, что трогать не нужно.
Что такое локальный кэш и когда его чистят
Платформа складывает на диск клиента то, что дорого получать с сервера каждый раз: описание форм, метаданные конфигурации, настройки интерфейса, результаты клиент-серверных вызовов. Это ускоряет запуск. Минус в том, что после обновления конфигурации или смены расширения клиент может взять старую копию.
Чистка кэша помогает, когда:
- 🔄 после обновления конфигурации форма выглядит по-старому или не открывается;
- 🧩 подключили или отключили расширение, а изменений на клиенте нет;
- 🐢 запуск стал заметно медленнее, а сервер и сеть в порядке;
- ⚠️ при открытии отдельного документа появляется ошибка, у соседа с той же базой её нет.
Последний признак самый показательный. Если ошибка воспроизводится на любом компьютере, кэш ни при чём, ищите причину в самой конфигурации или данных.
Чистка кэша безвредна для данных: в нём нет ни документов, ни справочников. Худшее последствие — первый запуск будет дольше обычного.
Где физически хранится кэш 1С в Windows
Платформа 8.3 держит кэш в профиле пользователя, в двух ветках:
| Каталог | Что внутри | Можно ли чистить |
|---|---|---|
%LOCALAPPDATA%\1C\1cv8 | кэш форм, метаданных, вызовов, папки с GUID-именами | да, содержимое |
%APPDATA%\1C\1cv8 | пользовательские настройки, тоже папки с GUID | да, но сбросятся настройки окон |
%APPDATA%\1C\1CEStart | список информационных баз ibases.v8i | нет, это ваш список баз |
%TEMP% (файлы v8_*.tmp) | временные файлы сеанса | да, когда 1С закрыта |
Чтобы открыть нужную папку, нажмите Win+R, вставьте путь с переменной и подтвердите. Например, %LOCALAPPDATA%\1C\1cv8. Проводник сам подставит имя вашего пользователя.
Каждая вложенная папка с именем вида a1b2c3d4-0000-1111-2222-333344445555 соответствует одной информационной базе. Определить, какая чья, по имени нельзя. Поэтому либо чистят все сразу, либо ориентируются по дате изменения: свежая папка относится к базе, в которой вы только что работали.
Если скрытые папки не видны, включите в Проводнике показ скрытых элементов. AppData по умолчанию скрыта.
Ручная чистка через Проводник: безопасный порядок
Этот способ подходит, когда проблема на одном компьютере и нужно быстро.
- Закройте все окна 1С и Конфигуратор. Проверьте в диспетчере задач, что процессов
1cv8.exeи1cv8c.exeнет. - Откройте
%LOCALAPPDATA%\1C\1cv8. - Выделите все папки с GUID-именами и удалите их. Файлы рядом с ними (если есть) тоже можно удалить.
- Повторите то же для
%APPDATA%\1C\1cv8. - Запустите 1С и откройте нужную базу. Первый вход займёт чуть больше времени.
Если Windows пишет, что файл занят, значит, где-то остался процесс 1С. Часто это сеанс другого пользователя на терминальном сервере или забытый Конфигуратор. Завершите процесс и повторите.
Не хотите удалять сразу — перенесите папки на рабочий стол. Если после чистки лучше не стало, вернёте обратно. Обычно этого не требуется.
Не удаляйте каталог 1CEStart и файл ibases.v8i — вместе с ними исчезнет список баз в окне запуска, и придётся добавлять каждую заново с адресом сервера и именем базы.
Утилиты и bat-файл для массовой очистки
Когда чистить нужно на десятках рабочих мест, руками это не делается. Есть два пути: готовые утилиты «чистильщики кэша» (их много, разной степени проверенности) и собственный скрипт. Скрипт надёжнее: вы видите, что он удаляет.
Минимальный 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 Готово
pause
Что он делает: принудительно закрывает клиенты 1С, затем удаляет все вложенные каталоги в двух ветках, а сами 1cv8 не трогает. Список баз остаётся на месте.
Ограничения скрипта:
- ⛔
taskkill /fобрывает работу без сохранения. Предупредите пользователей заранее или уберите эти две строки и закрывайте программу вручную. - 🔒 Запускать нужно от имени самого пользователя, чьи профили чистятся. Запуск от администратора почистит профиль администратора.
- 📁 Если профили перенаправлены на сетевой ресурс, пути в переменных могут вести на сервер. Проверьте значение
%APPDATA%командойecho %APPDATA%.
Если используете стороннюю утилиту, прочитайте, какие пути она трогает. Та, что удаляет весь %APPDATA%\1C, сотрёт и список баз.
Ключ /ClearCache: запуск с очисткой без ручного удаления
У клиента 1С есть параметр командной строки /ClearCache. Он очищает кэш клиент-серверных вызовов при старте. Удобно добавить его ярлыку на время разбирательства:
"C:\Program Files\1cv8\8.3.xx.xxxx\bin\1cv8.exe" ENTERPRISE /S "сервер\база" /ClearCache
Номер платформы и путь подставьте свои, они зависят от установки. Узнать путь можно из свойств ярлыка, которым вы обычно запускаете 1С.
Для постоянной работы параметр не нужен: каждый запуск станет медленным. Это диагностический инструмент. Отработал ярлык один раз, проблема ушла — ключ убирайте.
Ещё один вариант без командной строки: в окне запуска 1С выберите базу, нажмите «Изменить» и посмотрите «Дополнительные параметры запуска». Туда же можно вписать нужные ключи для конкретной базы. Точное название пунктов зависит от версии стартера, ищите кнопку «Изменить» рядом со списком баз.
%LOCALAPPDATA%\1C\1cv8. Если не помогло, сделайте то же в %APPDATA%\1C\1cv8.Реестр Windows: когда туда лезть и чем рискуете
Основной кэш 1С в реестре не хранится. Ветка пользователя HKEY_CURRENT_USER\Software\1C содержит часть настроек клиента, но обычная чистка до неё не доходит. Лезть в реестр стоит в двух случаях: клиент вообще не стартует и очистка папок не помогла, либо нужно снять странную настройку, о которой знаете точно.
Порядок, если решились:
- Нажмите
Win+R, введитеregedit. - Найдите ветку
HKEY_CURRENT_USER\Software\1C. - Щёлкните правой кнопкой по ней, выберите «Экспортировать» и сохраните файл. Это ваша страховка.
- Удаляйте только то, что понимаете. Лучше переименуйте раздел, чем удалять: так проще откатиться.
Реестр не прощает догадок. Сделайте экспорт ветки перед любым удалением, а на чужой машине сначала согласуйте работы с администратором.
На практике этот способ нужен реже одного случая из десяти, и обычно ограничиваются каталогами AppData.
Файловая и клиент-серверная база: что меняется
Локальный кэш пользователя чистится одинаково для обеих схем: он лежит на клиенте. Разница в том, что происходит на стороне хранения базы.
Файловая база. Данные лежат в каталоге с файлом 1Cv8.1CD. Кэш клиента к нему отношения не имеет. Чистите профиль пользователя, сам каталог базы не трогайте. Если вместе с кэшем случайно удалить файл 1Cv8.1CD, потеряете всю базу, поэтому перед любыми операциями с папками рядом с базой делайте копию.
Клиент-серверная база . Есть второй уровень: серверный кэш. Серверный кластер хранит свои служебные данные в каталоге кластера. Чистить их руками без остановки службы нельзя. Порядок такой:
- Предупредите пользователей и дождитесь, пока все выйдут.
- Остановите службу агента сервера 1С.
- Выполните операцию, ради которой пришли.
- Запустите службу и проверьте подключение.
Для обычной пользовательской проблемы серверный кэш трогать не нужно. Начните с клиента.
Для терминального сервера добавляется нюанс: каждый пользователь имеет свой профиль и свой кэш. Чистить придётся для каждого, а если профили перемещаемые — по общей схеме их хранения. Проще всего выполнять скрипт при выходе пользователя из системы, если политика это позволяет.
Веб-клиент и тонкий клиент ведут себя по-разному. Тонкий клиент использует каталоги из таблицы выше. Веб-клиент работает через браузер, поэтому часть его кэша находится в самом браузере. Там помогает обновление страницы
с очисткой кэша (Ctrl+F5) или чистка данных сайта в настройках браузера.
После чистки: проверка, типичные промахи и профилактика
Как понять, что кэш был ни при чём
После чистки полезно убедиться, что вы лечили то, что нужно.
Если ошибка не уходит, а на другом компьютере она есть, чистка не причина. Смотрите, что отличается: версия платформы, права пользователя, набор расширений.
Простой приём сравнения: попросите коллегу открыть тот же документ под своим пользователем, затем зайдите под его пользователем со своего компьютера. Если ошибка «ездит» за компьютером, виноват клиент: кэш, версия платформы, компоненты. Если «ездит» за пользователем, смотрите права, роли и персональные настройки. Если не зависит ни от того, ни от другого, проблема в самой базе или конфигурации.
Типичные промахи при чистке
- 🗑️ удалили
1CEStartвместе с кэшем и потеряли список баз; - ⏳ не дождались закрытия процессов и получили «файл занят»;
- 🖥️ чистили профиль администратора, а проблема у другого пользователя;
- 🔁 включили
/ClearCacheв ярлык «навсегда» и удивляются медленному запуску.
Как не доводить дело до чистки
Кэш портится не сам, а после определённых событий. Если выстроить порядок, чистить придётся редко.
- После загрузки нового релиза всегда обновляйте конфигурацию базы данных, не только конфигурацию в хранилище.
- При работе с расширениями меняйте версию расширения в одном месте и просите пользователей перезапускать клиент.
- Не держите по пять клиентов разных версий платформы на одном компьютере без нужды: у каждой версии свои пути и свои сложности.
- Раз в квартал полезно очищать каталог
%TEMP%на рабочих местах бухгалтеров: файловv8_*.tmpнакапливается много. - Пользователям, которые часто видят «глюки» форм, показывайте один раз, как чистить кэш . Это занимает две минуты и избавляет от звонков в поддержку.
Памятка администратору: перед массовым запуском скрипта проверьте его на одном компьютере, а в рабочее время такие операции не планируйте. Хорошая практика — запускать чистку при входе в систему утром, когда 1С гарантированно закрыта, и писать результат в простой лог-файл. Так вы увидите, на каких машинах скрипт не отработал, и не будете гадать, почему у одного бухгалтера ошибка осталась.
Отдельно про рабочие места со слабыми дисками: если профиль лежит на медленном HDD, после чистки первый запуск может занять заметно больше времени, и пользователи решат, что стало хуже. Предупредите их заранее: это разовая цена за чистый кэш.
Частые вопросы
Удалятся ли мои документы и справочники при чистке кэша?
Пропадёт ли список баз в окне запуска?
%APPDATA%\1C\1CEStart и файл ibases.v8i. Чистите только папки с GUID-именами внутри 1cv8.