Кэш 1С: в каких папках он лежит и когда его удалять

· 9 мин

Содержание

Кэш базы 1С 8.3 на компьютере пользователя лежит в двух папках: %APPDATA%\1C\1cv8\<GUID> и %LOCALAPPDATA%\1C\1cv8\<GUID>, где GUID — идентификатор базы из списка баз. Самый быстрый способ его очистить — добавить параметр /ClearCache в дополнительные параметры запуска базы или удалить эти папки при закрытой 1С.

Частое заблуждение — искать кэш рядом с самой базой, в каталоге с файлом 1Cv8.1CD. Там его нет. Кэш — это копия конфигурации и служебных данных на стороне клиента, и хранится он в профиле Windows того пользователя, который запускает 1С. В клиент-серверном варианте к нему добавляется ещё и серверный кэш в каталоге кластера.

Где искать кэш 1С в файловом варианте

В файловом варианте база — это каталог с файлом 1Cv8.1CD. Но клиентский кэш от варианта работы не зависит: он всегда создаётся в профиле пользователя.

ПапкаЧто там лежитПуть в Windows 10/11
Roamingкэш и локальные настройки клиентаC:\Users\<имя>\AppData\Roaming\1C\1cv8\
Localосновной объём кэша конфигурацииC:\Users\<имя>\AppData\Local\1C\1cv8\
Список базфайл ibases.v8i с перечнем базC:\Users\<имя>\AppData\Roaming\1C\1CEStart\

Чтобы быстро открыть нужную папку, нажмите Win+R и введите %APPDATA%\1C\1cv8 или %LOCALAPPDATA%\1C\1cv8. Папка AppData по умолчанию скрыта, поэтому в проводнике её видно только после включения показа скрытых элементов.

Как понять, какая папка относится к какой базе

Внутри 1cv8 лежат папки с именами вида 0f3c2a71-5b9e-4d2a-8c11-7e4b6a9d2f05. Каждая — кэш одной базы. Чтобы найти нужную:

  1. Откройте в «Блокноте» файл %APPDATA%\1C\1CEStart\ibases.v8i.
  2. Найдите блок с названием базы в квадратных скобках, например [Бухгалтерия ООО Ромашка].
  3. В этом блоке есть строка ID=.... Значение после знака равенства и есть имя папки кэша.

Если база удалялась из списка и добавлялась заново, у неё новый ID. Старая папка остаётся лежать мёртвым грузом — 1С её сама не убирает.

Кроме кэша, в %LOCALAPPDATA%\1C\1cv8 хранятся папки внешних компонент, а в %APPDATA%\1C\1cv8 — файлы с расширением .pfl (общие настройки клиента). Если чистите вручную, удаляйте только папки с именами-GUID.

Временные файлы в %TEMP%

Отдельно 1С пишет временные файлы в %TEMP%: файлы вида v8_XXXX_N.tmp и временные каталоги. Это не кэш, но при аварийных завершениях они копятся годами. Их тоже можно удалить, когда все сеансы 1С на компьютере закрыты.

Кэш базы 1С в клиент-серверном варианте

В клиент-серверной базе кэш живёт в двух местах: на каждом клиенте (те же папки, что выше) и на сервере 1С.

Клиентская часть

Ничем не отличается от файлового варианта. На терминальном сервере у каждого пользователя свой профиль, поэтому папка 1C\1cv8 есть в каждом C:\Users\<имя>\AppData. Двадцать пользователей одной базы — двадцать копий кэша.

Серверная часть

Сервер хранит свои данные в каталоге кластера srvinfo:

  • 🪟 Windows, стандартная установка службы: C:\Program Files\1cv8\srvinfo\
  • 🐧 Linux: /home/usr1cv8/.1cv8/1C/1cv8/

Внутри — папка reg_1541 (по номеру порта менеджера кластера). Что в ней лежит:

ОбъектНазначениеМожно удалять?
1CV8Clst.lstреестр кластера: список баз, рабочих серверов, администраторовНет, никогда
папки snccntx<GUID>кэш сеансовых данныхДа, при остановленной службе
папки с именами-GUID базжурнал регистрации, индекс полнотекстового поиска и служебные данные базыНет, если не знаете, что делаете

Когда говорят «почистить серверный кэш 1С», имеют в виду именно папки snccntx*. Порядок такой:

  1. Предупредите пользователей и дождитесь, пока все выйдут. Остановка службы оборвёт все сеансы всех баз кластера — делайте это вечером или в выходной.
  2. Сделайте копию каталога reg_1541 целиком.
  3. Остановите службу агента сервера 1С (в оснастке services.msc она называется «Агент сервера 1С:Предприятия 8.3» с указанием разрядности).
  4. Удалите папки snccntx* внутри reg_1541.
  5. Запустите службу и проверьте вход в базу.

На Linux служба называется по-разному в зависимости от способа установки: srv1cv83 для старых пакетов или с номером версии в имени для новых. Посмотрите точное имя командой systemctl list-units | grep 1c.

Не путайте серверный кэш с самой базой. Данные клиент-серверной базы лежат в СУБД (PostgreSQL или MS SQL), а не в srvinfo. Удаление папок с GUID баз уничтожит журнал регистрации, но не данные — и всё же делать этого без причины не нужно.

Как очистить кэш 1С штатно

Есть три рабочих способа. От безопасного к радикальному:

СпособКогда подходитРиски
Параметр /ClearCacheодна база глючит у одного пользователяпочти нет
Ручное удаление папки базы/ClearCache не помогсбросятся локальные настройки клиента
Удаление всей папки 1C\1cv8кэш многих баз повреждён или раздутсбросятся настройки всех баз, первый запуск каждой будет дольше

Способ 1. Параметр /ClearCache в настройках базы

  1. Откройте окно запуска 1С.
  2. Выделите базу и нажмите «Изменить».
  3. Пролистайте мастер до последней страницы с полем «Дополнительные параметры запуска».
  4. Впишите /ClearCache и нажмите «Готово».
  5. Запустите базу. При старте платформа сбросит кэш и загрузит конфигурацию заново.

После того как проблема ушла, параметр лучше убрать. Иначе база будет каждый раз стартовать с полной перезагрузкой кэша — это медленно, особенно по слабому каналу.

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

"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /IBName "Бухгалтерия ООО Ромашка" /ClearCache

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

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

Способ 3. Полная очистка

Удалите все папки с именами-GUID в обоих каталогах 1C\1cv8. Папку 1CEStart не трогайте: в ней список баз, без него пользователь увидит пустое окно запуска.

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

Технологический журнал: как понять, что дело в кэше

Чистить кэш вслепую при каждой ошибке — плохая привычка. Сначала стоит убедиться, что проблема в нём. Типичные признаки:

Диагностика: выберите симптом

Если причина неочевидна, включите технологический журнал. Он настраивается файлом logcfg.xml, который кладут в каталог conf установки платформы (обычно C:\Program Files\1cv8\conf\). Минимальная настройка для сбора исключений:

<?xml version="1.0" encoding="UTF-8"?>
<config xmlns="http://v8.1c.ru/v8/tech-log">
  <log location="C:\techlog" history="24">
    <event>
      <eq property="name" value="EXCP"/>
    </event>
    <property name="all"/>
  </log>
</config>

Что здесь важно:

  • 📁 location — каталог для логов. Учётная запись, под которой работает 1С или служба сервера, должна иметь право записи в него.
  • ⏱ history="24" — хранить логи 24 часа, старые удаляются сами.
  • 🔍 событие EXCP — исключения. В них видно, на каком действии и с каким текстом падает платформа.

Воспроизведите ошибку, откройте свежий файл .log в подкаталоге процесса и найдите строку с EXCP. Если ошибка возникает при чтении данных конфигурации на клиенте — это кэш. Если в описании фигурирует СУБД, блокировки или сеть — чистка кэша не поможет.

Технологический журнал быстро растёт. Удалите logcfg.xml сразу после диагностики, иначе через неделю на диске закончится место.

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

Как версия платформы и обновление конфигурации влияют на кэш

Кэш привязан к конфигурации базы. Каждое обновление конфигурации — сигнал клиенту скачать её заново. Отсюда несколько практических следствий:

  • 📦 После обновления первый запуск у каждого пользователя дольше обычного: идёт загрузка конфигурации в кэш. Это нормально и чисткой не лечится.
  • 🌐 По медленному каналу (тонкий клиент через интернет ) первая загрузка большой конфигурации вроде ERP или КА может занять несколько минут.
  • 🗂 Платформа 8.2 хранила кэш в папках 1Cv82, а 8.3 — в 1cv8. Если 8.2 давно не используется, папки 1Cv82 в AppData можно удалить целиком.
  • 🔁 Смена версии платформы 8.3 на более новую обычно не требует чистки. Но если после обновления платформы база стала падать на старте — /ClearCache первое, что стоит попробовать.

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

Автоматическая очистка кэша 1С скриптом

На одном компьютере кэш проще почистить руками. На терминальном сервере с десятками профилей нужен скрипт. Ниже — PowerShell-вариант, который удаляет только папки с именами-GUID и ничего не трогает, если 1С запущена:

# Очистка клиентского кэша 1С 8.3 текущего пользователя
$running = Get-Process -Name 1cv8, 1cv8c -ErrorAction SilentlyContinue
if ($running) {
    Write-Host "1С запущена, очистка отменена"
    exit 1
}

$guid = '^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$'
$dirs = @("$env:APPDATA\1C\1cv8", "$env:LOCALAPPDATA\1C\1cv8")

foreach ($d in $dirs) {
    if (Test-Path $d) {
        Get-ChildItem -Path $d -Directory |
            Where-Object { $_.Name -match $guid } |
            Remove-Item -Recurse -Force
    }
}
Write-Host "Кэш 1С очищен"

Как применять:

  1. 👤 Для одного пользователя — запустить скрипт вручную или повесить ярлык на рабочий стол.
  2. 🖥 На терминальном сервере — назначить как сценарий входа в систему через групповые политики. Скрипт выполнится до запуска 1С, когда процессов ещё нет.
  3. ⏰ По расписанию — через «Планировщик заданий» Windows ночью, с запуском от имени пользователя. Для чужих профилей такой скрипт не подходит: переменные %APPDATA% указывают на профиль того, кто его запустил.

Не ставьте автоочистку на каждый вход «на всякий случай». Каждая чистка — это повторная загрузка конфигурации и лишняя нагрузка на сервер в 9 утра, когда все входят одновременно. Раз в неделю или по факту проблемы — достаточно.

Для серверного кэша автоматизация не нужна: остановка службы обрывает сеансы, поэтому эту операцию делают руками, в согласованное окно.

Мифы и ошибки при работе с кэшем 1С

Миф 1. «Очистка кэша ускоряет 1С». Наоборот: первый запуск после чистки медленнее, потому что кэш собирается заново. Быстрее становится только если кэш был повреждён. Медленную работу базы лечат пересчётом итогов, обслуживанием СУБД и разбором тяжёлых запросов, а не удалением AppData.

Миф 2. «Кэш лежит в папке базы». В каталоге файловой базы есть 1Cv8Log (журнал регистрации) и 1Cv8FTxt (индекс полнотекстового поиска). Это не кэш. Удаление 1Cv8Log стирает историю действий пользователей, а индекс потом придётся строить заново.

Миф 3. «Тестирование и исправление очищает кэш». Эта процедура проверяет таблицы базы, а клиентский кэш в профиле пользователя не трогает. Для неё ещё и нужен монопольный доступ — выгонять всех ради сброса кэша не нужно.

Ошибка 1. Удаление 1CV8Clst.lst на сервере. Кластер «забывает» все зарегистрированные базы. Восстанавливать придётся из резервной копии или регистрировать базы заново.

Ошибка 2. Удаление папки 1CEStart. Пропадает список баз пользователя. Если удалили — восстановите ibases.v8i из копии или добавьте базы заново.

Ошибка 3. Чистка при открытой 1С. Часть файлов заблокирована, удаление проходит частично. Получается наполовину удалённый кэш, который ведёт себя хуже исходного.

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

Сколько места занимает кэш 1С?
Для одной базы с типовой конфигурацией — обычно от сотен мегабайт до 1-2 ГБ. Если пользователь работает с десятком баз или базы часто перерегистрировались, папка AppData\Local\1C разрастается до десятков гигабайт.
Можно ли перенести кэш 1С на другой диск?
Штатной настройки для этого нет: путь определяется профилем Windows. Переносят сам профиль или папку AppData средствами Windows, но для 1С это редко оправдано.
Нужно ли чистить кэш после восстановления базы из копии?
Если восстановили копию с другой версией конфигурации и у пользователей странные ошибки — да, /ClearCache снимет вопрос. Если версия та же, обычно не нужно.
Почему ошибка вернулась через день после очистки?
Значит, кэш был следствием, а не причиной. Проверьте диск на ошибки, антивирус (он может блокировать файлы в AppData) и включите технологический журнал.
Пропадёт ли список баз после очистки кэша?
Список баз хранится в 1CEStart\ibases.v8i и при удалении GUID-папок не затрагивается. Главное — не удалять саму папку 1CEStart.