Очистка кэша 1С 8.3 на компьютере пользователя и на сервере: пути, ключ запуска, скрипты
Содержание
Чтобы очистить локальный кэш 1С 8.3, закройте все окна программы и удалите папки с длинными именами вида a1b2c3d4-… в двух каталогах: %APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8. Список баз при этом не пропадёт. Второй способ, без ручного удаления: добавьте к базе ключ запуска /ClearCache и откройте её один раз.
Кэш — это копия конфигурации, форм и служебных данных, которую клиент хранит на диске, чтобы не тянуть их с сервера при каждом запуске. Пока он совпадает с базой, всё работает быстро. Когда расходится — появляются странные ошибки, старые формы после обновления и долгий старт. Чистка лечит это за пару минут и не затрагивает данные учёта.
Когда кэш 1С мешает и пора его чистить
Кэш создаётся отдельно для каждой базы и каждого пользователя Windows. После обновления конфигурации старая копия обычно заменяется новой, но не всегда аккуратно. Отсюда типичные признаки.
🔸 Ошибки при запуске или открытии формы, которые пропадают у других пользователей той же базы. Классический пример — Ошибка формата потока.
🔸 После обновления конфигурации у одного сотрудника остались старые формы, отчёты или кнопки.
🔸 База стала открываться заметно дольше, чем раньше, хотя сервер не нагружен.
🔸 Программа падает или зависает на одном и том же действии только на одном компьютере.
🔸 На терминальном сервере заканчивается место на диске C:: у каждого пользователя свои гигабайты кэша по всем базам, с которыми он когда-либо работал.
Последний пункт часто недооценивают. Папка одной крупной базы весит сотни мегабайт. Умножьте на 40 пользователей и 5 баз — получится десятки гигабайт, причём часть из них относится к базам, которых давно нет.
Если ошибка воспроизводится у всех пользователей и на всех компьютерах, дело не в локальном кэше. Тогда смотрите на серверную часть или на саму конфигурацию.
Где лежит локальный кэш 1С и как очистить его вручную
На Windows кэш хранится в профиле пользователя, в двух местах:
| Каталог | Что там | Что удалять |
|---|---|---|
%APPDATA%\1C\1cv8 (Roaming) | подпапки баз и файлы настроек *.pfl | только подпапки-GUID |
%LOCALAPPDATA%\1C\1cv8 (Local) | подпапки баз, основной объём кэша | только подпапки-GUID |
Обе переменные раскрываются в C:\Users\<имя>\AppData\Roaming и C:\Users\<имя>\AppData\Local. Папка AppData скрытая, поэтому проще вставить путь целиком в адресную строку Проводника или в окно Win + R.
Порядок действий:
- Закройте все окна 1С: Предприятие, Конфигуратор, Конфигуратор с отладкой. Проверьте в Диспетчере задач, что нет процессов
1cv8.exeи1cv8c.exe. - Нажмите
Win + R, введите%LOCALAPPDATA%\1C\1cv8и нажмите Enter. - Выделите все папки с именами вида
8d4c1f20-3b7e-4c9a-9e51-0f2a6b7c3d11и удалите их. - Повторите то же для
%APPDATA%\1C\1cv8. - Запустите базу. Первый старт будет дольше обычного: клиент заново скачает конфигурацию.
Не удаляйте папку %APPDATA%\1C\1CEStart — в ней файл ibases.v8i со списком информационных баз. Без него окно запуска окажется пустым, базы придётся добавлять заново.
Как найти папку конкретной базы
Чистить всё подряд не обязательно. Если проблема в одной базе, удалите только её папку. Имя папки совпадает с идентификатором базы в списке:
- Откройте
%APPDATA%\1C\1CEStart\ibases.v8iв Блокноте. - Найдите блок с названием базы в квадратных скобках.
- Строка
ID=содержит GUID. Папка с таким именем в обоих каталогах и есть кэш этой базы.
Так вы не потеряете кэш остальных баз и их не придётся заново загружать.
Linux, macOS и веб-клиент
На Linux и macOS локальные данные платформы лежат в скрытом каталоге ~/.1cv8 в домашней папке пользователя. Логика та же: закрыть клиент, удалить подкаталоги баз с GUID в именах, оставить файлы списка баз.
В веб-клиенте собственного кэша платформы на диске нет — его роль играет кэш браузера. Помогает принудительное обновление страницы
Ctrl + F5 или очистка кэша браузера для адреса публикации.
Ключ /ClearCache: очистка при запуске без поиска папок
Параметр командной строки /ClearCache заставляет платформу при старте сбросить закэшированные данные базы. Это удобно, когда пользователь не может или не должен лазить по AppData.
Самый простой путь — через окно запуска:
- В списке баз выделите нужную и нажмите
Изменить. - Пролистайте мастер кнопкой
Далеедо последней страницы с параметрами запуска. - В поле
Дополнительные параметры запускавпишите/ClearCache. - Нажмите
Готовои запустите базу.
После успешного запуска уберите ключ из этого поля. Иначе база каждый раз будет стартовать «с нуля», и выигрыш от кэша пропадёт.
Тот же ключ работает в ярлыке или батнике. Пример для серверной базы:
"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" ENTERPRISE /S"srv1c\buh" /ClearCache
Для файловой базы вместо /S используется /F с путём к каталогу базы:
"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" ENTERPRISE /F"D:\Bases\Buh" /ClearCache
Номер версии в пути подставьте свой — он совпадает с именем папки в C:\Program Files\1cv8. Для Конфигуратора вместо ENTERPRISE пишут DESIGNER, ключ /ClearCache действует и там.
| Способ | Когда подходит | Минусы |
|---|---|---|
| Удаление папок вручную | разовая проблема, есть доступ к профилю | легко задеть лишнее |
/ClearCache в окне запуска | пользователь сам, по телефонной подсказке | нужно не забыть убрать ключ |
/ClearCache в ярлыке | разовый «чистый» запуск конкретной базы | работает только для одной базы |
| Скрипт по всем профилям | терминальный сервер, массовая чистка | требует прав администратора |
Сброс настроек и кэша из режима Предприятия
Отдельной кнопки «очистить кэш » в типовых конфигурациях нет. Но часть проблем, которые принимают за «кэш», сидит в сохранённых настройках пользователя: расположение форм, отборы списков, варианты отчётов. Их сбрасывают прямо из программы.
В конфигурациях на БСП — Бухгалтерия 3.0, ЗУП 3.1, УТ 11 — администратор открывает раздел Администрирование → Настройки пользователей и прав. Там есть ссылка на настройки пользователей, где можно выбрать сотрудника и удалить или скопировать его настройки: внешний вид, отчёты, прочие.
Что это даёт на практике:
✅ форма открывается с пустым экраном или «уехала» за край монитора — помогает очистка настроек внешнего вида; ✅ отчёт падает с ошибкой при формировании, а у коллег работает — помогает удаление настроек отчётов этого пользователя; ✅ после обновления в списке не видно новых колонок — сброс настроек формы вернёт стандартный вид.
Самому пользователю сбросить расположение конкретной формы проще: в меню Ещё формы есть команда изменения формы, а в окне настройки — кнопка возврата к стандартным настройкам.
Если же и после этого ошибка не уходит, закройте программу и примените /ClearCache или удалите папку базы. Настройки пользователя хранятся в информационной базе, а не в локальном кэше, поэтому одно на другое не влияет.
Серверный кэш 1С: что чистить в srvinfo и когда это опасно
В клиент-серверном варианте у сервера 1С тоже есть свой кэш: сеансовые данные рабочих процессов. Они лежат в каталоге кластера внутри srvinfo. Типичные пути по умолчанию:
- Windows:
C:\Program Files\1cv8\srvinfo\reg_1541 - Linux:
/home/usr1cv8/.1cv8/1C/1cv8/reg_1541
Номер reg_1541 соответствует порту менеджера кластера; если кластер поднят на другом порту, папка будет называться иначе.
Внутри нас интересуют папки snccntx… — сеансовые данные. Они разрастаются, иногда повреждаются после аварийного выключения сервера. Тогда пользователи видят ошибки при входе во все базы сразу, а рабочие процессы падают.
Чистка серверного кэша требует остановки службы агента сервера. Все сеансы во всех базах кластера оборвутся, несохранённые документы пропадут. Делайте это вечером или в выходной, предупредив пользователей.
Порядок:
- Предупредите пользователей и дождитесь, пока они выйдут.
- Остановите службу
Агент сервера 1С:Предприятия 8.3вservices.msc(на Linux — черезsystemctlдля службыsrv1cv8…). - Убедитесь, что процессов
ragent,rmngr,rphostбольше нет. - Удалите в
reg_1541папки, имена которых начинаются наsnccntx. - Запустите службу и проверьте вход в базы.
Не трогайте файл 1CV8Clst.lst — это реестр кластера со списком информационных баз и настроек. Его удаление равносильно потере всей конфигурации кластера. Файл 1cv8wsrv.lst в корне srvinfo тоже оставьте на месте. Папки с GUID баз внутри reg_1541 хранят, например, индекс полнотекстового поиска — удалять их ради «чистки кэша» не нужно.
Перед удалением скопируйте весь srvinfo в сторону. Если что-то пойдёт не так, вы вернёте папку как была.
Скрипты для автоматической очистки кэша 1С
Когда рабочих мест десятки или речь о терминальном сервере, ручная чистка не годится. Помогут два скрипта: они удаляют только папки с GUID и не трогают список баз.
bat-файл для текущего пользователя
@echo off
tasklist /FI "IMAGENAME eq 1cv8c.exe" | find /I "1cv8c.exe" >nul && goto busy
tasklist /FI "IMAGENAME eq 1cv8.exe" | find /I "1cv8.exe" >nul && goto busy
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С очищен.
exit /b 0
:busy
echo Закройте 1С и запустите скрипт снова.
exit /b 1
Маска *-*-*-*-* выбирает только папки с дефисами, то есть GUID. Если в консоли кракозябры вместо русских букв, сохраните файл в кодировке OEM 866 или замените сообщения на латиницу.
PowerShell для всех профилей терминального сервера
Скрипт запускают от имени администратора, когда пользователи вышли из системы:
$guid = '^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$'
Get-ChildItem 'C:\Users' -Directory | ForEach-Object {
$roots = @(
Join-Path $_.FullName 'AppData\Roaming\1C\1cv8'
Join-Path $_.FullName 'AppData\Local\1C\1cv8'
)
foreach ($r in $roots) {
if (Test-Path $r) {
Get-ChildItem $r -Directory |
Where-Object { $_.Name -match $guid } |
Remove-Item -Recurse -Force -ErrorAction SilentlyContinue
}
}
}
Папки пользователей, у которых сейчас открыта 1С, удалятся не полностью — файлы заняты. Поэтому запускайте скрипт ночью или перед перезагрузкой сервера.
Как встроить в регламент:
- 🕑 Планировщик заданий Windows — задача раз в месяц, ночью, от имени администратора.
- 👤 Сценарий входа через групповые политики — bat-файл выполняется при входе пользователя, до запуска 1С.
- 🔄 После обновления конфигурации — разовый прогон, чтобы ни у кого не осталась старая копия.
Для серверного кэша автоматизация тоже возможна: остановка службы командой net stop, удаление snccntx*, запуск net start. Точное имя службы посмотрите командой sc query или в свойствах службы — оно зависит от версии и способа установки. Такой скрипт ставят только в окно обслуживания, когда в базах никто не работает
.
Частые ошибки при очистке кэша
❌ Удаляют всю папку 1C в AppData. Вместе с кэшем уходят список баз и общие настройки клиента. Потом пользователь звонит: «пропали все базы».
❌ Чистят кэш при открытой программе. Часть файлов занята, удаляется не всё, а оставшиеся обрывки дают новые ошибки. Сначала закрыть, потом чистить.
❌ Оставляют /ClearCache навсегда. База каждый раз стартует медленно, и кажется, что «1С тормозит».
❌ Ищут проблему в кэше, когда она в базе. Если ошибка у всех пользователей, чистка локальных папок ничего не даст. Нужно тестирование и исправление информационной базы или разбор конфигурации.
❌ На сервере удаляют содержимое reg_1541 целиком. Кластер теряет реестр баз, и восстанавливать его приходится из резервной копии.