Очистка кэша 1С:Предприятия 8.3 на компьютере, сервере и в браузере
Содержание
Самый быстрый способ сбросить кэш 1С — запустить базу
с параметром /ClearCache. Откройте окно запуска, выделите базу, нажмите «Изменить», дойдите до последней страницы и впишите /ClearCache в поле «Дополнительные параметры запуска». При следующем входе платформа выбросит локальный кэш этой базы и соберёт его заново.
Если параметр не помог, кэш чистят вручную: закрывают 1С и удаляют папки с именами вида 1a2b3c4d-... в %APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8. В Linux те же папки лежат в ~/.1cv8/1C/1cv8. Для клиент-серверной базы бывает нужен ещё и сброс сеансового кэша на сервере — это отдельная операция с остановкой службы.
Когда нужна очистка кэша 1С
Кэш — это локальная копия описания конфигурации, форм и части служебных данных. Платформа хранит его на диске, чтобы не тянуть всё из базы при каждом запуске. Пока копия совпадает с базой, всё работает быстро. Проблемы начинаются, когда они расходятся.
Типичные симптомы, после которых имеет смысл чистить кэш :
- 🔄 после обновления конфигурации у одного пользователя старые формы, а у коллег — новые;
- 🐢 база долго висит на заставке или «думает» при открытии любой формы;
- ❌ ошибка появляется только на одном компьютере, а в той же базе на соседнем её нет;
- 🧩 после восстановления базы из копии в тот же каталог программа показывает «чужие» данные интерфейса;
- 🖥 командный интерфейс или панель разделов отрисовываются криво, пропадают команды;
- 📦 после смены платформы или переустановки клиента появляются странные ошибки при запуске.
Главный признак — ошибка «привязана» к рабочему месту. Если та же ошибка воспроизводится у всех пользователей с разных компьютеров, кэш клиента почти наверняка ни при чём: ищите причину в самой базе или на сервере.
Перед очисткой попросите пользователя зайти в ту же базу с другого компьютера или под другой учётной записью Windows. Если там ошибки нет — кэш становится главным подозреваемым.
Сброс кэша 1С в Windows: три способа
Начинайте с самого мягкого способа и переходите к следующему, только если предыдущий не помог.
| Способ | Что очищается | Когда подходит | Риски |
|---|---|---|---|
Параметр /ClearCache | Кэш одной базы | Первое, что стоит сделать | Почти нет |
| Удаление папки одной базы | Кэш и локальные данные одной базы | Параметр не помог | Минимальные |
| Удаление всех папок кэша | Кэш всех баз пользователя | Сбоят несколько баз сразу | Первый запуск каждой базы дольше |
Способ 1. Параметр /ClearCache
- Закройте все окна 1С этой базы.
- В окне запуска выделите базу и нажмите «Изменить».
- Пройдите мастер кнопкой «Далее» до последней страницы.
- В поле «Дополнительные параметры запуска» впишите
/ClearCache. - Нажмите «Готово» и запустите базу.
- Когда база открылась без ошибок, верните настройки и сотрите параметр — иначе кэш будет пересобираться при каждом входе и запуск станет медленнее.
Тот же параметр можно передать из ярлыка или командной строки:
"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /F"D:\Bases\Buh" /ClearCache
Для серверной базы вместо /F указывают /S"server\base".
Способ 2. Удалить папку кэша одной базы
У каждой базы в списке есть свой идентификатор. Он записан в файле списка баз %APPDATA%\1C\1CEStart\ibases.v8i в строке ID= под названием базы. Папка кэша этой базы называется так же.
- Закройте 1С.
- Откройте
ibases.v8iБлокнотом и найдите блок с нужной базой. - Скопируйте значение после
ID=. - Нажмите
Win+R, введите%LOCALAPPDATA%\1C\1cv8и удалите папку с этим именем. - Повторите в
%APPDATA%\1C\1cv8. - Запустите базу.
Способ 3. Удалить весь кэш пользователя
Если сбоят несколько баз или разбираться с идентификаторами некогда, удалите все папки с именами в формате GUID (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) в обоих каталогах:
%APPDATA%\1C\1cv8%LOCALAPPDATA%\1C\1cv8
Не удаляйте каталог %APPDATA%\1C\1CEStart и файл ibases.v8i — в нём список баз пользователя. Без него окно запуска откроется пустым, и все базы придётся добавлять заново.
Похожий приём без копания в папках: удалить базу из списка и добавить заново по тому же пути. Платформа выдаст ей новый идентификатор, а значит, и новую пустую папку кэша. Старая папка останется на диске мусором, её можно удалить позже.
На терминальном сервере кэш у каждого пользователя свой. Чистить нужно в профиле того, у кого ошибка, и при этом у него не должно быть открытых сеансов 1С ни в одной RDP-сессии.
Очистка кэша 1С в Linux
Клиент 1С для Linux хранит кэш в домашнем каталоге пользователя, в скрытой папке. Список баз лежит отдельно, в ~/.1C/1cestart/ibases.v8i.
- Закройте клиент и убедитесь, что процессов не осталось:
pgrep -a -u "$USER" 1cv8
- Посмотрите, что лежит в каталоге кэша:
ls -la ~/.1cv8/1C/1cv8/
- Удалите только папки с именами-идентификаторами:
find ~/.1cv8/1C/1cv8 -mindepth 1 -maxdepth 1 -type d \
-regextype posix-extended \
-regex '.*/[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}' \
-exec rm -rf {} +
- Запустите базу.
Чтобы удалить кэш одной базы, найдите её ID= в ~/.1C/1cestart/ibases.v8i и удалите папку с этим именем вручную. Параметр /ClearCache в Linux работает так же, как в Windows, его можно дописать в свойства базы.
Не запускайте команды очистки через sudo и не подставляйте чужой домашний каталог. Кэш принадлежит пользователю, и чистить его нужно от его имени.
Кэш на сервере 1С и в веб-клиенте
Сеансовый кэш сервера
Если база клиент-серверная и ошибка держится у всех пользователей после очистки их локального кэша, следующий кандидат — служебные данные кластера. Они лежат в каталоге реестра кластера, обычно reg_1541, в папках, имена которых начинаются на snccntx.
- Windows: по умолчанию
C:\Program Files\1cv8\srvinfo\reg_1541\ - Linux: по умолчанию
/home/usr1cv8/.1cv8/1C/1cv8/reg_1541/
Каталог srvinfo могли перенести при установке. Точный путь видно в параметрах службы агента сервера (ключ -d).
Остановка службы обрывает сеансы всех пользователей всех баз этого сервера. Делайте это вечером или в согласованное окно, предупредив людей заранее.
- Предупредите пользователей и дождитесь, пока они выйдут из баз.
- Остановите службу «Агент сервера 1С:Предприятия 8.3» (в Linux — службу
srv1cv8, имя зависит от версии платформы). - Удалите папки
snccntx*в каталогеreg_1541. Остальные файлы и папки не трогайте: там хранятся настройки кластера и список баз. - Запустите службу и проверьте вход в базу.
Веб-клиент
В веб-клиенте 1С работает через браузер, поэтому кэш здесь браузерный:
- для одной вкладки — жёсткое обновление
Ctrl+F5; - для полной очистки —
Ctrl+Shift+Delete, период «За всё время», отметить кэшированные изображения и файлы; - если не помогло — откройте базу в режиме инкогнито: там кэша нет, и сразу видно, в нём ли дело.
После обновления конфигурации на веб-сервере браузер иногда держит старые файлы интерфейса. В таком случае помогает именно полная очистка, а не простое обновление страницы .
Кэш и Конфигуратор: когда без него не обойтись
Конфигуратор использует тот же локальный кэш, что и пользовательский режим. Отдельной кнопки «очистить кэш » в нём нет, но параметр запуска работает и здесь:
"C:\Program Files\1cv8\common\1cestart.exe" DESIGNER /F"D:\Bases\Buh" /ClearCache
Сбросить кэш при работе с Конфигуратором полезно в трёх случаях:
- 🛠 после обновления конфигурации базы данных кто-то из пользователей продолжает видеть старые объекты, хотя у остальных всё новое;
- 🔁 Конфигуратор открывает дерево метаданных с ошибкой или зависает на загрузке конфигурации, а с другого компьютера та же база открывается нормально;
- 🧪 разработчик переключается между копиями одной базы, восстановленными в один и тот же каталог, и видит устаревшее состояние.
Если после применения изменений пользователи жалуются на старый интерфейс, сначала попросите их полностью выйти из базы и зайти снова. Платформа сама сверяет версию конфигурации при входе. Чистить кэш стоит, только если перезаход не помог.
Что изменится после очистки кэша
Сброс кэша не трогает данные базы: документы, справочники и остатки хранятся в самой информационной базе, а не на компьютере пользователя. Что пользователь заметит:
- ⏳ первый запуск идёт заметно дольше — платформа заново скачивает и раскладывает описание конфигурации. На большой конфигурации и медленной сети это может занять несколько минут;
- 📏 могут сброситься некоторые локальные мелочи: размеры и положение окон, история последних открытых форм;
- ✅ настройки форм, отчётов и списков в управляемом приложении сохраняются в базе, поэтому после очистки они остаются на месте.
Второй и последующие запуски снова идут с обычной скоростью. Если каждый вход долгий, проверьте, не остался ли в свойствах базы параметр /ClearCache.
Автоматическая очистка: скрипт и планировщик
На терминальных серверах и в организациях с частыми обновлениями кэш удобно чистить скриптом при входе пользователя в систему. Скрипт ниже на PowerShell ничего не делает, если 1С у пользователя запущена, и удаляет только папки с именами-идентификаторами.
# clear1c.ps1 — очистка локального кэша 1С текущего пользователя
$running = Get-Process -Name 1cv8, 1cv8c -ErrorAction SilentlyContinue |
Where-Object { $_.SessionId -eq (Get-Process -Id $PID).SessionId }
if ($running) { Write-Output "1С запущена, очистка пропущена"; exit 0 }
$roots = "$env:APPDATA\1C\1cv8", "$env:LOCALAPPDATA\1C\1cv8"
$guid = '^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$'
foreach ($r in $roots) {
if (Test-Path $r) {
Get-ChildItem -Path $r -Directory |
Where-Object { $_.Name -match $guid } |
Remove-Item -Recurse -Force -ErrorAction SilentlyContinue
}
}
Write-Output "Кэш 1С очищен"
Задание в планировщике на запуск при входе (команду выполняют в консоли от имени администратора):
schtasks /Create /TN "1C ClearCache" /SC ONLOGON /RL LIMITED ^
/TR "powershell.exe -NoProfile -ExecutionPolicy Bypass -File C:\Scripts\clear1c.ps1"
Тот же скрипт можно назначить через групповую политику как сценарий входа — тогда он сработает у всех пользователей сервера.
В Linux аналог — строка в crontab -e пользователя:
@reboot find ~/.1cv8/1C/1cv8 -mindepth 1 -maxdepth 1 -type d -regextype posix-extended -regex '.*/[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}' -exec rm -rf {} +
Чистить кэш при каждом входе без повода не нужно: первый запуск после очистки всегда медленнее. Разумная схема — запускать скрипт разово после обновления конфигурации или платформы, а не ежедневно.
Кэш сервера (snccntx) автоматизировать по расписанию не стоит: остановка службы — это обрыв работы для всех, такое решение принимают вручную.