Сброс локального кэша 1С 8.3 на рабочем месте и терминальном сервере
Содержание
Почистить кэш
тонкого клиента
1С быстрее всего так: в окне запуска выделите базу, нажмите «Изменить», дойдите до последней страницы и впишите в поле «Дополнительные параметры запуска» строку /ClearCache. При следующем входе платформа сама удалит кэш этой базы и скачает метаданные с сервера заново. Если нужно снести кэш сразу всех баз, закройте 1С и удалите папки с именами-GUID в %APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8.
Первый способ точечный и безопасный, второй — радикальный, но надёжный. На терминальном сервере то же самое делают по профилям всех пользователей, обычно скриптом. Инструкция подходит для платформы 8.3 и любой конфигурации: кэш — механизм платформы, а не БП, ЗУП или УТ.
Когда чистить кэш и что сделать до очистки
Тонкий клиент хранит на диске копию описания конфигурации: формы, модули, картинки, макеты. Так база открывается быстрее — не нужно каждый раз тянуть всё с сервера. Проблемы начинаются, когда эта копия расходится с тем, что лежит в базе.
Типичные признаки устаревшего кэша:
- 🔄 после обновления конфигурации у одного пользователя старые формы, у остальных — новые;
- 🧩 при входе или открытии формы падает
Ошибка формата потока; - 🖼 пропали или «поехали» картинки, кнопки, команды на панели;
- 🐢 база стала открываться заметно дольше, чем у коллег на таком же компьютере;
- ❌ клиент закрывается сразу после ввода пароля без внятного сообщения.
Если симптом есть у всех пользователей сразу, дело скорее в самой базе или сервере. Локальный кэш — история одного рабочего места или одного профиля.
Перед очисткой:
- Закройте все окна 1С на этом компьютере, включая Конфигуратор. Проверьте в диспетчере задач, что не висят процессы
1cv8c.exeи1cv8.exe. - Убедитесь, что знаете логин и пароль от базы. Кэш их не хранит, но после очистки платформа может не подставить последнее имя пользователя.
- Запомните, к каким базам подключён пользователь. Список баз хранится отдельно и при очистке кэша не пропадает, но лишняя страховка не помешает.
Сравнение способов очистки кэша 1С
| Способ | Когда выбирать | Что удаляется | Риски |
|---|---|---|---|
Параметр /ClearCache | Сбой в одной базе, пользователь без прав администратора Windows | Кэш одной базы | Почти нет |
| Удаление папок в AppData | Сбой в нескольких базах, /ClearCache не помог | Кэш всех баз пользователя | Сбросятся локальные настройки платформы, если удалить и файлы .pfl |
| Сброс настроек пользователя | Кривые формы и отборы именно у одного пользователя | Сохранённые в базе настройки форм и отчётов | Пользователь потеряет свои варианты отчётов и раскладку форм |
| Скрипт на терминальном сервере | Много пользователей, регулярные сбои после обновлений | Кэш всех профилей | Оборвёт работу тех, кто сидит в 1С |
Способ 1. Параметр /ClearCache в окне запуска 1С
Этот способ не требует искать скрытые папки и работает у обычного пользователя без прав администратора.
- Запустите 1С. Откроется окно запуска со списком информационных баз.
- Выделите нужную базу и нажмите «Изменить».
- Пройдите страницы мастера кнопкой «Далее» до последней — с параметрами запуска.
- В поле «Дополнительные параметры запуска» впишите
/ClearCache. - Нажмите «Готово» и войдите в базу.
Платформа удалит кэш этой базы и загрузит метаданные заново. Первый вход будет медленнее обычного: для типовой БП 3.0 по локальной сети — от десятков секунд до пары минут, через медленный VPN дольше.
После успешного входа уберите /ClearCache из поля параметров. Иначе платформа будет чистить кэш при каждом запуске, и база всегда будет открываться долго.
Тот же параметр работает в ярлыке. Если пользователь запускает базу ярлыком на рабочем столе, допишите его в строку «Объект» после остальных параметров:
"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /IBName "Бухгалтерия" /ClearCache
Имя после /IBName должно совпадать с названием базы в списке окна запуска.
Способ 2. Ручное удаление папок кэша через Проводник
Когда /ClearCache не помог или проблем несколько в разных базах, удаляют кэш целиком. Платформа 8.3 хранит его в двух местах профиля Windows:
| Папка | Что там лежит |
|---|---|
%APPDATA%\1C\1cv8 | Кэш конфигураций, локальные файлы настроек *.pfl |
%LOCALAPPDATA%\1C\1cv8 | Основная часть кэша метаданных, временные данные |
Порядок действий:
- Закройте все сеансы 1С на компьютере.
- Нажмите
Win + R, введите%APPDATA%\1C\1cv8и нажмите Enter. - Удалите папки с длинными именами вида
3f2a9c1e-7b4d-4e8a-9c21-5d6e7f8a9b0c. Каждая такая папка — кэш одной базы. - Повторите то же для
%LOCALAPPDATA%\1C\1cv8. - Запустите базу и дождитесь первого входа.
Не трогайте папку %APPDATA%\1C\1CEStart. В ней лежит файл ibases.v8i — список баз в окне запуска. Удалите его, и пользователю придётся заново добавлять все базы.
Файлы *.pfl в корне 1cv8 хранят локальные настройки платформы: например, последнее введённое имя пользователя и параметры окна запуска. Их удаляют только если сбой не уходит после удаления GUID-папок. Ничего критичного в них нет, но пользователь заметит, что «всё сбросилось».
Как понять, какая папка относится к какой базе
Имя папки — внутренний идентификатор базы, по нему не видно, бухгалтерия это или ЗУП. Есть простой приём: отсортируйте папки по дате изменения, запустите проблемную базу и закройте её. Папка, у которой дата обновилась, — нужная. Если не хочется гадать, удаляйте все GUID-папки: лишнего вы не потеряете, остальные базы просто один раз откроются дольше.
Временные файлы в %TEMP%
Платформа создаёт во временной папке Windows файлы вида v8_*.tmp. После аварийных завершений они могут копиться годами и занимать гигабайты. При закрытой 1С их можно удалить: откройте %TEMP%, отфильтруйте по v8_ и удалите найденное.
Реестр Windows и кэш 1С: что там правят на самом деле
Сам кэш тонкого клиента 1С 8.3 в реестре не хранится — только в файлах профиля. Поэтому «очистить кэш через реестр» в прямом смысле нельзя, а удалять ветки наугад опасно.
Реестр нужен в другой ситуации: когда надо понять, где на самом деле лежат папки AppData. В доменах их часто перенаправляют на сетевой диск или на другой том. Тогда %APPDATA% ведёт не туда, где вы ищете.
Проверить это можно в ветке:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
Параметр AppData показывает, где лежит перемещаемая часть профиля, Local AppData — локальная. Если AppData указывает на сервер, кэш 1С гоняется по сети при каждом входе в Windows. Это отдельная причина медленного запуска.
Менять пути в этой ветке вручную на рабочей машине не стоит. Перенаправление папок настраивают групповой политикой, иначе Windows может потерять профиль пользователя.
Сброс настроек пользователя: когда виноват не кэш
Частая ошибка — чистить кэш , когда проблема в сохранённых настройках. Раскладка формы, колонки списка, отборы, варианты отчётов хранятся не на компьютере, а в самой информационной базе. Удаление папок в AppData их не затронет, и «кривая» форма останется кривой.
Признак: проблема у пользователя повторяется на любом компьютере, с которого он входит в базу. Значит, искать нужно в базе.
Что можно сделать:
- Сам пользователь. В открытой форме вызовите меню «Ещё» и выберите «Изменить форму». В окне настройки откройте его меню «Ещё» и выберите «Установить стандартные настройки» — так сбрасывается раскладка одной формы. Для отчёта есть отдельная команда сброса настроек в меню «Ещё» формы отчёта.
- Пользователь, вся программа. В главном меню (кнопка с тремя полосками в заголовке окна) откройте «Вид» и выберите «Установить стандартные настройки». Сбросятся настройки интерфейса.
- Администратор базы. В типовых конфигурациях на БСП (БП 3.0, ЗУП 3.1, УТ 11) откройте
Администрирование → Настройки пользователей и прав → Настройки пользователей. Выберите пользователя и очистите нужную группу настроек — внешний вид, настройки отчётов, прочее. Здесь же настройки можно скопировать от «эталонного» сотрудника.
Перед очисткой настроек отчётов спросите пользователя, нет ли у него своих сохранённых вариантов. Бухгалтеры часто годами настраивают ОСВ и анализ счёта «под себя», и потеря этих вариантов расстроит сильнее, чем исходный сбой.
Очистка кэша 1С на терминальном сервере
На RDS-сервере у каждого пользователя свой профиль и свой кэш. Всё сказанное выше работает, только папки ищут не у себя, а в профиле конкретного сотрудника:
C:\Users\<имя_пользователя>\AppData\Roaming\1C\1cv8
C:\Users\<имя_пользователя>\AppData\Local\1C\1cv8
Здесь есть свои особенности.
- 👤 Чистить нужно на сервере, а не на ноутбуке. Пользователь подключается по RDP, и его клиент 1С работает на сервере. Локальный кэш на его компьютере ни на что не влияет.
- 🔒 Пользователь должен выйти из сеанса. Пока его
1cv8c.exeзапущен, файлы кэша заняты, удаление пройдёт частично. - 💾 Место на диске. Кэш одной типовой базы занимает обычно сотни мегабайт. При 40 пользователях и трёх базах у каждого это десятки гигабайт на системном диске.
- 🌐 Перемещаемые профили и FSLogix. Если профиль перемещаемый, кэш из
Roamingкопируется при каждом входе и выходе. Это замедляет вход в Windows. Профильные контейнеры (например, FSLogix) раздуваются за счёт того же кэша.
Перед массовой очисткой завершите сеансы 1С на сервере или делайте её в нерабочее время. Принудительный выход из сеанса оборвёт работу пользователя: несохранённый документ пропадёт.
Порядок для одного сотрудника:
- В «Диспетчере задач» на вкладке «Пользователи» убедитесь, что у него нет процессов 1С. Если есть — попросите сохраниться и выйти.
- Откройте его папки
Roaming\1C\1cv8иLocal\1C\1cv8и удалите GUID-папки. - Попросите войти в базу заново.
Автоматическая очистка кэша и профилактика
Если после каждого обновления конфигурации кэш приходится чистить у половины отдела, проще поручить это скрипту.
Bat-файл для одного компьютера
Скрипт удаляет только папки кэша баз и не трогает список баз и файлы настроек:
@echo off
tasklist /FI "IMAGENAME eq 1cv8c.exe" | find /I "1cv8c.exe" >nul && (
echo Закройте 1С и запустите скрипт снова.
pause
exit /b
)
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
Маска *-*-*-*-* ловит имена в формате GUID: в них ровно четыре дефиса. Если в имени файла скрипта или путях есть кириллица, сохраните bat в кодировке OEM 866 или замените сообщения на латиницу.
PowerShell для терминального сервера
Скрипт проходит по всем профилям и пропускает пользователей, у которых сейчас открыта 1С. Запускают его от имени администратора, лучше по расписанию ночью:
$busy = Get-Process 1cv8c, 1cv8 -IncludeUserName -ErrorAction SilentlyContinue |
ForEach-Object { ($_.UserName -split '\\')[-1] }
$guid = '^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$'
Get-ChildItem 'C:\Users' -Directory | ForEach-Object {
if ($busy -contains $_.Name) { return }
foreach ($sub in 'AppData\Roaming\1C\1cv8', 'AppData\Local\1C\1cv8') {
$path = Join-Path $_.FullName $sub
if (Test-Path $path) {
Get-ChildItem $path -Directory |
Where-Object { $_.Name -match $guid } |
Remove-Item -Recurse -Force -ErrorAction SilentlyContinue
}
}
}
Сравнение идёт по имени папки профиля. Если имя профиля отличается от логина (бывает после переименования учётки или с суффиксом домена), такой пользователь не попадёт в список занятых. Поэтому запуск ночью, когда сеансов нет, надёжнее любой проверки.
В «Планировщике заданий» создайте задачу с запуском powershell.exe -ExecutionPolicy Bypass -File C:\Scripts\clear1c.ps1 от имени учётной записи с правами администратора и галочкой «Выполнять с наивысшими правами».
Как реже сталкиваться с битым кэшем
- 🕗 Обновляйте конфигурацию, когда пользователи вышли из базы, и после обновления не пускайте их, пока процедура не завершена до конца.
- 💥 Не завершайте
1cv8c.exeчерез диспетчер задач без крайней нужды: прерванная запись кэша — частая причина ошибки формата потока. - 🧹 На терминальном сервере включите ночную очистку сразу после плановых обновлений, а не «когда начнутся жалобы».
- 💽 Следите за свободным местом на диске с профилями: при заполненном диске платформа не может дописать кэш, и он портится.
Если после очистки локального кэша ошибка остаётся у всех пользователей клиент-серверной базы, проблема уже на стороне сервера 1С. Такие сбои решают через администратора сервера: там есть свой серверный кэш, и его очистка требует остановки службы с обрывом всех сеансов.