Кэш 1С на диске: где лежит, что в нём можно трогать и как его сбросить
Содержание
Кэш 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С
Серверный кластер тоже хранит служебные данные: каталог кластера (по умолчанию внутри 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С. Проверьте в диспетчере задач, что не осталось процессов
1cv8.exeи1cv8c.exe. - Откройте
%LOCALAPPDATA%\1C\1cv8\. - Удалите подпапки с GUID-именами. Файл
1cv8strt.pflв корне можно не трогать. - Повторите то же для
%APPDATA%\1C\1cv8\, если нужен ещё и сброс настроек окон. - Запустите 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 стоит дорого.
Что в кэше можно удалять, а что лучше оставить
Не всё содержимое профиля одинаково безопасно. Разделим на три группы.
| Что | Можно удалять? | Что будет |
|---|---|---|
Подпапки с GUID в Local\1C\1cv8 | Да | Кэш соберётся заново, вход станет медленнее один раз |
Временные файлы в %TEMP% | Да, при закрытой 1С | Освободится место |
*.pfl в Roaming | С оговоркой | Сбросятся настройки окон и панелей |
ibases.v8i | Осторожно | Пропадёт список баз в окне запуска |
Каталоги базы с файлом 1Cv8.1CD | Нет | Это сама файловая база, а не кэш |
srvinfo сервера | Нет вручную | Можно повредить реестр кластера |
Главная ловушка — перепутать кэш и файловую базу
. Если база лежит в папке на диске и там есть файл 1Cv8.1CD, это данные. Кэш — это только то, что находится в профиле пользователя.
Если не уверены, что за папка перед вами, не удаляйте. Сначала переименуйте её, добавив _old, и проверьте работу. Через неделю без проблем — удаляйте.
Список баз после удаления настроек
Если удалили ibases.v8i, окно запуска окажется пустым. Базы вернутся, если добавить их заново через кнопку «Добавить». Поэтому копию файла лучше сделать заранее — это один файл в пару килобайт.
Что делать, если после очистки кэша что-то пошло не так
Чаще всего после чистки ничего плохого не происходит. Но три ситуации встречаются регулярно.
ibases.v8i или вся папка 1CEStart. Верните файл из копии либо добавьте базы заново кнопкой «Добавить».*.pfl. Расположение окон придётся настроить заново. Данные в базе не пострадали.1cv8.exe, затем повторите запуск.Как не дать кэшу снова разрастись
Один раз почистить — полдела. Дальше полезно настроить так, чтобы проблема не возвращалась.
- 📅 Раз в квартал запускайте скрипт очистки на рабочих станциях. Время — ночь или обед.
- 💽 Если профили пользователей лежат на системном диске с малым объёмом, перенесите их на отдельный раздел.
- 🧹 Настройте очистку
%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 трогать не нужно — иначе придётся входить заново на всех сайтах.
Если не помогло
Кэш сброшен, а проблема осталась? Идите по списку:
- Проверьте, совпадает ли версия платформы на клиенте с версией на сервере.
- Попробуйте зайти под другим пользователем Windows на той же машине. Работает? Значит, дело в профиле.
- Запустите базу с ключом
/ClearCacheи без расширений — так видно, не расширение ли ломает форму. - Зайдите в базу с другого компьютера. Если и там то же самое, источник — база или сервер, а не клиент.
Частые вопросы
Можно ли удалить весь каталог 1C в AppData?
Влияет ли очистка кэша на данные в базе?
Нужно ли чистить кэш после обновления конфигурации?
Почему папка кэша занимает несколько гигабайт?
Отличается ли кэш в файловом и клиент-серверном режимах?
Как найти папку кэша, если AppData не отображается?
Win+R и введите путь с переменной, например %LOCALAPPDATA%\1C\1cv8. Проводник откроет нужную папку, даже если скрытые элементы выключены.