Что хранит кэш 1С:Предприятия и когда его пора сбросить
Содержание
Кэш 1С — это локальная копия конфигурации и служебных данных базы, которую платформа держит на компьютере пользователя, чтобы не тянуть их с сервера при каждом запуске. Очистить его быстрее всего так: добавьте параметр /ClearCache в настройки базы в окне запуска или удалите папки с длинными именами-GUID в %APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8. Данные базы при этом не пострадают.
Частое заблуждение — что очистка кэша «стирает документы» или пользовательские настройки. Нет: документы, справочники и регистры живут в самой информационной базе. Кэш — одноразовая копия, программа соберёт её заново при следующем входе. Первый запуск после очистки будет медленнее, дальше работа ускорится, если причина тормозов была в повреждённом кэше.
Как устроен кэш 1С и зачем он платформе
Конфигурация базы — это метаданные, формы, макеты, модули. В файловом варианте всё это хранится в файле 1Cv8.1CD, в клиент-серверном — в базе СУБД. Если бы клиент скачивал всё это при каждом открытии формы, работа по сети была бы мучительной.
Поэтому платформа поступает иначе:
- 📥 при первом запуске копирует нужные части конфигурации на локальный диск;
- ⚡ при следующих запусках сверяет версии и берёт из кэша то, что не изменилось;
- 🔄 после обновления конфигурации докачивает только изменённое.
Каждой базе в списке соответствует своя папка кэша. Её имя — идентификатор базы (GUID), например a3f5c1e2-7b4d-4e8a-9c1f-2d6e8b0a4f17. Если в списке 15 баз, на диске будет примерно столько же таких папок.
Кэш бывает в двух местах:
| Где | Что там | Чей |
|---|---|---|
| Компьютер пользователя | копия конфигурации, служебные файлы клиента | у каждого пользователя Windows свой |
| Сервер 1С (клиент-серверный вариант) | сеансовые данные кластера, папки snccntx… | общий для всех пользователей кластера |
| Браузер (веб-клиент) | файлы веб-приложения | у каждого браузера свой |
Почему кэш портится: основные причины
Кэш ломается не сам по себе. Почти всегда за сбоем стоит одно из событий:
- 🔌 аварийное завершение — выключили свет, «сняли» процесс
1cv8.exeчерез диспетчер задач, компьютер ушёл в сон посреди загрузки конфигурации; - 🆙 обновление конфигурации при открытых сеансах или с ошибкой: часть кэша осталась от старой версии, часть — от новой;
- 🔀 смена платформы — после перехода на другой номер версии старый кэш может не подойти;
- 💾 проблемы с диском — нехватка места на системном диске, сбойные сектора, жёсткие квоты на профиль;
- 🛡️ антивирус, который блокирует или помещает в карантин файлы в папке кэша;
- 👥 перемещаемые профили на терминальном сервере: профиль синхронизируется с сетевой папкой и тащит за собой кэш с другого сервера;
- 📋 копирование базы с тем же идентификатором: две разные базы в списке получают одинаковый GUID и делят одну папку кэша.
Последний случай коварный. Пользователь копирует строку базы в списке или переносит файл ibases.v8i с другого компьютера, и две базы начинают мешать друг другу.
Где хранится кэш 1С 8.3: пути на Windows, Linux и сервере
Компьютер пользователя (Windows)
Откройте окно Win+R, вставьте путь и нажмите Enter:
| Путь | Что лежит |
|---|---|
%APPDATA%\1C\1cv8 | папки-GUID баз (перемещаемая часть профиля) |
%LOCALAPPDATA%\1C\1cv8 | папки-GUID баз с основным объёмом кэша конфигурации |
%APPDATA%\1C\1CEStart | файл ibases.v8i — список баз; это НЕ кэш, не удаляйте его |
На практике %APPDATA% раскрывается в C:\Users\Имя\AppData\Roaming, а %LOCALAPPDATA% — в C:\Users\Имя\AppData\Local. Папка AppData скрыта, поэтому через Проводник её не видно без включения скрытых файлов. Через Win+R она открывается сразу.
В папке 1cv8 помимо GUID-папок могут лежать файлы с расширением .pfl — настройки окна запуска и клиента. Их трогать не нужно: удаляйте только папки с длинными именами из букв и цифр через дефисы.
Как понять, какая папка относится к нужной базе
Откройте файл %APPDATA%\1C\1CEStart\ibases.v8i Блокнотом. Каждая база там описана блоком: в квадратных скобках имя, ниже строка Connect= с путём или сервером и строка ID= с идентификатором.
[Бухгалтерия ООО Ромашка]
Connect=Srvr="srv1c";Ref="buh_romashka";
ID=a3f5c1e2-7b4d-4e8a-9c1f-2d6e8b0a4f17
Значение ID совпадает с именем папки кэша. Так можно почистить одну проблемную базу и не трогать остальные.
Linux
На Linux кэш лежит в домашнем каталоге пользователя, в скрытой папке ~/.1cv8/1C/1cv8/. Принцип тот же: подпапки с GUID-именами, по одной на базу.
Сервер 1С
В клиент-серверном варианте у кластера есть свой каталог служебных данных. По умолчанию на Windows это C:\Program Files\1cv8\srvinfo\reg_1541\. Внутри — папки баз и папки сеансовых данных с именами, которые начинаются на snccntx.
Файлы 1CV8Clst.lst и 1CV8Reg.lst в этом каталоге хранят реестр кластера и баз — их удалять нельзя.
Признаки повреждённого кэша и как их проверить
Повреждённый кэш выдаёт себя набором характерных симптомов:
- 🐢 база стала открываться заметно дольше, хотя у коллег на соседних компьютерах всё быстро;
- 🧩 после обновления у одного пользователя остались старые формы или не появились новые реквизиты;
- ❌ при запуске или открытии формы появляется
Ошибка формата потока; - 🖼️ формы открываются пустыми, с «поехавшей» разметкой или без части кнопок;
- 🔁 программа зависает на заставке и не доходит до рабочего стола.
Главный диагностический приём — сравнение. Если ошибка повторяется у одного пользователя на одном компьютере, а под другой учётной записью Windows или на другом компьютере база работает нормально, почти наверняка виноват локальный кэш. Если ошибка у всех сразу — смотрите на сервер, саму базу или конфигурацию.
Второй приём — запустить базу под другим пользователем 1С на том же компьютере. Кэш конфигурации привязан к профилю Windows, а не к пользователю 1С, поэтому если ошибка не ушла, это ещё один довод за очистку.
Способы очистить кэш 1С: от мягкого к радикальному
Перед любым способом закройте 1С на этом компьютере полностью. Если программа открыта, часть файлов кэша занята процессом, и очистка пройдёт наполовину.
Способ 1. Параметр /ClearCache в окне запуска
Самый безопасный вариант — платформа сама удалит кэш нужной базы при входе.
- Откройте окно запуска 1С.
- Выделите базу и нажмите
Изменить. - Пройдите мастер до последнего шага, где есть поле
Дополнительные параметры запуска. - Впишите
/ClearCacheи нажмитеГотово. - Запустите базу. Первый вход займёт больше времени — кэш собирается заново.
- Вернитесь в настройки и удалите параметр, иначе кэш будет сбрасываться при каждом входе и база станет открываться медленно всегда.
Тот же параметр работает в ярлыке или командной строке:
"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /S"srv1c\buh_romashka" /ClearCache
Для файловой базы вместо /S"сервер\база" укажите /F"D:\Bases\Buh".
Способ 2. Удаление папки кэша конкретной базы
Подходит, когда /ClearCache не помог или база не открывается вообще.
- Закройте все сеансы 1С на компьютере. Проверьте в диспетчере задач, что не осталось процессов
1cv8.exeи1cv8c.exe. - Найдите
IDбазы в файлеibases.v8i, как описано выше. - Удалите папку с этим именем в
%APPDATA%\1C\1cv8и в%LOCALAPPDATA%\1C\1cv8. - Запустите базу.
Способ 3. Полная очистка кэша всех баз пользователя
Если баз много и непонятно, какая сбоит, удалите все GUID-папки в обоих каталогах. Файлы .pfl и папку 1CEStart оставьте. Список баз сохранится, кэш соберётся при первом входе в каждую базу.
Способ 4. Очистка сеансовых данных на сервере 1С
Это крайняя мера для клиент-серверных баз, когда ошибки у всех пользователей и локальная очистка ничего не дала.
Остановка службы сервера 1С обрывает сеансы всех пользователей всех баз кластера. Делайте это вне рабочего времени и предупредите людей заранее.
- Убедитесь, что пользователи вышли, и сделайте резервную копию каталога
srvinfo. - Остановите службу
Агент сервера 1С:Предприятия 8.3черезservices.msc. - Откройте каталог кластера, по умолчанию
C:\Program Files\1cv8\srvinfo\reg_1541\. - Удалите папки, имя которых начинается на
snccntx. Больше ничего не трогайте. - Запустите службу и проверьте вход в базу.
Сравнение способов
| Способ | Когда применять | Что затрагивает | Риск |
|---|---|---|---|
/ClearCache | первая попытка при любых странностях | кэш одной базы | минимальный |
| Удаление папки базы | база не открывается, способ 1 не помог | кэш одной базы | минимальный |
| Удаление всех GUID-папок | сбоят несколько баз | кэш всех баз пользователя | медленный первый вход в каждую базу |
Очистка snccntx на сервере | ошибки у всех пользователей кластера | сеансовые данные сервера | обрыв всех сеансов, нужна остановка службы |
Автоматическая очистка кэша и профилактика сбоев
Чистить кэш по расписанию у всех подряд не нужно: исправный кэш ускоряет работу, а после очистки каждый вход в базу на время станет медленным. Автоматизация полезна там, где сбои повторяются: терминальные серверы, компьютеры с частыми отключениями питания, парк после массового обновления.
Bat-файл для пользователя
Скрипт удаляет все GUID-папки кэша текущего пользователя и не трогает список баз:
@echo off
taskkill /IM 1cv8.exe /F >nul 2>&1
taskkill /IM 1cv8c.exe /F >nul 2>&1
for /d %%D in ("%APPDATA%\1C\1cv8\*-*-*-*-*") do rd /s /q "%%D"
for /d %%D in ("%LOCALAPPDATA%\1C\1cv8\*-*-*-*-*") do rd /s /q "%%D"
echo Кэш 1С очищен
pause
Команды taskkill закрывают 1С без сохранения. Несохранённый документ пропадёт. Если пользователи не дисциплинированы, уберите эти две строки и попросите закрыть программу вручную.
Маска *-*-*-*-* выбирает только папки с дефисами в имени, то есть GUID-папки, и не задевает остальное содержимое каталога.
Профилактика
- 🧹 после обновления конфигурации просите пользователей перезапустить 1С, а при странностях — запустить с
/ClearCache; - 🛡️ добавьте папки
%APPDATA%\1Cи%LOCALAPPDATA%\1Cв исключения антивируса — по согласованию с ответственным за безопасность; - 💽 следите за свободным местом на системном диске: при заполнении под ноль кэш пишется с ошибками;
- 👥 на терминальном сервере с перемещаемыми профилями исключите папку
AppData\Localиз синхронизации — локальный кэш не должен ездить между серверами; - 📋 не копируйте строки баз в списке и файл
ibases.v8iмежду компьютерами вслепую: при совпаденииIDдве базы делят один кэш; - 🔌 приучите сотрудников выходить из 1С штатно, а не выключать компьютер с открытой базой.
Частые ошибки при очистке кэша
- 🗑️ Удалили
ibases.v8iили всю папку1C. Список баз пропадает, его приходится восстанавливать вручную. Удаляйте только GUID-папки. - 🔁 Оставили
/ClearCacheнавсегда. Каждый запуск превращается в первый — база открывается медленно. Параметр нужен на один вход. - 🔒 Чистили кэш при открытой программе. Часть файлов занята, Проводник их пропускает, и ошибка остаётся.
- 👤 Чистили не в том профиле. На терминальном сервере у каждого пользователя свой
AppData. Очистка под учётной записью администратора не трогает кэш бухгалтера. - 🖥️ Удалили лишнее на сервере. Удаление файлов реестра кластера вместо папок
snccntxприводит к тому, что кластер «забывает» базы. Без резервной копииsrvinfoвосстановление долгое.