Когда пора чистить кэш 1С и как не удалить лишнего
Содержание
Очистку кэша 1С по расписанию обычному пользователю делать не нужно: чистят по факту — после обновления конфигурации, если программа ведёт себя странно, или когда кэш разросся на терминальном сервере. Самый мягкий способ — один раз запустить базу
с ключом /ClearCache. Радикальный — удалить папки с GUID-именами в %APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8 при закрытой 1С.
Администратору терминального сервера разумно добавить плановую очистку. Например, раз в 1–3 месяца ночным заданием: так удаление временных файлов не мешает работе, а профили на сервере не разрастаются до гигабайт.
Что хранит кэш 1С и откуда он берётся
Кэш — это локальная копия части данных информационной базы на компьютере пользователя. Платформа сохраняет её, чтобы не тянуть каждый раз с сервера одно и то же.
Что туда попадает:
- 📦 описание метаданных конфигурации — справочники, документы, формы;
- ⚙️ клиентские модули и описания форм, которые нужны для открытия окон;
- 🖼 картинки, макеты и прочие ресурсы интерфейса;
- 🔤 служебные данные запуска и сведения о версии конфигурации.
На каждую информационную базу платформа заводит отдельную папку. Её имя — это GUID, строка вида 3f2a1c7e-91b4-4d2a-8e3f-0c5b6a7d8e9f. Если пользователь работает с пятью базами, папок будет минимум пять.
Где лежит кэш в Windows:
| Папка | Что там |
|---|---|
%APPDATA%\1C\1cv8\ | часть кэша и файлы общих настроек запуска (*.pfl) |
%LOCALAPPDATA%\1C\1cv8\ | основной объём кэша метаданных |
%APPDATA%\1C\1CEStart\ | список баз ibases.v8i и настройки стартера |
%APPDATA%\1C\1Cv82\, %LOCALAPPDATA%\1C\1Cv82\ | остатки платформы 8.2, если она когда-то стояла |
В Linux кэш лежит в домашнем каталоге пользователя, в скрытой папке ~/.1cv8/1C/1cv8/. Принцип тот же: отдельная подпапка с GUID на каждую базу.
Быстро открыть нужную папку: нажмите Win + R, вставьте %LOCALAPPDATA%\1C\1cv8 и нажмите Enter.
Когда конфигурацию обновляют, платформа сверяет версию и докачивает изменённое. Обычно это работает без сбоев. Проблемы начинаются, если сверка прошла не до конца: обновление прервали, сеанс упал, файл кэша повредился при сбое диска или выключении питания.
От чего зависит, как часто очищать кэш
Единого графика нет. Частота зависит от того, кто работает с базой и как часто её меняют.
| Сценарий | Рекомендуемая частота | Почему |
|---|---|---|
| Бухгалтер, 1–3 базы, обновления раз в месяц | только при сбоях | кэш сам обновляется при изменении конфигурации |
| Базу часто дорабатывает программист | после каждого крупного изменения конфигурации, если появились странности | частые изменения повышают шанс рассинхронизации |
| Терминальный сервер, 20+ пользователей | плановая очистка раз в 1–3 месяца | кэш копится в профиле каждого пользователя |
| Много учебных и тестовых баз | раз в квартал или при нехватке места | остаются папки удалённых баз |
| Отдельный ноутбук с малым диском | по мере роста объёма | кэш может занимать гигабайты |
Факторы, которые ускоряют засорение:
- 🔄 частые обновления конфигурации и платформы;
- 🧪 подключение и удаление тестовых копий — папки от них не исчезают сами;
- 💥 аварийные завершения 1С, зависания, сбои питания;
- 🌐 работа по нестабильной сети или через VPN — обновление кэша может прерываться;
- 👥 перемещаемые профили Windows, где папка
%APPDATA%синхронизируется с сервером.
Если в %LOCALAPPDATA%\1C\1cv8 папок намного больше, чем баз в списке, — это хвосты от старых и удалённых баз. Их можно удалить без последствий.
Регулярная чистка «на всякий случай» каждый день вредна. После неё первый запуск каждой базы идёт заметно дольше: платформа заново скачивает метаданные. В файловом варианте через сеть или в большой базе ERP это минуты ожидания.
Признаки, что кэш пора удалить прямо сейчас
Испорченный кэш редко сообщает о себе прямым текстом. Обычно это косвенные симптомы, особенно сразу после обновления.
Типичные ситуации:
- 🪟 после обновления конфигурации у одного пользователя старая форма документа, а у коллег — новая;
- ❌ ошибки при открытии форм или отчётов, которые не повторяются на другом компьютере под тем же пользователем;
- 🐢 база стала долго открываться только на одном рабочем месте;
- 🔁 1С закрывается при запуске или зависает на заставке, хотя другие базы открываются нормально;
- 🧩 после доработки программиста новый реквизит не виден на форме у части пользователей;
- 💽 диск C: заполнен, а в профиле пользователя папка
1Cзанимает несколько гигабайт.
Главный диагностический приём: проверьте ту же базу под тем же пользователем на другом компьютере. Если там всё работает — почти наверняка дело в локальном кэше. Если ошибка повторяется везде — кэш не виноват, ищите причину в самой базе или конфигурации.
Ручная очистка кэша 1С через папки Windows
Ручное удаление — самый надёжный способ. Он убирает кэш всех баз пользователя сразу.
Пошагово
- Закройте все окна 1С, включая Конфигуратор. Проверьте в Диспетчере задач, что нет процессов
1cv8.exe,1cv8c.exeи1cv8s.exe. - Нажмите
Win + R, введите%APPDATA%\1C\1cv8и нажмите Enter. - Удалите все папки, у которых имя похоже на GUID (буквы и цифры через дефисы).
- Файлы с расширением
.pflне трогайте — это общие настройки запуска. - Повторите шаги 2–4 для папки
%LOCALAPPDATA%\1C\1cv8. - Запустите 1С и откройте базу. Первый запуск будет дольше обычного.
Не удаляйте папку 1CEStart и файл ibases.v8i. В нём хранится список информационных баз. Если удалить его, пользователю придётся заново добавлять все базы в окно запуска.
Как понять, какая папка относится к нужной базе
GUID в имени папки не подписан. Если нужно очистить кэш только одной базы, есть два пути:
- 🔎 откройте
%APPDATA%\1C\1CEStart\ibases.v8iв Блокноте — у каждой базы там есть строкаID=с её идентификатором, он совпадает с именем папки кэша; - 🗂 отсортируйте папки по дате изменения, откройте нужную базу и закройте её — обновится именно её папка.
Linux и macOS
В Linux закройте 1С и удалите подпапки с GUID-именами:
ls ~/.1cv8/1C/1cv8/
rm -rf ~/.1cv8/1C/1cv8/<GUID-базы>
Остальные файлы в этой папке не трогайте. Логика та же, что в Windows.
Веб-клиент и тонкий клиент через публикацию
Если база открыта в браузере, локального кэша платформы нет. Роль кэша играет браузер. Очистите его средствами самого браузера или откройте базу в приватном окне — так быстро проверяется, виноват ли кэш.
Ключ /ClearCache и другие способы без удаления папок
Ключ запуска /ClearCache заставляет платформу при старте сбросить кэш метаданных этой базы. Это удобнее ручного удаления: не нужно искать папки, а другие базы не затрагиваются.
Как добавить ключ в окно запуска:
- В окне выбора базы выделите нужную базу и нажмите
Изменить. - Пролистайте мастер до последней страницы — до поля дополнительных параметров запуска.
- Впишите
/ClearCacheи нажмитеГотово. - Запустите базу один раз.
- Снова откройте настройки и уберите ключ, иначе кэш будет сбрасываться при каждом входе.
Тот же ключ можно передать в командной строке или ярлыке:
"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /F"D:\Base\Buh" /ClearCache
Для клиент-серверной базы вместо /F указывают сервер и имя базы: /S"srv1c\buh".
Сравнение способов
| Способ | Когда выбирать | Что затрагивает | Риски |
|---|---|---|---|
Ключ /ClearCache | сбой в одной базе | только эту базу | забыть убрать ключ |
| Удаление папок вручную | несколько баз, ключ не помог | все базы пользователя | удалить ibases.v8i по ошибке |
| Скрипт при входе в систему | терминальный сервер | всех пользователей | медленный первый запуск у всех |
| Сторонняя утилита | разовая уборка у неопытного пользователя | зависит от программы | непредсказуемо, что именно удалится |
Сторонние утилиты
В сети много программ «чистильщиков кэша 1С». Большинство из них делают то же самое: удаляют папки с GUID-именами. Пользы сверх ручного способа почти нет.
Если всё же пользуетесь такой программой:
- ✅ скачивайте только из понятного источника и проверяйте антивирусом;
- ✅ перед запуском сохраните копию
ibases.v8i; - ❌ не давайте утилите права администратора сервера, если она не нужна для работы с сервером.
Универсальные чистильщики Windows (очистка временных файлов и профилей) кэш 1С обычно не трогают или трогают частично. Надеяться на них не стоит.
Автоматическая очистка кэша для администраторов
На терминальном сервере кэш копится в каждом профиле. При 30 пользователях и 4 базах это 120 папок, и каждая может весить сотни мегабайт. Здесь вручную не наобслуживаешься.
Скрипт PowerShell для текущего пользователя
Скрипт проверяет, что 1С закрыта, и удаляет только папки с именем-GUID. Файлы настроек остаются на месте.
# Не чистим, если 1С запущена
if (Get-Process -Name 1cv8, 1cv8c -ErrorAction SilentlyContinue) { exit }
$guid = '^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$'
$paths = "$env:APPDATA\1C\1cv8", "$env:LOCALAPPDATA\1C\1cv8"
foreach ($p in $paths) {
if (Test-Path $p) {
Get-ChildItem -Path $p -Directory |
Where-Object { $_.Name -match $guid } |
Remove-Item -Recurse -Force -ErrorAction SilentlyContinue
}
}
Где его запускать:
- 🔑 сценарием входа или выхода пользователя через групповую политику;
- ⏰ заданием в Планировщике заданий — например, раз в месяц ночью;
- 🖱 ярлыком на рабочем столе, если хотите дать пользователям кнопку «почистить кэш».
Очистка у всех пользователей сервера
Под учётной записью администратора можно пройтись по всем профилям. Заменим строку с путями:
$paths = Get-ChildItem 'C:\Users' -Directory | ForEach-Object {
"$($_.FullName)\AppData\Roaming\1C\1cv8"
"$($_.FullName)\AppData\Local\1C\1cv8"
}
Проверка Get-Process в таком варианте видит процессы всех сеансов. Если хоть один пользователь работает в 1С, скрипт ничего не удалит. Запускайте его ночью или в окно обслуживания, когда сеансов нет.
Кэш на стороне сервера 1С
У сервера 1С:Предприятия свой кэш — сеансовые данные в каталоге кластера. По умолчанию это C:\Program Files\1cv8\srvinfo\reg_1541\<GUID кластера>\, а внутри — папки, имя которых начинается с snccntx.
Чистить его по расписанию не нужно. Это крайняя мера, если ошибки идут у всех пользователей и не лечатся ничем другим.
Порядок:
- Предупредите пользователей: при остановке службы оборвутся все сеансы на сервере, несохранённые данные пропадут.
- Остановите службу агента сервера 1С:Предприятия 8.3.
- Удалите только папки
snccntx*в каталоге кластера. - Запустите службу и проверьте вход в базу.
Не трогайте файлы реестра кластера (1CV8Clst.lst) и сами папки баз внутри reg_1541. В них хранится список баз и настройки кластера. Их потеря — это полноценное восстановление сервера из резервной копии.
Регламент: как встроить очистку в обслуживание
Хороший регламент короткий. Пять пунктов закрывают почти всё.
Что ещё стоит учесть:
- 🗓 ставьте плановую очистку после обновления, а не перед ним: свежий кэш соберётся уже под новую версию;
- 📢 предупреждайте пользователей, что первый вход после очистки будет медленнее;
- 📝 записывайте в журнал обслуживания, когда и где чистили — так проще связать сбой с действием;
- 💾 исключите папки кэша 1С из резервного копирования профилей: в них нет ничего, что нельзя восстановить.
Кэш — не единственный локальный мусор. Временные файлы платформы при выгрузке отчётов и печати оседают в %TEMP%. Их можно чистить тем же заданием, но отдельно: другие программы тоже пишут туда.
Частые вопросы
Удалятся ли настройки форм и отчётов после очистки кэша?
Пропадёт ли список баз в окне запуска?
1CEStart и файл ibases.v8i. Папки с GUID-именами к списку баз отношения не имеют.