Кэш 1С на диске: где лежит, что в нём можно трогать и как его сбросить

· 9 мин

Содержание

Кэш 1С на Windows лежит в профиле пользователя: C:\Users\<имя>\AppData\Local\1C\1cv8\ и C:\Users\<имя>\AppData\Roaming\1C\1cv8\. На Linux это скрытые каталоги в домашней папке: ~/.1cv8/ и ~/.1C/. Внутри — папки с длинными именами из букв и цифр, по одной на каждую базу.

Типичная ситуация: пользователь жалуется, что форма «ушла в сторону», справочник показывает старые значения, а после обновления конфигурации вылезает странная ошибка. Админ чистит кэш — и всё работает. Ниже — куда именно смотреть и что при этом нельзя ломать.

Зачем платформе кэш и когда его пора чистить

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

Минус в том, что копия может устареть. Кэш пора сбрасывать, если:

  • 🔧 после обновления конфигурации или расширения форма выглядит по-старому;
  • ⚠️ при входе появляется ошибка, которой нет у соседей по офису;
  • 📂 в списке баз остались мёртвые записи, а старые базы тормозят запуск;
  • 💾 папка профиля 1С разрослась до десятков гигабайт;
  • 🖥️ у одного пользователя «не работает », а у остальных на тех же правах всё нормально.

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

Пути к кэшу 1С на Windows

На Windows есть два основных места. Оба лежат в профиле пользователя, поэтому у каждого сотрудника свой кэш.

КаталогЧто там
%LOCALAPPDATA%\1C\1cv8\Кэш баз: подпапки с GUID, копии метаданных и форм
%APPDATA%\1C\1cv8\Пользовательские настройки платформы, файлы *.pfl
%APPDATA%\1C\1CEStart\Список баз в окне запуска (ibases.v8i)
%TEMP%Временные файлы сеансов, выгрузки, вложения

Как быстро открыть папку: нажмите Win+R, вставьте %LOCALAPPDATA%\1C\1cv8 и нажмите Enter. Если папок AppData не видно в проводнике, включите показ скрытых элементов.

Как понять, какая папка относится к какой базе

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

  1. Сравните даты изменения. Откройте нужную базу, поработайте минуту и посмотрите, какая подпапка обновилась.
  2. Удалите кэш целиком. Платформа создаст всё заново при следующем входе в любую базу.

Второй способ проще и надёжнее. Для рабочей станции бухгалтера это нормальная практика.

Кэш на сервере 1С

Серверный кластер тоже хранит служебные данные: каталог кластера (по умолчанию внутри srvinfo) содержит файлы реестра и сеансовые данные. Их вручную не чистят. Для сервера есть штатные средства — консоль администрирования кластера и перезапуск рабочих процессов. Ручное удаление файлов в srvinfo при работающем сервере может испортить реестр кластера.

Где искать кэш 1С на Linux

Принцип тот же: всё лежит в домашнем каталоге пользователя, под которым запущен клиент. Каталоги скрытые, у них точка в начале имени.

ls -la ~/.1cv8/
ls -la ~/.1C/
du -sh ~/.1cv8/* ~/.1C/* 2>/dev/null

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

Временные файлы на Linux лежат в /tmp и в каталоге, который задан переменной TMPDIR, если она определена.

Серверная часть 1С на Linux работает под отдельной учётной записью. Её домашний каталог содержит данные кластера. Это не клиентский кэш, и чистить его «заодно» нельзя.

Как очистить кэш 1С по шагам

Идём от безопасного к радикальному.

Способ 1. Штатный сброс через запуск 1С

Платформа умеет сама очищать кэш клиент-серверных вызовов. Для этого есть параметр командной строки /ClearCache. Добавьте его в строку запуска ярлыка:

"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /ClearCache

Путь к программе у вас может отличаться: зависит от разрядности и версии платформы. Проще скопировать существующий ярлык и дописать параметр в поле «Объект».

Способ 2. Ручное удаление папок кэша

  1. Закройте все окна 1С. Проверьте в диспетчере задач, что не осталось процессов 1cv8.exe и 1cv8c.exe.
  2. Откройте %LOCALAPPDATA%\1C\1cv8\.
  3. Удалите подпапки с GUID-именами. Файл 1cv8strt.pfl в корне можно не трогать.
  4. Повторите то же для %APPDATA%\1C\1cv8\, если нужен ещё и сброс настроек окон.
  5. Запустите 1С. Первый вход будет чуть медленнее обычного — кэш собирается заново.

Способ 3. Скриптом для нескольких машин

Когда в офисе 30 рабочих мест, ходить по компьютерам незачем. Подойдёт простой bat-файл в автозагрузку или в задание планировщика:

@echo off
taskkill /F /IM 1cv8.exe >nul 2>&1
taskkill /F /IM 1cv8c.exe >nul 2>&1
for /d %%D in ("%LOCALAPPDATA%\1C\1cv8\*") do rd /s /q "%%D"
echo Кэш 1С очищен

Скрипт принудительно завершает 1С. Запускайте его вне рабочего времени, иначе у людей пропадут несохранённые документы.

Перед массовым удалением проверьте скрипт на одной машине. Ошибка в пути с rd /s /q стоит дорого.

Перед очисткой кэша
Выполнено: 0 / 5

Что в кэше можно удалять, а что лучше оставить

Не всё содержимое профиля одинаково безопасно. Разделим на три группы.

ЧтоМожно удалять?Что будет
Подпапки с GUID в Local\1C\1cv8ДаКэш соберётся заново, вход станет медленнее один раз
Временные файлы в %TEMP%Да, при закрытой 1СОсвободится место
*.pfl в RoamingС оговоркойСбросятся настройки окон и панелей
ibases.v8iОсторожноПропадёт список баз в окне запуска
Каталоги базы с файлом 1Cv8.1CDНетЭто сама файловая база, а не кэш
srvinfo сервераНет вручнуюМожно повредить реестр кластера

Главная ловушка — перепутать кэш и файловую базу . Если база лежит в папке на диске и там есть файл 1Cv8.1CD, это данные. Кэш — это только то, что находится в профиле пользователя.

Если не уверены, что за папка перед вами, не удаляйте. Сначала переименуйте её, добавив _old, и проверьте работу. Через неделю без проблем — удаляйте.

Список баз после удаления настроек

Если удалили ibases.v8i, окно запуска окажется пустым. Базы вернутся, если добавить их заново через кнопку «Добавить». Поэтому копию файла лучше сделать заранее — это один файл в пару килобайт.

Что делать, если после очистки кэша что-то пошло не так

Чаще всего после чистки ничего плохого не происходит. Но три ситуации встречаются регулярно.

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

Как не дать кэшу снова разрастись

Один раз почистить — полдела. Дальше полезно настроить так, чтобы проблема не возвращалась.

  • 📅 Раз в квартал запускайте скрипт очистки на рабочих станциях. Время — ночь или обед.
  • 💽 Если профили пользователей лежат на системном диске с малым объёмом, перенесите их на отдельный раздел.
  • 🧹 Настройте очистку %TEMP% по расписанию: старые файлы выгрузок накапливаются годами.
  • 🔄 После каждого крупного обновления платформы сбрасывайте кэш на тестовой машине и проверяйте работу.
  • 👥 На терминальном сервере удаляйте старые профили. Там кэш каждого сотрудника хранится отдельно, и места уходит много.

Отдельно про терминальный сервер. Если у вас 20 пользователей, а кэш одной базы занимает по 1,5 ГБ на человека, получается около 30 ГБ только на кэш. Ещё полгода без очистки — и системный диск заканчивается неожиданно.

Для быстрого запуска иногда помогает и другое: держать кэш на быстром диске (SSD вместо HDD). Разница заметна именно при открытии больших форм и отчётов. Про оборудование стоит подумать, если база тормозит у всех, а не у одного.

Как понять, что кэш разросся

Проверить размер можно за минуту. В проводнике щёлкните правой кнопкой по папке 1cv8 в Local\1C и выберите «Свойства». Для быстрой оценки по всем пользователям терминального сервера удобна команда PowerShell:

Get-ChildItem "C:\Users\*\AppData\Local\1C\1cv8" -Directory -ErrorAction SilentlyContinue |
  ForEach-Object { "{0}`t{1:N0} МБ" -f $_.FullName, ((Get-ChildItem $_.FullName -Recurse -File -ErrorAction SilentlyContinue | Measure-Object Length -Sum).Sum / 1MB) }

Ориентиры из практики: до 300-500 МБ на пользователя — нормально. Больше 2 ГБ — повод проверить, не копятся ли папки от давно удалённых баз.

Кэш и расширения

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

Особенности веб-клиента и тонкого клиента

В тонком клиенте всё описанное выше работает как есть. Веб-клиент кэширует данные в самом браузере. Там помогает очистка кэша браузера для адреса публикации: например, через сочетание Ctrl+Shift+Del в Chrome или Edge. Каталоги 1С в профиле веб-клиента не затрагиваются, потому что платформа на машине пользователя не запускается.

Если у пользователя в веб-клиенте «залипла» старая версия формы, выберите период «за всё время» только для кэшированных файлов. Пароли и cookie трогать не нужно — иначе придётся входить заново на всех сайтах.

Если не помогло

Кэш сброшен, а проблема осталась? Идите по списку:

  1. Проверьте, совпадает ли версия платформы на клиенте с версией на сервере.
  2. Попробуйте зайти под другим пользователем Windows на той же машине. Работает? Значит, дело в профиле.
  3. Запустите базу с ключом /ClearCache и без расширений — так видно, не расширение ли ломает форму.
  4. Зайдите в базу с другого компьютера. Если и там то же самое, источник — база или сервер, а не клиент.

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

Можно ли удалить весь каталог 1C в AppData?
Можно, если все пользователи вышли из 1С и вы согласны потерять настройки окон и список баз. Данные баз при этом не затрагиваются.
Влияет ли очистка кэша на данные в базе?
Нет. Документы, справочники и регистры лежат в самой базе. Кэш — лишь копия служебной информации на клиентской машине.
Нужно ли чистить кэш после обновления конфигурации?
Обычно платформа обновляет его сама. Если после обновления у кого-то остались старые формы или ошибки, сбросьте кэш именно у этого пользователя.
Почему папка кэша занимает несколько гигабайт?
Накапливается кэш по всем базам, к которым пользователь когда-либо подключался. Копятся и старые GUID-папки от удалённых баз. Их можно смело убирать.
Отличается ли кэш в файловом и клиент-серверном режимах?
Принцип одинаковый: клиентский кэш в профиле пользователя. Различие в том, что в клиент-серверном режиме есть ещё серверные данные кластера, и их вручную не трогают.
Как найти папку кэша, если AppData не отображается?
Нажмите Win+R и введите путь с переменной, например %LOCALAPPDATA%\1C\1cv8. Проводник откроет нужную папку, даже если скрытые элементы выключены.