Сброс локального кэша 1С 8.3 на рабочем месте и терминальном сервере

· 10 мин

Содержание

Почистить кэш тонкого клиента 1С быстрее всего так: в окне запуска выделите базу, нажмите «Изменить», дойдите до последней страницы и впишите в поле «Дополнительные параметры запуска» строку /ClearCache. При следующем входе платформа сама удалит кэш этой базы и скачает метаданные с сервера заново. Если нужно снести кэш сразу всех баз, закройте 1С и удалите папки с именами-GUID в %APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8.

Первый способ точечный и безопасный, второй — радикальный, но надёжный. На терминальном сервере то же самое делают по профилям всех пользователей, обычно скриптом. Инструкция подходит для платформы 8.3 и любой конфигурации: кэш — механизм платформы, а не БП, ЗУП или УТ.

Когда чистить кэш и что сделать до очистки

Тонкий клиент хранит на диске копию описания конфигурации: формы, модули, картинки, макеты. Так база открывается быстрее — не нужно каждый раз тянуть всё с сервера. Проблемы начинаются, когда эта копия расходится с тем, что лежит в базе.

Типичные признаки устаревшего кэша:

  • 🔄 после обновления конфигурации у одного пользователя старые формы, у остальных — новые;
  • 🧩 при входе или открытии формы падает Ошибка формата потока;
  • 🖼 пропали или «поехали» картинки, кнопки, команды на панели;
  • 🐢 база стала открываться заметно дольше, чем у коллег на таком же компьютере;
  • ❌ клиент закрывается сразу после ввода пароля без внятного сообщения.

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

Перед очисткой:

  1. Закройте все окна 1С на этом компьютере, включая Конфигуратор. Проверьте в диспетчере задач, что не висят процессы 1cv8c.exe и 1cv8.exe.
  2. Убедитесь, что знаете логин и пароль от базы. Кэш их не хранит, но после очистки платформа может не подставить последнее имя пользователя.
  3. Запомните, к каким базам подключён пользователь. Список баз хранится отдельно и при очистке кэша не пропадает, но лишняя страховка не помешает.
Диагностика: выберите симптом

Сравнение способов очистки кэша 1С

СпособКогда выбиратьЧто удаляетсяРиски
Параметр /ClearCacheСбой в одной базе, пользователь без прав администратора WindowsКэш одной базыПочти нет
Удаление папок в AppDataСбой в нескольких базах, /ClearCache не помогКэш всех баз пользователяСбросятся локальные настройки платформы, если удалить и файлы .pfl
Сброс настроек пользователяКривые формы и отборы именно у одного пользователяСохранённые в базе настройки форм и отчётовПользователь потеряет свои варианты отчётов и раскладку форм
Скрипт на терминальном сервереМного пользователей, регулярные сбои после обновленийКэш всех профилейОборвёт работу тех, кто сидит в 1С

Способ 1. Параметр /ClearCache в окне запуска 1С

Этот способ не требует искать скрытые папки и работает у обычного пользователя без прав администратора.

  1. Запустите 1С. Откроется окно запуска со списком информационных баз.
  2. Выделите нужную базу и нажмите «Изменить».
  3. Пройдите страницы мастера кнопкой «Далее» до последней — с параметрами запуска.
  4. В поле «Дополнительные параметры запуска» впишите /ClearCache.
  5. Нажмите «Готово» и войдите в базу.

Платформа удалит кэш этой базы и загрузит метаданные заново. Первый вход будет медленнее обычного: для типовой БП 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. Закройте все сеансы 1С на компьютере.
  2. Нажмите Win + R, введите %APPDATA%\1C\1cv8 и нажмите Enter.
  3. Удалите папки с длинными именами вида 3f2a9c1e-7b4d-4e8a-9c21-5d6e7f8a9b0c. Каждая такая папка — кэш одной базы.
  4. Повторите то же для %LOCALAPPDATA%\1C\1cv8.
  5. Запустите базу и дождитесь первого входа.

Не трогайте папку %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 их не затронет, и «кривая» форма останется кривой.

Признак: проблема у пользователя повторяется на любом компьютере, с которого он входит в базу. Значит, искать нужно в базе.

Что можно сделать:

  1. Сам пользователь. В открытой форме вызовите меню «Ещё» и выберите «Изменить форму». В окне настройки откройте его меню «Ещё» и выберите «Установить стандартные настройки» — так сбрасывается раскладка одной формы. Для отчёта есть отдельная команда сброса настроек в меню «Ещё» формы отчёта.
  2. Пользователь, вся программа. В главном меню (кнопка с тремя полосками в заголовке окна) откройте «Вид» и выберите «Установить стандартные настройки». Сбросятся настройки интерфейса.
  3. Администратор базы. В типовых конфигурациях на БСП (БП 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. В «Диспетчере задач» на вкладке «Пользователи» убедитесь, что у него нет процессов 1С. Если есть — попросите сохраниться и выйти.
  2. Откройте его папки Roaming\1C\1cv8 и Local\1C\1cv8 и удалите GUID-папки.
  3. Попросите войти в базу заново.

Автоматическая очистка кэша и профилактика

Если после каждого обновления конфигурации кэш приходится чистить у половины отдела, проще поручить это скрипту.

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С. Такие сбои решают через администратора сервера: там есть свой серверный кэш, и его очистка требует остановки службы с обрывом всех сеансов.

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

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