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

· 9 мин

Содержание

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

Что делать в вашем случае?

Реестр Windows: когда туда лезть и чем рискуете

Основной кэш 1С в реестре не хранится. Ветка пользователя HKEY_CURRENT_USER\Software\1C содержит часть настроек клиента, но обычная чистка до неё не доходит. Лезть в реестр стоит в двух случаях: клиент вообще не стартует и очистка папок не помогла, либо нужно снять странную настройку, о которой знаете точно.

Порядок, если решились:

  1. Нажмите Win+R, введите regedit.
  2. Найдите ветку HKEY_CURRENT_USER\Software\1C.
  3. Щёлкните правой кнопкой по ней, выберите «Экспортировать» и сохраните файл. Это ваша страховка.
  4. Удаляйте только то, что понимаете. Лучше переименуйте раздел, чем удалять: так проще откатиться.

Реестр не прощает догадок. Сделайте экспорт ветки перед любым удалением, а на чужой машине сначала согласуйте работы с администратором.

На практике этот способ нужен реже одного случая из десяти, и обычно ограничиваются каталогами AppData.

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

Локальный кэш пользователя чистится одинаково для обеих схем: он лежит на клиенте. Разница в том, что происходит на стороне хранения базы.

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

Клиент-серверная база . Есть второй уровень: серверный кэш. Серверный кластер хранит свои служебные данные в каталоге кластера. Чистить их руками без остановки службы нельзя. Порядок такой:

  1. Предупредите пользователей и дождитесь, пока все выйдут.
  2. Остановите службу агента сервера 1С.
  3. Выполните операцию, ради которой пришли.
  4. Запустите службу и проверьте подключение.

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

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

Веб-клиент и тонкий клиент ведут себя по-разному. Тонкий клиент использует каталоги из таблицы выше. Веб-клиент работает через браузер, поэтому часть его кэша находится в самом браузере. Там помогает обновление страницы с очисткой кэша (Ctrl+F5) или чистка данных сайта в настройках браузера.

После чистки: проверка, типичные промахи и профилактика

Как понять, что кэш был ни при чём

После чистки полезно убедиться, что вы лечили то, что нужно.

Проверка после очистки кэша
Выполнено: 0 / 5

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

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

Типичные промахи при чистке

  • 🗑️ удалили 1CEStart вместе с кэшем и потеряли список баз;
  • ⏳ не дождались закрытия процессов и получили «файл занят»;
  • 🖥️ чистили профиль администратора, а проблема у другого пользователя;
  • 🔁 включили /ClearCache в ярлык «навсегда» и удивляются медленному запуску.

Как не доводить дело до чистки

Кэш портится не сам, а после определённых событий. Если выстроить порядок, чистить придётся редко.

  • После загрузки нового релиза всегда обновляйте конфигурацию базы данных, не только конфигурацию в хранилище.
  • При работе с расширениями меняйте версию расширения в одном месте и просите пользователей перезапускать клиент.
  • Не держите по пять клиентов разных версий платформы на одном компьютере без нужды: у каждой версии свои пути и свои сложности.
  • Раз в квартал полезно очищать каталог %TEMP% на рабочих местах бухгалтеров: файлов v8_*.tmp накапливается много.
  • Пользователям, которые часто видят «глюки» форм, показывайте один раз, как чистить кэш . Это занимает две минуты и избавляет от звонков в поддержку.

Памятка администратору: перед массовым запуском скрипта проверьте его на одном компьютере, а в рабочее время такие операции не планируйте. Хорошая практика — запускать чистку при входе в систему утром, когда 1С гарантированно закрыта, и писать результат в простой лог-файл. Так вы увидите, на каких машинах скрипт не отработал, и не будете гадать, почему у одного бухгалтера ошибка осталась.

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

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

Удалятся ли мои документы и справочники при чистке кэша?
Нет. Данные хранятся в самой базе, а кэш лежит отдельно на компьютере пользователя.
Пропадёт ли список баз в окне запуска?
Нет, если не трогать %APPDATA%\1C\1CEStart и файл ibases.v8i. Чистите только папки с GUID-именами внутри 1cv8.
Почему после чистки 1С запускается дольше?
Платформа заново строит кэш форм и метаданных. Второй и следующие запуски проходят в обычном темпе.
Нужно ли чистить кэш на сервере при проблеме у одного пользователя?
Обычно нет. Начните с клиентской части. Серверные операции требуют остановки службы и согласования с администратором.
Можно ли очищать кэш, пока 1С открыта?
Нет. Часть файлов занята процессом, а удаление «на лету» оставит кэш в неполном состоянии. Сначала закройте клиент и Конфигуратор.
Помогает ли чистка кэша от ошибок в самих данных?
Нет. Если документ проведён с ошибкой или конфигурация содержит дефект, кэш ни при чём. Он лечит только расхождения между клиентом и актуальным состоянием базы.