Чистим кэш и временные папки 1С:Предприятия 8.3 без потери настроек
Содержание
Чтобы очистить временные файлы
1С, закройте программу и удалите папки с длинными именами вида a1b2c3d4-… в каталогах %APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8. Второй способ — один раз запустить базу с параметром /ClearCache. Список баз и данные при этом не пострадают.
Чистка нужна, когда после обновления конфигурации видны старые формы, база открывается с ошибкой, программа тормозит на ровном месте или на диске профиля пропали гигабайты.
Где хранятся временные файлы и кэш платформы
Платформа 1С:Предприятие 8.3 складывает служебные данные в профиль пользователя Windows. Для каждой информационной базы создаётся своя папка, имя которой — идентификатор GUID из 36 символов, например 5f2c9a1e-7d3b-4c8a-9e10-2b6f4d8a1c33.
Основные места:
| Каталог | Что там лежит | Можно чистить? |
|---|---|---|
%LOCALAPPDATA%\1C\1cv8\<GUID> | кэш конфигурации: метаданные, формы, модули | да, это главный кэш |
%APPDATA%\1C\1cv8\<GUID> | локальные данные клиента по базе | да |
%APPDATA%\1C\1cv8\*.pfl | файлы настроек запуска и клиента | нет |
%APPDATA%\1C\1CEStart\ibases.v8i | список информационных баз | нет, ни в коем случае |
%TEMP% | временные файлы сеанса (выгрузки, отчёты, вложения) | да, при закрытой 1С |
В проводнике %APPDATA% раскрывается в C:\Users\<имя>\AppData\Roaming, а %LOCALAPPDATA% — в C:\Users\<имя>\AppData\Local. Папка AppData скрыта, поэтому проще вставить переменную прямо в адресную строку проводника или в окно Win+R.
Как понять, какая GUID-папка относится к какой базе? По имени — никак. Ориентируйтесь на дату изменения: папка базы, которую вы открывали последней, будет свежей. Но обычно выяснять не нужно: безопаснее удалить все GUID-папки, кэш пересоберётся сам.
На Linux кэш лежит в домашнем каталоге пользователя, в скрытой папке ~/.1cv8. Логика та же: внутри каталоги с GUID-именами по числу баз.
Что занимает место
Кэш одной базы БП 3.0 или ЗУП 3.1 весит от сотен мегабайт до нескольких гигабайт. Если пользователь работал с десятком баз, включая давно удалённые, в профиле копятся мёртвые папки. Платформа их сама не убирает. На терминальном сервере с 30 пользователями это легко превращается в десятки гигабайт.
Как удалить кэш 1С вручную в профиле пользователя
Ручная очистка временных файлов 1С занимает пару минут и подходит для разовой проблемы на одном компьютере.
- Закройте все окна 1С: и режим «Предприятие», и Конфигуратор. Проверьте в диспетчере задач, что нет процессов
1cv8.exe,1cv8c.exeи1cv8s.exe. - Нажмите
Win+R, введите%LOCALAPPDATA%\1C\1cv8и нажмите Enter. - Выделите все папки с GUID-именами и удалите их. Файлы в корне каталога не трогайте.
- Повторите то же для
%APPDATA%\1C\1cv8. Здесь в корне лежат файлы.pfl— их оставьте. - Откройте
%TEMP%и удалите всё, что удаляется. Файлы, занятые другими программами, Windows пропустит — это нормально. - Запустите 1С и откройте базу. Первый вход будет дольше обычного.
Каталог %APPDATA%\1C\1CEStart не трогайте. В нём файл ibases.v8i со списком баз. Удалите его — и в окне запуска окажется пусто, пути к базам придётся добавлять заново.
Если удаление папки не проходит с сообщением, что файл занят, значит, 1С ещё работает. Иногда процесс висит в фоне после аварийного закрытия. Завершите его в диспетчере задач и повторите.
Сброс кэша одной конкретной базы
Если проблема только в одной базе, а остальные работают нормально, чистить всё не обязательно. Отсортируйте GUID-папки в %LOCALAPPDATA%\1C\1cv8 по дате изменения, закройте 1С, откройте проблемную базу и снова закройте. Папка с самой свежей датой — её. Удалите только эту папку и одноимённую в %APPDATA%\1C\1cv8.
Очистка кэша 1С через окно запуска: параметр /ClearCache
Этот способ не требует лазить по скрытым папкам. Платформа сама сбросит кэш базы при старте.
- В окне запуска 1С выделите нужную базу и нажмите
Изменить. - Нажимайте
Далее, пока не дойдёте до последней страницы мастера. - В поле
Дополнительные параметры запускавпишите/ClearCache. - Нажмите
Готовои откройте базу. - После успешного входа снова зайдите в
Изменитьи сотрите параметр.
Пункт 5 важен. Если оставить /ClearCache навсегда, кэш будет сбрасываться при каждом запуске, и база станет открываться заметно медленнее, особенно по сети.
Тот же параметр работает в командной строке и в ярлыке:
"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /F"D:\Bases\Buh" /ClearCache
Для клиент-серверной базы вместо /F указывают /S"сервер\имябазы".
/ClearCache чистит кэш только той базы, которую вы открываете. Мёртвые папки от старых баз он не удалит — для них нужна ручная или скриптовая очистка.
Что выбрать: сравнение способов
| Способ | Когда подходит | Минусы |
|---|---|---|
| Ручное удаление GUID-папок | один ПК, нужно освободить место | легко задеть лишнее |
/ClearCache в окне запуска | глюк одной базы после обновления | не убирает старые папки |
| bat- или PowerShell-скрипт | много пользователей, терминальный сервер | нужно аккуратно написать и проверить |
| Очистка кэша сервера 1С | сбои у всех пользователей сразу | требует остановки службы |
Сторонние утилиты и готовые скрипты очистки
В сети встречаются утилиты для чистки кэша 1С под разными названиями, в том числе chclean. Это не инструменты фирмы 1С и не часть платформы. В дистрибутиве 1С:Предприятия отдельной программы для очистки временных файлов нет.
Прежде чем запускать чужую утилиту, ответьте на три вопроса:
- 🔍 Какие папки она удаляет? Если в описании нет точного списка путей — не запускайте.
- 🔐 Требует ли права администратора? Для очистки своего профиля они не нужны. Утилита, которая просит повышенных прав без причины, — повод насторожиться.
- 📦 Откуда скачана? Исполняемый файл с форума — классический способ подцепить вредонос, а у бухгалтера на компьютере обычно стоит электронная подпись и банк-клиент.
Почти всё, что делают такие утилиты, укладывается в 10 строк скрипта, который вы можете прочитать целиком. Готовый вариант — в следующем разделе.
Автоматизация очистки временных файлов 1С
Когда пользователей много, ручная чистка не работает . Удобнее положить скрипт и запускать его по расписанию или при входе в систему.
Скрипт для текущего пользователя (PowerShell)
Скрипт удаляет только папки, имя которых точно совпадает с шаблоном GUID. Файлы .pfl и список баз он не трогает.
# Очистка кэша 1С для текущего пользователя
if (Get-Process 1cv8, 1cv8c -ErrorAction SilentlyContinue) {
Write-Host "1С запущена, очистка отменена"
exit 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}$'
foreach ($root in "$env:LOCALAPPDATA\1C\1cv8", "$env:APPDATA\1C\1cv8") {
if (Test-Path $root) {
Get-ChildItem $root -Directory |
Where-Object { $_.Name -match $guid } |
Remove-Item -Recurse -Force -ErrorAction SilentlyContinue
}
}
Write-Host "Кэш 1С очищен"
Проверка процессов в начале защищает от частичной очистки, когда часть файлов занята. Сохраните скрипт как clear1c.ps1 и запускайте через powershell -ExecutionPolicy Bypass -File clear1c.ps1.
Вариант на bat
Если PowerShell запрещён политиками, подойдёт bat. Он грубее: удаляет все подпапки, у которых в имени есть дефис, поэтому сначала посмотрите, нет ли в каталогах посторонних папок.
@echo off
tasklist /FI "IMAGENAME eq 1cv8c.exe" | find /I "1cv8c.exe" >nul && exit /b 1
tasklist /FI "IMAGENAME eq 1cv8.exe" | find /I "1cv8.exe" >nul && exit /b 1
for /d %%D in ("%LOCALAPPDATA%\1C\1cv8\*-*") do rd /s /q "%%D"
for /d %%D in ("%APPDATA%\1C\1cv8\*-*") do rd /s /q "%%D"
del /q /f "%TEMP%\*.*" 2>nul
Как запускать по расписанию
- 🗓 Планировщик заданий Windows. Создайте задачу с триггером «При входе в систему» и действием «Запуск программы» со скриптом. Для очистки своего профиля задача должна выполняться от имени того же пользователя.
- 🖥 Терминальный сервер . Скрипт выполняйте при входе каждого пользователя: через групповую политику (сценарий входа) или задачу планировщика для группы пользователей. Чистить чужие профили из-под администратора можно, но только ночью, когда все вышли.
- ⏱ Частота. Ежедневная очистка не нужна и только замедлит утренний запуск. Разумно — раз в неделю или раз в месяц, плюс разово после обновления конфигурации.
Перед очисткой на терминальном сервере убедитесь, что в системе нет активных сеансов 1С. Удаление кэша у работающего пользователя может закончиться ошибкой и аварийным закрытием его сеанса.
Кэш на сервере 1С:Предприятия
Если ошибка воспроизводится у всех пользователей сразу и на разных компьютерах, чистка клиентского кэша не поможет. Причина может быть в сеансовых данных кластера.
Сервер хранит их в каталоге srvinfo. Где он находится, видно в свойствах службы «Агент сервера 1С:Предприятия 8.3»: путь указан после ключа -d в строке запуска. Внутри — папка reg_1541 (по номеру порта менеджера кластера), а в ней каталоги snccntx с данными сеансов.
Порядок действий:
- Предупредите пользователей и дождитесь, пока все выйдут из баз. При остановке службы все сеансы на сервере оборвутся, несохранённые документы будут потеряны.
- Остановите службу агента сервера 1С.
- Скопируйте каталог
reg_1541в резервное место. - Удалите внутри него только папки, имя которых начинается на
snccntx. - Запустите службу и проверьте вход в базы.
Не удаляйте reg_1541 целиком и не трогайте файл 1CV8Clst.lst. В нём реестр кластера: список баз, рабочих серверов, администраторов. Без него кластер придётся настраивать заново.
Делать это лучше в нерабочее время: вечером или в выходной. Если после очистки сеансовых данных ошибка осталась, дело не в кэше — смотрите технологический журнал и журнал регистрации.
/ClearCache в окне запуска. Не помогло — удалите её GUID-папку вручную.%TEMP%.snccntx на сервере 1С.Как очистка кэша влияет на скорость работы 1С
Кэш нужен, чтобы клиент не скачивал описание конфигурации при каждом запуске. Поэтому эффект от очистки двоякий.
Что становится лучше:
- ✅ пропадают «призраки» после обновления: старые формы, исчезнувшие реквизиты, ошибки при открытии документов;
- ✅ уходят сбои из-за повреждённого кэша после аварийного выключения или переполненного диска;
- ✅ освобождается место в профиле, а с ним ускоряется вход в Windows с перемещаемыми профилями.
Что становится хуже, временно:
- 🐢 первый запуск каждой базы идёт дольше — от нескольких секунд до пары минут, по медленному каналу ещё больше;
- 🐢 первое открытие часто используемых форм и отчётов тоже чуть медленнее.
Со второго-третьего запуска всё возвращается в норму. Если 1С медленно работает постоянно, а не только после очистки, кэш тут ни при чём. Тогда ищите причину в другом: блокировки, нехватка памяти на сервере, медленная сеть до файловой базы, неактуальная статистика СУБД.
Для файловой базы, открытой по сети, первый запуск после очистки кэша особенно заметен: клиент заново читает конфигурацию через сетевую папку. Чистите кэш в начале дня не у всех сразу, а по необходимости.
Ошибки, из-за которых чистка вредит
Типичные промахи при обслуживании, после которых приходится восстанавливать работу.
- ❌ Удалили папку
1Cв профиле целиком. Кэш очистится, но вместе с ним пропадут список баз и настройки запуска. Список баз восстанавливается только вручную или из копииibases.v8i. - ❌ Чистили при открытой 1С. Часть файлов занята, удалится не всё, а запущенный сеанс может упасть. Результат непредсказуем.
- ❌ Удалили файлы в каталоге самой базы. В папке файловой базы лежат
1Cv8.1CD(это и есть ваши данные), журнал регистрации и индекс полнотекстового поиска. К временным файлам кэша они отношения не имеют. Удалите1Cv8.1CD— потеряете базу. - ❌ Оставили
/ClearCacheв параметрах запуска. База каждый раз собирает кэш заново и открывается медленно, а пользователи жалуются на «тормоза после чистки». - ❌ Удалили на сервере весь
srvinfo. Кластер теряет реестр, базы пропадают из консоли администрирования. - ❌ Запустили непроверенную утилиту от администратора. Кроме кэша она могла удалить что угодно.
Если после очистки база не открывается, кэш почти наверняка не виноват: он пересобирается сам. Проверьте, на месте ли база в списке, и доступна ли её папка или сервер.