Очистка кэша 1С на компьютере, сервере и в браузере: что удалять и что трогать нельзя
Содержание
Чтобы обновить кэш 1С, закройте программу и удалите папки с длинными именами вида a1b2c3d4-… в каталогах %APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8. Второй способ, без проводника: добавьте параметр /ClearCache в дополнительные параметры запуска базы и один раз войдите в программу. Это работает одинаково для файловых и клиент-серверных баз платформы 8.3.
Типичная ситуация: администратор накатил обновление конфигурации , у половины бухгалтерии всё открывается, а у двоих в документе нет новой колонки, отчёт падает с ошибкой или форма «прыгает» в старом виде. Почти всегда виноват устаревший локальный кэш.
Когда нужно очищать кэш 1С
Кэш — это копия метаданных, форм и модулей конфигурации, которую клиент держит на диске, чтобы не тянуть их из базы при каждом запуске. Пока версия конфигурации не меняется, он ускоряет работу. После изменений кэш иногда не перестраивается и начинает «врать».
Признаки, что пора сбросить кэш :
- 🔄 после обновления конфигурации у части пользователей видны старые формы, нет новых реквизитов или команд;
- 🧩 у одного пользователя ошибка воспроизводится, а у коллеги в той же базе — нет;
- 💥 при открытии базы или формы появляется
Ошибка формата потока; - 🐢 программа заметно медленнее стартует только на одном компьютере;
- 🖨 печатная форма или отчёт ведут себя по-старому, хотя в Конфигураторе уже исправлены;
- 🔌 после сбоя питания или аварийного закрытия 1С клиент перестал запускать конкретную базу.
Быстрая проверка: если ошибка пропадает, когда тот же пользователь заходит с другого компьютера, — почти наверняка дело в локальном кэше. Если она есть везде, кэш тут ни при чём, ищите причину в базе или конфигурации.
Очистка кэша не удаляет данные базы и не трогает документы. Пользовательские настройки форм и отчётов хранятся в самой информационной базе, поэтому после сброса они остаются на месте.
Где лежат файлы кэша 1С на Windows и Linux
Каждой информационной базе в списке запуска соответствует своя папка с именем-идентификатором (GUID). Внутри — служебные файлы, которые платформа создаёт заново при следующем входе.
| Система | Где искать кэш | Что ещё там лежит |
|---|---|---|
| Windows | %APPDATA%\1C\1cv8\ и %LOCALAPPDATA%\1C\1cv8\ | файлы настроек *.pfl |
| Windows, список баз | %APPDATA%\1C\1CEStart\ibases.v8i | это не кэш, а список баз в окне запуска |
| Linux | ~/.1cv8/1C/1cv8/ | аналогично Windows, папки по GUID |
На Windows путь проще всего открыть так: нажмите Win+R, вставьте %APPDATA%\1C\1cv8 и нажмите Enter. Для второй папки то же самое с %LOCALAPPDATA%\1C\1cv8. Обычно это C:\Users\<имя>\AppData\Roaming\1C\1cv8 и C:\Users\<имя>\AppData\Local\1C\1cv8.
Что можно удалять, а что лучше оставить:
- ✅ папки с именами вида
8-4-4-4-12символов (GUID) — это и есть кэш баз; - ⚠️ файлы
*.pflв корне1cv8— локальные настройки клиента; удаление не опасно, но сбросит, например, последние выбранные параметры окна запуска; - ⛔
ibases.v8i— список баз. Удалите его, и пользователь увидит пустое окно запуска. Не трогайте, если не готовы добавлять базы заново.
Не знаете, какая папка относится к нужной базе? Удалите все GUID-папки. Лишнего вы не потеряете: кэш остальных баз тоже пересоберётся при их первом запуске, просто первый вход в каждую будет чуть дольше.
Способ 1. Ручная очистка кэша на компьютере пользователя
Самый надёжный вариант. Подходит, когда проблема у одного-двух сотрудников.
- Попросите пользователя закрыть все окна 1С. Проверьте в диспетчере задач, что не осталось процессов
1cv8.exe,1cv8c.exeи1cv8s.exe. - Откройте
%APPDATA%\1C\1cv8черезWin+R. - Выделите все папки с длинными GUID-именами и удалите их.
- Повторите шаги 2-3 для
%LOCALAPPDATA%\1C\1cv8. - Запустите 1С и войдите в базу. Первый запуск займёт больше времени: клиент заново скачивает метаданные.
Если папка не удаляется с сообщением, что файл занят, значит, процесс 1С ещё жив. Завершите его в диспетчере задач и повторите.
Как найти папку конкретной базы
Если на компьютере десяток баз и сбрасывать всё не хочется, нужную папку можно вычислить.
- Откройте файл
%APPDATA%\1C\1CEStart\ibases.v8iв Блокноте (только для чтения, ничего не меняйте). - Найдите блок с названием базы в квадратных скобках, например
[Бухгалтерия предприятия]. - В этом блоке есть строка
ID=с идентификатором. Папка кэша в1cv8называется так же. - Удалите только эту папку в обоих каталогах —
RoamingиLocal.
Так кэш остальных баз останется нетронутым, и их запуск не замедлится.
На терминальном сервере
Если сотрудники работают через RDP, у каждого свой профиль, и кэш лежит в C:\Users\<имя>\AppData\… этого пользователя. Чистить нужно в профиле того, у кого проблема, причём когда он вышел из сеанса. Массовая очистка по всем профилям — в разделе про автоматизацию ниже.
На Linux
Закройте клиент и выполните в терминале:
ls ~/.1cv8/1C/1cv8/
rm -rf ~/.1cv8/1C/1cv8/*-*-*-*-*/
Шаблон *-*-*-*-* выбирает только папки с GUID-именами и не задевает остальное.
Способ 2. Параметр /ClearCache при запуске
Если нет доступа к проводнику или пользователь далеко, кэш можно сбросить ключом запуска. Платформа очистит кэш этой базы перед входом.
Через окно запуска:
- В окне выбора баз выделите нужную базу и нажмите
Изменить. - Пройдите мастер до последней страницы с параметрами запуска.
- В поле
Дополнительные параметры запускавпишите/ClearCache. - Нажмите
Готовои запустите базу. - После успешного входа уберите параметр обратно: иначе кэш будет сбрасываться при каждом запуске, и вход каждый раз будет медленным.
Через ярлык или командную строку:
"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /IBName "Бухгалтерия предприятия" /ClearCache
Вместо /IBName с названием базы из списка можно указать путь: /F "D:\Bases\Buh" для файловой базы или /S "srv1c\buh" для серверной.
| Способ | Когда подходит | Минусы |
|---|---|---|
| Удаление папок вручную | один пользователь, проблема «упорная» | нужен доступ к профилю |
/ClearCache разово | удалённая поддержка, без проводника | чистит только одну базу |
/ClearCache постоянно | база часто обновляется, мало пользователей | медленный старт каждый раз |
| Скрипт при входе | терминальный сервер, много сотрудников | нужно настроить один раз |
Способ 3. Автоматическая очистка кэша 1С при запуске
Когда конфигурацию обновляют часто, а пользователей много, ручная чистка надоедает. Есть два пути.
Постоянный ключ запуска. Оставьте /ClearCache в параметрах базы у нужных сотрудников. Просто, но каждый вход будет дольше на время загрузки метаданных. Для небольшой базы это секунды, для ERP на медленной сети — заметно.
Скрипт при входе в систему. Выполняется до запуска 1С, поэтому файлы гарантированно свободны. Пример для Windows:
@echo off
rem Удаляет кэш 1С текущего пользователя (папки с GUID-именами)
for /d %%D in ("%APPDATA%\1C\1cv8\????????-????-????-????-????????????") do rd /s /q "%%D"
for /d %%D in ("%LOCALAPPDATA%\1C\1cv8\????????-????-????-????-????????????") do rd /s /q "%%D"
Тот же смысл на PowerShell, с точной проверкой имени:
$paths = "$env:APPDATA\1C\1cv8", "$env:LOCALAPPDATA\1C\1cv8"
Get-ChildItem $paths -Directory -ErrorAction SilentlyContinue |
Where-Object { $_.Name -match '^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$' } |
Remove-Item -Recurse -Force
Скрипт назначают сценарием входа через групповую политику или кладут в автозагрузку пользователя. На терминальном сервере так удобно чистить кэш всем сразу: каждый сотрудник при входе получает свежий кэш.
Не запускайте такой скрипт «на живую» у пользователя с открытой 1С: удалить занятые файлы не выйдет, а несохранённый документ в открытом сеансе можно потерять, если перед этим принудительно завершать процессы.
Как сбросить кэш на сервере 1С
Сервер тоже кэширует данные сеансов. Их держит кластер в каталоге srvinfo, в папках с именами snccntx<GUID>. Чистить их стоит, когда проблема у всех пользователей серверной базы сразу и не уходит после очистки клиентского кэша и перезапуска клиентов.
Где лежит каталог:
- Windows: по умолчанию
C:\Program Files\1cv8\srvinfo\reg_1541\; - Linux: обычно
/home/usr1cv8/.1cv8/1C/1cv8/reg_1541/.
Если сервер ставили с нестандартным каталогом или портом, путь будет другим: его видно в параметрах службы агента сервера (ключ -d в строке запуска).
Остановка службы обрывает сеансы всех пользователей всех баз на этом сервере. Делайте это вечером или в согласованное окно, предупредив сотрудников, и сначала сделайте резервную копию каталога srvinfo.
Порядок действий:
- Предупредите пользователей и дождитесь, пока они сохранят работу и выйдут.
- Остановите службу агента сервера 1С. На Windows — в
services.msc(служба с названием вида «Агент сервера 1С:Предприятия 8.3»). На Linux имя юнита зависит от версии, найдите его командойsystemctl list-units | grep -i 1c. - Скопируйте каталог
srvinfoв резервную папку. - В
reg_1541удалите только папкиsnccntx…. - Запустите службу и проверьте вход в базу.
Чего не трогать в reg_1541:
- ⛔ файл
1CV8Clst.lst— реестр кластера со списком баз и настроек; - ⛔ папки с GUID-именами без префикса
snccntx— это данные информационных баз, в них, среди прочего, журнал регистрации.
Перед остановкой службы попробуйте мягкий вариант: в консоли администрирования серверов посмотрите сеансы проблемной базы и завершите только «зависшие». Иногда этого хватает без полного перезапуска.
Обновление кэша в веб-клиенте 1С
В веб-клиенте нет папок 1cv8 на компьютере: формы и модули хранит браузер. Поэтому и сбрасывать нужно кэш браузера.
- Закройте вкладку с 1С, чтобы сеанс завершился корректно.
- Откройте страницу базы и нажмите
Ctrl+F5— принудительная перезагрузка без кэша. - Не помогло — очистите кэш и файлы cookie для адреса базы:
Ctrl+Shift+Deleteв Chrome, Edge, Firefox и Яндекс Браузере, выберите «кэшированные файлы» и «cookie». - Для проверки откройте базу в окне инкогнито. Если там всё работает, причина точно в кэше браузера.
Если проблема у всех веб-пользователей, после обновления конфигурации перезапустите веб-сервер (Apache или IIS), на котором опубликована база. Это тоже обрывает текущие веб-сеансы, так что выбирайте время.
Тонкий клиент, подключённый к базе по HTTP-адресу, кэш хранит как обычный тонкий клиент — в папках 1cv8. Для него работают способы 1 и 2.
Если после очистки кэша проблема осталась
Сброс кэша решает только то, что связано со «старой копией» конфигурации. Если ошибка не ушла, идите по шагам ниже.
Тестирование и исправление требует монопольного доступа к базе: все пользователи должны выйти. Перед запуском обязательно сделайте резервную копию.