Чистим папки 1С от мусора: кэш, временные файлы и блокировки
Содержание
Очистить каталог 1С безопасно можно в двух местах: в профиле пользователя (кэш и список баз) и во временной папке Windows. Файл самой базы 1Cv8.1CD трогать не нужно: «мусор» лежит рядом с ним, а не внутри него. Кэш пересоздаётся при следующем запуске, поэтому удаление не ломает данные, но сеанс придётся закрыть.
Слово «каталог» в 1С означает три разных вещи: папку с файловой базой, профиль пользователя с кэшем и служебный каталог сервера. Чистить их нужно по-разному, и последствия у ошибки разные. Ниже разобран каждый случай.
Какие папки 1С можно чистить, а какие нельзя
Перед удалением определите, что именно лежит в папке. Полезно держать в голове три зоны.
| Зона | Где лежит | Можно чистить |
|---|---|---|
| Кэш клиента | профиль пользователя Windows | да, целиком |
| Временные файлы | папка %TEMP% | да, при закрытом 1С |
| Папка файловой базы | выбранный вами каталог | только служебные файлы блокировок |
| Каталог сервера 1С | srvinfo и вложенные | только по регламенту, при остановленной службе |
Кэш в профиле пользователя
Клиент 1С хранит служебные данные в двух местах:
%APPDATA%\1C\1cv8%LOCALAPPDATA%\1C\1cv8
Вставьте путь в адресную строку проводника, он раскроет переменную. Внутри будут папки с именами-идентификаторами вида xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx. Каждая соответствует одной базе. В них лежит кэш метаданных, форм и результатов серверных вызовов.
Список ваших баз хранится отдельно, в %APPDATA%\1C\1CEstart (файл ibases.v8i). Если удалить этот файл, из окна запуска пропадёт список информационных баз. Базы останутся на диске, но добавлять их придётся заново. Для чистки кэша этот файл трогать не надо.
Что лежит рядом с файловой базой
В папке файловой базы главный файл — 1Cv8.1CD. Рядом бывают служебные файлы, в том числе файлы блокировок. Файл .1CD удалять и переименовывать нельзя: это и есть вся ваша база.
Если вы не уверены, что за файл перед вами, не удаляйте его. Скопируйте всю папку базы в безопасное место и только потом разбирайтесь.
Ручная очистка кэша через проводник
Этот способ подходит для одного компьютера и для случаев, когда 1С ведёт себя странно: показывает старую форму, не видит новый реквизит после обновления, долго открывает список.
- Закройте все окна 1С, включая Конфигуратор. Проверьте в диспетчере задач, что процессов
1cv8.exeи1cv8c.exeне осталось. - Откройте
%APPDATA%\1C\1cv8и удалите вложенные папки с идентификаторами. - Повторите то же для
%LOCALAPPDATA%\1C\1cv8. - Запустите 1С. Первое открытие базы будет заметно медленнее обычного: кэш строится заново.
💡 Если нужно сбросить кэш только одной базы, найдите её папку по дате изменения: после работы в нужной базе она окажется самой свежей. Остальные не трогайте.
Часть файлов Windows не даст удалить, пока они заняты процессом. Это сигнал, что 1С где-то ещё запущена (в том числе в чужом сеансе, если сервер терминальный).
Командная строка и ярлык: очистка без ручного поиска папок
Когда чистить нужно регулярно или на нескольких машинах, ручной путь неудобен. Есть два приёма.
Параметр запуска /ClearCache
Платформа умеет сбросить кэш сама. Добавьте параметр в строку запуска ярлыка: в свойствах ярлыка в поле «Объект» после пути к 1cv8.exe допишите /ClearCache. Либо укажите его в настройках информационной базы в окне запуска, в поле дополнительных параметров запуска.
Кэш будет очищен при старте именно этой базы. Остальные базы не затрагиваются. После одного запуска параметр можно убрать, иначе каждый вход будет холодным.
Файл .bat для массовой очистки
Если нужно почистить кэш
всех баз пользователя, сработает короткий сценарий. Сохраните его как clear1c.bat:
@echo off
taskkill /f /im 1cv8.exe 2>nul
taskkill /f /im 1cv8c.exe 2>nul
for /d %%i in ("%APPDATA%\1C\1cv8\*") do rd /s /q "%%i"
for /d %%i in ("%LOCALAPPDATA%\1C\1cv8\*") do rd /s /q "%%i"
echo Готово
Первые две строки принудительно закрывают 1С. Несохранённые данные в открытых окнах пропадут, поэтому запускайте файл, когда пользователь вышел из программы. Переменные %APPDATA% и %LOCALAPPDATA% раскрываются под текущим пользователем, так что скрипт чистит только его профиль.
Если вам нужно запускать файл на старте или по расписанию, повесьте его в планировщик заданий Windows на вход пользователя в систему.
Кэш форм и отчётов: когда ускоряет, а когда нет
Чистка кэша помогает не от «общей медлительности», а в конкретных ситуациях. Вот признаки, что она нужна:
- 🔄 после обновления конфигурации форма открывается в старом виде или с ошибкой;
- 🧩 новые реквизиты и колонки не появляются в списке;
- ⚙️ после смены настроек отчёт показывает прежний вариант;
- 🐌 после переноса базы на другой сервер клиент долго «просыпается».
Если база тормозит из-за объёма данных, индексов или нехватки памяти на сервере, чистка кэша не поможет. Это быстрый и бесплатный тест: сбросили, запустили, сравнили. Не изменилось — причину ищите в другом месте (замеры в технологическом журнале, нагрузка на диск, настройки сервера).
После очистки первые открытия форм и отчётов идут медленнее обычного. Это нормально и проходит само. Не принимайте замедление за новую поломку и не повторяйте очистку по кругу.
Блокировки и временные замки: что удалять и в каком случае
Здесь легче всего навредить, поэтому порядок строгий.
Файловая база
Если пользователь вышел некорректно (завис компьютер, пропало питание), рядом с базой может остаться служебный файл блокировки. Из-за него программа иногда думает, что кто-то ещё работает с базой, и отказывает во входе или в монопольном режиме.
Порядок действий:
- Убедитесь, что в базе никто не работает . Проверьте это у каждого пользователя и в диспетчере задач на общем компьютере, где лежит база.
- Сделайте копию всей папки базы.
- Удалите только файлы блокировок. Файл
1Cv8.1CDне трогайте ни при каких условиях. - Зайдите в базу и проверьте, что она открывается.
Если в базе реально кто-то работает, удаление блокировки приведёт к конфликту и может повредить данные.
Блокировки на сервере
В клиент-серверной базе блокировки живут на стороне сервера, и удалять файлы руками не нужно. Если сеанс завис, откройте консоль администрирования кластера, найдите сеанс пользователя в разделе сеансов и завершите его оттуда. Так сервер сам освободит блокировки и не потеряет согласованность.
Принудительное завершение оборвёт работу пользователя. Предупредите его и делайте это вне рабочего пика.
Терминальный сервер и серверный каталог
Терминальный режим
На сервере удалённых рабочих столов у каждого пользователя свой профиль, а значит, свой кэш. Чистка «у себя» на других не действует. Варианты:
- каждый чистит свой профиль после выхода из сеанса, либо запускает
.batиз предыдущего раздела; - администратор обходит профили в
C:\Users\и чистит папкиAppData\Roaming\1C\1cv8иAppData\Local\1C\1cv8у нужных учётных записей, когда те отключены; - в крупных организациях очистку добавляют в сценарий входа или выхода по групповой политике.
Если вы запускаете скрипт от имени администратора, убедитесь, что он смотрит в профиль нужного пользователя, а не в свой. Переменные окружения раскроются под тем, кто запустил.
Не запускайте принудительное закрытие taskkill /im 1cv8.exe на терминальном сервере без фильтра по пользователю: так вы закроете 1С у всех сразу. Добавьте параметр /fi "USERNAME eq имя".
Каталог сервера 1С
Серверная часть хранит данные кластера в каталоге srvinfo: реестр кластера, списки сеансов, служебные данные баз. Это не мусор, а рабочая конфигурация сервера.
- Не удаляйте вложенные папки с идентификаторами баз вручную: в них лежат служебные данные.
- Если нужно освободить место, начните с журналов регистрации и технологических журналов: они часто растут быстрее всего.
- Любые операции в
srvinfoвыполняйте только при остановленной службе агента сервера, предварительно предупредив пользователей, и только после копии всего каталога.
Остановка службы оборвёт все сеансы всех баз на сервере. Делайте это в нерабочее время.
Временные файлы Windows и профилактика
Папка %TEMP%
1С пишет временные файлы в папку %TEMP%. При нормальном выходе она убирает их сама, при сбое — нет. Папка накапливает файлы с расширением .tmp, а также каталоги с именами вида v8_... и подобными.
Закройте 1С, откройте %TEMP% и выделите всё, что можно удалить. Файлы, занятые другими программами, Windows пропустит сама — пропустите их и вы.
Для автоматики хватит одной команды в .bat:
del /q /f "%TEMP%\*.tmp" 2>nul
Как не копить мусор снова
Разовая чистка проблему не решает. Несколько привычек, которые это обеспечивают:
- ✅ завершайте работу через закрытие окна, а не отключением питания или убийством процесса;
- ✅ после каждого обновления конфигурации сбрасывайте кэш на рабочих местах, где остались старые формы;
- ✅ на терминальном сервере добавьте очистку временных файлов в плановое обслуживание;
- ✅ следите за свободным местом на диске с профилями: когда его мало, кэш и временные файлы ведут себя непредсказуемо;
- ✅ раз в квартал просматривайте журналы регистрации и технологические журналы на сервере и убирайте ненужные.
Для периодической автоматизации достаточно планировщика Windows и .bat из этой статьи: задание на вход пользователя в систему или раз в неделю в нерабочее время.
Сколько места занимает мусор и как это проверить
Прежде чем чистить, посмотрите размеры. В проводнике выделите папку %LOCALAPPDATA%\1C\1cv8, откройте «Свойства» и сравните размер с остальным профилем. Для небольшой базы кэш измеряется десятками мегабайт. Если папка выросла до нескольких гигабайт, она копила данные от десятков баз, которые давно не открывали.
Такие «осиротевшие» папки безопасны для удаления в первую очередь: база, к которой они относились, из списка уже убрана. Начните с них, а свежие оставьте, если нет проблем с конкретной базой.
Если очистка не помогла
Сбросили кэш, запустили, а ошибка осталась. Тогда причина не в кэше. Проверьте по очереди:
- Открывается ли база у другого пользователя на другом компьютере. Если да, проблема в профиле или в настройках этого рабочего места.
- Совпадают ли версии платформы на клиенте и на сервере. Клиент заметно новее или старше сервера даёт странные ошибки, которые чистка не лечит.
- Хватает ли места на системном диске. Когда диск забит почти полностью, 1С не может записать даже временные файлы.
- Не блокирует ли папки антивирус. Он иногда держит файлы 1С открытыми и мешает их удалению и пересозданию.
Если все четыре пункта в порядке, смотрите технологический журнал или обращайтесь к администратору сервера.
Журналы и архивы рядом с базой
Кроме кэша, место съедают файлы, которые накопились по ходу работы: копии базы «на всякий случай» (.dt, переименованные папки со словами «старая» или «копия»), выгрузки отчётов и архивы обновлений. Их вручную удаляйте только после проверки, что свежая резервная копия лежит в другом месте, а не на том же диске.
Хороший приём: заведите отдельную папку для архивов с датой в названии и раз в месяц убирайте всё старше выбранного срока. Тогда каталог рядом с базой остаётся чистым без разовых авралов.
Частые вопросы
Можно ли удалить кэш 1С, не потеряв данные?
Пропадут ли настройки пользователя после очистки кэша?
ibases.v8i.