Очистка кэша 1С на компьютере, сервере и в браузере: что удалять и что трогать нельзя

· 9 мин

Содержание

Чтобы обновить кэш 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. Попросите пользователя закрыть все окна 1С. Проверьте в диспетчере задач, что не осталось процессов 1cv8.exe, 1cv8c.exe и 1cv8s.exe.
  2. Откройте %APPDATA%\1C\1cv8 через Win+R.
  3. Выделите все папки с длинными GUID-именами и удалите их.
  4. Повторите шаги 2-3 для %LOCALAPPDATA%\1C\1cv8.
  5. Запустите 1С и войдите в базу. Первый запуск займёт больше времени: клиент заново скачивает метаданные.

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

Как найти папку конкретной базы

Если на компьютере десяток баз и сбрасывать всё не хочется, нужную папку можно вычислить.

  1. Откройте файл %APPDATA%\1C\1CEStart\ibases.v8i в Блокноте (только для чтения, ничего не меняйте).
  2. Найдите блок с названием базы в квадратных скобках, например [Бухгалтерия предприятия].
  3. В этом блоке есть строка ID= с идентификатором. Папка кэша в 1cv8 называется так же.
  4. Удалите только эту папку в обоих каталогах — Roaming и Local.

Так кэш остальных баз останется нетронутым, и их запуск не замедлится.

На терминальном сервере

Если сотрудники работают через RDP, у каждого свой профиль, и кэш лежит в C:\Users\<имя>\AppData\… этого пользователя. Чистить нужно в профиле того, у кого проблема, причём когда он вышел из сеанса. Массовая очистка по всем профилям — в разделе про автоматизацию ниже.

На Linux

Закройте клиент и выполните в терминале:

ls ~/.1cv8/1C/1cv8/
rm -rf ~/.1cv8/1C/1cv8/*-*-*-*-*/

Шаблон *-*-*-*-* выбирает только папки с GUID-именами и не задевает остальное.

Способ 2. Параметр /ClearCache при запуске

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

Через окно запуска:

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

Через ярлык или командную строку:

"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. Предупредите пользователей и дождитесь, пока они сохранят работу и выйдут.
  2. Остановите службу агента сервера 1С. На Windows — в services.msc (служба с названием вида «Агент сервера 1С:Предприятия 8.3»). На Linux имя юнита зависит от версии, найдите его командой systemctl list-units | grep -i 1c.
  3. Скопируйте каталог srvinfo в резервную папку.
  4. В reg_1541 удалите только папки snccntx….
  5. Запустите службу и проверьте вход в базу.

Чего не трогать в reg_1541:

  • ⛔ файл 1CV8Clst.lst — реестр кластера со списком баз и настроек;
  • ⛔ папки с GUID-именами без префикса snccntx — это данные информационных баз, в них, среди прочего, журнал регистрации.

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

Обновление кэша в веб-клиенте 1С

В веб-клиенте нет папок 1cv8 на компьютере: формы и модули хранит браузер. Поэтому и сбрасывать нужно кэш браузера.

  1. Закройте вкладку с 1С, чтобы сеанс завершился корректно.
  2. Откройте страницу базы и нажмите Ctrl+F5 — принудительная перезагрузка без кэша.
  3. Не помогло — очистите кэш и файлы cookie для адреса базы: Ctrl+Shift+Delete в Chrome, Edge, Firefox и Яндекс Браузере, выберите «кэшированные файлы» и «cookie».
  4. Для проверки откройте базу в окне инкогнито. Если там всё работает, причина точно в кэше браузера.

Если проблема у всех веб-пользователей, после обновления конфигурации перезапустите веб-сервер (Apache или IIS), на котором опубликована база. Это тоже обрывает текущие веб-сеансы, так что выбирайте время.

Тонкий клиент, подключённый к базе по HTTP-адресу, кэш хранит как обычный тонкий клиент — в папках 1cv8. Для него работают способы 1 и 2.

Если после очистки кэша проблема осталась

Сброс кэша решает только то, что связано со «старой копией» конфигурации. Если ошибка не ушла, идите по шагам ниже.

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

Тестирование и исправление требует монопольного доступа к базе: все пользователи должны выйти. Перед запуском обязательно сделайте резервную копию.

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

Потеряются ли мои настройки отчётов после очистки кэша?
Нет. Настройки форм и отчётов хранятся в самой информационной базе, а не в кэше. После очистки они подтянутся при первом входе.
Нужно ли чистить кэш после каждого обновления конфигурации?
Нет. Обычно платформа сама понимает, что версия изменилась, и перестраивает кэш. Чистить нужно, только если появились странности.
Можно ли очистить кэш сразу у всех пользователей?
Да: назначьте скрипт удаления GUID-папок сценарием входа через групповую политику или на терминальном сервере пройдитесь по профилям, когда все вышли.
Чем отличается /ClearCache от удаления папок вручную?
Ключ чистит кэш только той базы, которую вы запускаете. Удаление папок сбрасывает кэш всех баз на компьютере.
Помогает ли очистка кэша при медленной работе 1С?
Только если медленно на одном компьютере. Если тормозит у всех, ищите причину на сервере, в сети или в самой базе.