Что хранит кэш 1С:Предприятия и когда его пора сбросить

· 10 мин

Содержание

Кэш 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. Откройте окно запуска 1С.
  2. Выделите базу и нажмите Изменить.
  3. Пройдите мастер до последнего шага, где есть поле Дополнительные параметры запуска.
  4. Впишите /ClearCache и нажмите Готово.
  5. Запустите базу. Первый вход займёт больше времени — кэш собирается заново.
  6. Вернитесь в настройки и удалите параметр, иначе кэш будет сбрасываться при каждом входе и база станет открываться медленно всегда.

Тот же параметр работает в ярлыке или командной строке:

"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /S"srv1c\buh_romashka" /ClearCache

Для файловой базы вместо /S"сервер\база" укажите /F"D:\Bases\Buh".

Способ 2. Удаление папки кэша конкретной базы

Подходит, когда /ClearCache не помог или база не открывается вообще.

  1. Закройте все сеансы 1С на компьютере. Проверьте в диспетчере задач, что не осталось процессов 1cv8.exe и 1cv8c.exe.
  2. Найдите ID базы в файле ibases.v8i, как описано выше.
  3. Удалите папку с этим именем в %APPDATA%\1C\1cv8 и в %LOCALAPPDATA%\1C\1cv8.
  4. Запустите базу.

Способ 3. Полная очистка кэша всех баз пользователя

Если баз много и непонятно, какая сбоит, удалите все GUID-папки в обоих каталогах. Файлы .pfl и папку 1CEStart оставьте. Список баз сохранится, кэш соберётся при первом входе в каждую базу.

Способ 4. Очистка сеансовых данных на сервере 1С

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

Остановка службы сервера 1С обрывает сеансы всех пользователей всех баз кластера. Делайте это вне рабочего времени и предупредите людей заранее.

  1. Убедитесь, что пользователи вышли, и сделайте резервную копию каталога srvinfo.
  2. Остановите службу Агент сервера 1С:Предприятия 8.3 через services.msc.
  3. Откройте каталог кластера, по умолчанию C:\Program Files\1cv8\srvinfo\reg_1541\.
  4. Удалите папки, имя которых начинается на snccntx. Больше ничего не трогайте.
  5. Запустите службу и проверьте вход в базу.

Сравнение способов

СпособКогда применятьЧто затрагиваетРиск
/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С штатно, а не выключать компьютер с открытой базой.
Кэш 1С: проверка рабочего места
Выполнено: 0 / 6

Частые ошибки при очистке кэша

  • 🗑️ Удалили ibases.v8i или всю папку 1C. Список баз пропадает, его приходится восстанавливать вручную. Удаляйте только GUID-папки.
  • 🔁 Оставили /ClearCache навсегда. Каждый запуск превращается в первый — база открывается медленно. Параметр нужен на один вход.
  • 🔒 Чистили кэш при открытой программе. Часть файлов занята, Проводник их пропускает, и ошибка остаётся.
  • 👤 Чистили не в том профиле. На терминальном сервере у каждого пользователя свой AppData. Очистка под учётной записью администратора не трогает кэш бухгалтера.
  • 🖥️ Удалили лишнее на сервере. Удаление файлов реестра кластера вместо папок snccntx приводит к тому, что кластер «забывает» базы. Без резервной копии srvinfo восстановление долгое.

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

Пропадут ли настройки отчётов и форм после очистки кэша?
В 1С 8.3 пользовательские настройки отчётов и форм хранятся в самой информационной базе, поэтому очистка локального кэша их не удаляет.
Сколько места занимает кэш 1С?
Зависит от конфигурации и числа баз. Кэш одной типовой конфигурации обычно занимает десятки или сотни мегабайт; при двух десятках баз папки кэша вырастают до нескольких гигабайт.
Нужно ли чистить кэш после каждого обновления конфигурации?
Нет. Платформа сама докачивает изменения. Очищайте кэш, только если после обновления появились ошибки или у части пользователей остались старые формы.
Поможет ли очистка кэша, если база тормозит у всех пользователей?
Обычно нет. Локальный кэш влияет на конкретный компьютер. Общие тормоза ищите на сервере, в СУБД, в сети или в самой конфигурации.
Как очистить кэш в веб-клиенте 1С?
Очистите кэш и файлы cookie браузера для адреса публикации базы. Для быстрой проверки откройте базу в окне инкогнито: если там ошибки нет, причина в кэше браузера.