Чистим кэш 1С 8.3 своими руками: клиент, сервер и параметр /ClearCache

· 9 мин

Содержание

Самый быстрый способ очистить кэш 1С 8.3 — закрыть программу и удалить папки с длинными именами вида a1b2c3d4-… в двух каталогах: %APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8. Второй вариант без проводника — один раз запустить базу с параметром /ClearCache. Для клиент-серверной базы иногда нужен ещё сброс кэша на сервере 1С: папки snccntx* в каталоге кластера.

Всё это можно сделать самостоятельно, без переустановки платформы и без программиста. Данные базы при очистке кэша не страдают: удаляются только временные копии, которые 1С:Предприятие создаёт на компьютере пользователя.

Зачем 1С держит кэш и когда он начинает мешать

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

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

Признаки, что пора чистить кэш :

  • 🐢 база открывается заметно дольше, чем у коллег на таком же компьютере;
  • 🧩 после обновления конфигурации видны старые формы, нет новых полей или команд;
  • ❌ при открытии формы или отчёта появляется ошибка, которая не повторяется на другом компьютере;
  • 🖼️ «поехали» панели, пропали картинки на кнопках, интерфейс выглядит не так, как у остальных;
  • 💾 на системном диске мало места, а папка AppData весит несколько гигабайт.

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

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

В Windows 10, 11 и Windows Server 2016 и новее кэш клиента 1С 8.3 хранится в двух местах профиля пользователя:

КаталогЧто внутриМожно удалять
%APPDATA%\1C\1cv8 (Roaming)папки баз с локальными настройками клиентапапки с именами-GUID
%LOCALAPPDATA%\1C\1cv8 (Local)кэш конфигурации: формы, модули, макетыпапки с именами-GUID
%APPDATA%\1C\1CEStartсписок баз ibases.v8i и настройки окна запусканет, удалите — пропадёт список баз
%TEMP%временные файлы отчётов, выгрузок, печатида, при закрытой 1С

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

Внутри вы увидите папки с именами из 36 символов через дефисы — это кэши конкретных баз. Рядом лежат служебные файлы с расширением .pfl и папки вроде logs. Их оставляйте.

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

Имя папки совпадает с идентификатором базы в списке. Откройте файл %APPDATA%\1C\1CEStart\ibases.v8i в Блокноте. У каждой базы есть строка ID=…. Найдите нужную базу по названию в квадратных скобках, скопируйте ID и найдите папку с таким же именем.

Это пригодится, если чистить нужно одну проблемную базу, а не все сразу.

Если папки с таким ID нет, а базу вы запускаете, значит, её добавляли повторно и у записи новый идентификатор. Ориентируйтесь на дату изменения папки.

Ручная очистка кэша 1С 8.3 через проводник

Способ подходит для любого режима работы и не требует прав администратора: это ваш собственный профиль.

  1. Закройте все окна 1С, включая Конфигуратор. Проверьте в Диспетчере задач (Ctrl + Shift + Esc), что нет процессов 1cv8.exe и 1cv8c.exe.
  2. Нажмите Win + R, введите %APPDATA%\1C\1cv8 и нажмите Enter.
  3. Выделите папки с именами-GUID и удалите их. Если чистите одну базу — только её папку.
  4. Повторите то же самое в %LOCALAPPDATA%\1C\1cv8.
  5. По желанию очистите %TEMP%: удалите всё, что удаляется. Файлы, занятые другими программами, Windows пропустит — это нормально.
  6. Запустите 1С и откройте базу.

Первый запуск после очистки будет дольше обычного: платформа заново скачивает конфигурацию. Для типовой Бухгалтерии на обычном компьютере это от нескольких десятков секунд до пары минут. Следующие запуски вернутся к привычной скорости.

Если Windows пишет, что папку нельзя удалить, потому что она открыта в другой программе, — 1С ещё работает. Чаще всего висит фоновый процесс после закрытия окна. Завершите его в Диспетчере задач и повторите.

Что вы теряете при удалении папок из Roaming

В %APPDATA%\1C\1cv8 лежат локальные настройки клиента для этой базы на этом компьютере. После удаления платформа создаст их заново со значениями по умолчанию.

Настройки форм, варианты отчётов, избранное и рабочий стол пользователя в 1С 8.3 хранятся в самой информационной базе. Очистка кэша их не затрагивает, поэтому на другом компьютере и после чистки у пользователя всё останется на месте.

Параметр /ClearCache: сброс кэша без проводника

Платформа умеет чистить кэш сама. Для этого базу запускают с параметром командной строки /ClearCache. Удобно, если у пользователя нет привычки лазить по скрытым папкам или нужно почистить кэш у десятка сотрудников через ярлык.

Через окно запуска 1С

  1. В окне запуска выделите базу и нажмите Изменить.
  2. Пройдите мастер кнопкой Далее до последней страницы.
  3. В поле Дополнительные параметры запуска впишите /ClearCache.
  4. Нажмите Готово и запустите базу.
  5. После успешного входа вернитесь в Изменить и сотрите параметр.

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

Через ярлык

Если базу запускают ярлыком, добавьте параметр в поле «Объект» свойств ярлыка, после пути к 1cestart.exe или 1cv8.exe, через пробел. Например:

"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /F"D:\Bases\Buh" /ClearCache

Здесь /F — путь к файловой базе. Для серверной вместо него указывают /S"сервер\имя_базы". Параметр /ClearCache действует только на ту базу, которую вы запускаете этой командой.

Скрипт и утилиты для очистки кэша

Готовые программы-«чистильщики» для 1С существуют, но ничего сверх ручной очистки они не делают: удаляют те же папки в AppData. Скачивать их с неизвестных сайтов ради этого незачем. Проще держать свой bat-файл, который понятно что делает.

Создайте в Блокноте файл clear1c.bat с таким содержимым (сохраните в кодировке UTF-8):

@echo off
chcp 65001 >nul

rem Проверяем, что 1С закрыта
tasklist | findstr /I "1cv8.exe 1cv8c.exe" >nul
if %errorlevel%==0 (
    echo 1С запущена. Закройте все окна 1С и запустите скрипт снова.
    pause
    exit /b 1
)

rem Удаляем папки кэша баз (имена вида xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)
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

Маска *-*-*-*-* выбирает только папки с дефисами, то есть кэши баз. Файл ibases.v8i и служебные .pfl скрипт не трогает: первый лежит в другом каталоге, вторые — файлы, а не папки.

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

Реестр Windows и кэш 1С: что там есть на самом деле

В советах по очистке часто встречается «почистите реестр от 1С». Кэш конфигурации в реестре не хранится, и чистка реестра на скорость или ошибки базы не влияет. Программы-«оптимизаторы» реестра здесь бесполезны и иногда вредны.

Реестр имеет значение в одном случае: если у пользователя перенесены папки профиля. Расположение AppData задаётся в ветке HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders, параметры AppData и Local AppData. Если там указан сетевой путь, кэш 1С лежит на сервере, а не на локальном диске. Тогда:

  • ищите папки 1C\1cv8 по фактическому пути из реестра;
  • учитывайте, что кэш в сетевом профиле сам по себе замедляет запуск;
  • переменные %APPDATA% и %LOCALAPPDATA% всё равно ведут куда нужно, так что ручная очистка и скрипт сработают без правок.

Вместо реестра для «сброса» используйте параметр /ClearCache из предыдущего раздела: это штатный механизм платформы.

Файловая база и сервер 1С: в чём разница при очистке

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

В клиент-серверном варианте кэш есть с двух сторон:

ГдеЧто хранитсяКак чиститьКто затронут
Компьютер пользователякэш конфигурации и локальные настройкивручную, скриптом или /ClearCacheтолько этот пользователь
Сервер 1Ссеансовые данные кластера, папки snccntx*остановка службы и удаление папоквсе пользователи всех баз кластера

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

Как сбросить кэш сервера 1С

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

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

Не трогайте файл 1CV8Clst.lst и папки с именами-GUID внутри reg_1541. Первый — реестр кластера со списком баз, в папках баз лежат журналы регистрации. Удалите их — потеряете список баз на сервере или историю журнала.

На Linux каталог кластера по умолчанию — /home/usr1cv8/.1cv8/1C/1cv8/reg_1541. Имя службы зависит от версии платформы; найдите его командой systemctl list-units | grep srv1cv8, остановите через systemctl stop, удалите snccntx* и запустите службу снова.

Проверка после очистки кэша и что делать, если не помогло

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

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

Чтобы кэш не разрастался снова, достаточно двух привычек. Удаляйте из списка базы, с которыми больше не работаете, и сразу стирайте их папки по ID. После крупных обновлений конфигурации, если интерфейс ведёт себя странно, начинайте диагностику с одного запуска с /ClearCache.

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

Удалятся ли документы и проводки при очистке кэша 1С?
Нет. Данные хранятся в самой базе: в файле 1Cv8.1CD или на SQL-сервере. Кэш — это копия конфигурации на компьютере пользователя.
Нужна ли резервная копия базы перед очисткой кэша клиента?
Для клиентского кэша нет: база не меняется. Копия нужна перед тестированием и исправлением базы, а не перед удалением папок в AppData.
Как часто чистить кэш 1С?
По расписанию не нужно. Чистите при симптомах: ошибки форм, старый интерфейс после обновления, нехватка места на диске.
Можно ли очистить кэш, не закрывая 1С?
Нет. Занятые файлы не удалятся, а частично очищенный кэш может вызвать новые ошибки. Закройте все сеансы 1С на этом компьютере.
Как почистить кэш всем пользователям терминального сервера?
Дождитесь, пока все выйдут, и удалите папки-GUID в AppData\Roaming\1C\1cv8 и AppData\Local\1C\1cv8 каждого профиля в C:\Users. Или раздайте bat-скрипт, чтобы каждый запустил его в своём сеансе.