Очистка кэша и временных файлов 1С 8.3: от параметра запуска до сервера
Содержание
Быстрее всего очистить кэш
1С так: откройте свойства базы в окне запуска, на последней странице впишите в поле «Дополнительные параметры запуска» строку /ClearCache и запустите базу. Если не помогло, закройте все окна 1С и удалите временные файлы вручную: папки с длинными именами вида a1b2c3d4-... в %APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8. Сами данные базы при этом не страдают.
Всё ниже относится к платформе 1С:Предприятие 8.3 и не зависит от конфигурации: Бухгалтерия, ЗУП, УТ и другие хранят кэш одинаково. Отличается только место хранения в файловом и клиент-серверном варианте, поэтому для них отдельные разделы.
Какие временные файлы создаёт 1С и зачем их удалять
Платформа держит на компьютере пользователя копию конфигурации и служебные данные, чтобы не тянуть их из базы при каждом запуске. Это и есть кэш. Обычно он ускоряет работу, но иногда его содержимое расходится с тем, что лежит в базе.
Где что хранится на рабочем месте:
| Расположение | Что там лежит | Можно удалять |
|---|---|---|
%APPDATA%\1C\1cv8\<GUID> | кэш метаданных и настроек конкретной базы | да, при закрытой 1С |
%LOCALAPPDATA%\1C\1cv8\<GUID> | локальный кэш конфигурации той же базы | да, при закрытой 1С |
%TEMP% | временные файлы сеанса (выгрузки, печать, распаковка) | да, при закрытой 1С |
%APPDATA%\1C\1cv8\tmplts | шаблоны конфигураций для создания баз и обновлений | только если шаблоны не нужны |
%APPDATA%\1C\1CEStart\ibases.v8i | список баз в окне запуска | нет, иначе пропадёт список баз |
Признаки, что пора чистить кэш :
- 🔄 после обновления конфигурации остались старые формы или кнопки;
- 🧩 появились ошибки вроде
Ошибка формата потокаилиНеизвестный объект метаданныхпри открытии базы; - 🐢 запуск стал заметно дольше, хотя база и сеть не менялись;
- 🪟 формы открываются «кривыми»: поля съехали, пропали колонки;
- 💾 папка
AppDataразрослась до нескольких гигабайт.
Кэш не содержит документов, справочников и проводок. Их источник — база. Удалив кэш, вы ничего не теряете из учёта: при следующем запуске платформа заново скачает нужное, первый вход будет чуть дольше.
Встроенные средства очистки: параметр /ClearCache и настройки пользователя
Параметр запуска /ClearCache
Это штатный способ, не требующий доступа к папкам Windows.
- В окне запуска 1С выделите нужную базу и нажмите
Изменить. - Пролистайте мастер кнопкой
Далеедо последней страницы. - В поле «Дополнительные параметры запуска» впишите
/ClearCache. - Нажмите
Готовои запустите базу. - После успешного входа уберите параметр, чтобы кэш не сбрасывался при каждом старте.
Параметр сбрасывает кэш клиентского приложения именно этой базы. Остальные базы из списка не затрагиваются.
Если базу запускают ярлыком, параметр добавляют в строку «Объект» в конец, после пути к программе и адреса базы:
"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /F"D:\Bases\Buh" /ClearCache
Путь к базе в примере условный: подставьте свой. Для серверной базы вместо /F используется /S"сервер\имябазы".
Если работаете через браузер
В веб-клиенте папок в AppData нет: роль кэша играет кэш браузера. Очистите его сочетанием Ctrl + Shift + Delete, выбрав файлы кэша за всё время, и заново откройте адрес базы. Сохранённые пароли и закладки при этом можно не трогать: достаточно снять соответствующие галочки.
Сброс настроек форм пользователя
Иногда «ломается» не кэш, а сохранённые настройки форм: ширина колонок, отборы, состав панелей. В конфигурациях на БСП их очищают в разделе Администрирование → Настройки пользователей и прав, через пункт с настройками пользователей. Там можно выбрать пользователя и удалить настройки внешнего вида, отчётов и прочие.
Простой вариант для себя самого: в главном меню (кнопка с тремя полосками в левом верхнем углу) откройте Вид → Установить стандартные настройки. Формы вернутся к виду по умолчанию.
Сброс настроек удаляет и полезное: сохранённые варианты отчётов и личные отборы. Перед очисткой предупредите пользователя.
Ручное удаление кэша в папках Windows
Ручная очистка нужна, когда /ClearCache не помог или база вообще не открывается.
Пошагово
- Закройте все окна 1С. Проверьте в диспетчере задач, что нет процессов
1cv8.exe,1cv8c.exe,1cv8s.exe. - Нажмите
Win + R, введите%APPDATA%\1C\1cv8и нажмите Enter. - Удалите папки с именами из 36 символов вида
0a1b2c3d-4e5f-6789-abcd-ef0123456789. - Повторите то же для
%LOCALAPPDATA%\1C\1cv8. - Откройте
%TEMP%и удалите файлы, которые система даст удалить. Занятые пропустите. - Запустите базу. Первый вход займёт больше времени.
Файлы *.pfl в корне %APPDATA%\1C\1cv8 не трогайте без нужды. В них хранятся общие настройки платформы, например последний выбранный пользователь.
Как понять, какая папка относится к нужной базе
Удалять кэш всех баз не обязательно. Каждой базе в списке присвоен свой идентификатор, и папка кэша называется ровно так же.
- Откройте в Блокноте файл
%APPDATA%\1C\1CEStart\ibases.v8i. - Найдите блок с названием базы в квадратных скобках.
- Скопируйте значение строки
ID=. - Удалите в
%APPDATA%\1C\1cv8и%LOCALAPPDATA%\1C\1cv8только папку с этим именем.
[Бухгалтерия предприятия]
Connect=File="D:\Bases\Buh";
ID=0a1b2c3d-4e5f-6789-abcd-ef0123456789
Если удалить базу из списка и добавить заново, ей присвоится новый ID и новая папка кэша. Это тоже рабочий способ «начать с чистого листа», но старая папка останется лежать на диске. Её лучше удалить вручную.
Папка шаблонов tmplts
В %APPDATA%\1C\1cv8\tmplts складываются распакованные шаблоны конфигураций. За несколько лет обновлений там набираются гигабайты. Кэшем в строгом смысле это не является, на ошибки не влияет. Удалять имеет смысл ради места, если обновления ставит другой специалист или шаблоны лежат в общей сетевой папке.
Файловая база: что чистить в каталоге информационной базы
В файловом варианте конфигурация кэшируется так же, как описано выше: на компьютере каждого пользователя в его профиле. Поэтому если ошибка возникает у одного человека, чистят только его профиль. Если у всех — чистят у всех, кто работает с базой.
В каталоге самой базы лежат файлы, которые к кэшу не относятся:
| Файл или папка | Назначение | Удалять |
|---|---|---|
1Cv8.1CD | сама база данных | никогда |
1Cv8Log | журнал регистрации | нет, это история действий пользователей |
1Cv8FTxt | индекс полнотекстового поиска | можно, но потом индекс придётся перестроить |
1Cv8.1CL | файл блокировки открытой базы | только когда базу точно никто не использует |
Индекс полнотекстового поиска иногда разрастается и повреждается. После удаления папки 1Cv8FTxt обновите индекс в разделе Администрирование → Обслуживание, там есть блок управления полнотекстовым поиском.
Файл 1Cv8.1CL появляется при открытии базы и исчезает при закрытии. Если 1С упала, файл может остаться и мешать входу. Удаляйте его только убедившись, что база не открыта ни у одного пользователя, иначе у них оборвётся работа.
Перед любыми действиями в каталоге файловой базы скопируйте весь каталог целиком. Это пара минут, а 1Cv8.1CD восстановить без копии бывает невозможно.
Клиент-серверная база: кэш на сервере 1С
В серверном варианте кэш есть в двух местах: в профиле пользователя на его компьютере и на сервере 1С. Клиентский кэш чистится теми же способами, что выше. Серверный — только с остановкой службы.
Когда нужна очистка на сервере
- ошибки повторяются у всех пользователей, а
/ClearCacheна клиентах не помогает; - после обновления конфигурации сервер «залипает» на старой версии;
- сеансы зависают при входе, в технологическом журнале ошибки сеансовых данных.
Порядок действий
Остановка службы обрывает работу всех пользователей на этом сервере. Делайте это вечером или в согласованное окно, предварительно предупредив людей.
- Попросите всех выйти из баз. Проверьте в консоли кластера, что активных сеансов не осталось.
- Остановите службу «Агент сервера 1С:Предприятия 8.3» в оснастке
services.msc. - Откройте каталог кластера. По умолчанию это
C:\Program Files\1cv8\srvinfo\reg_1541. - Удалите папки, имя которых начинается с
snccntx. В них лежат сеансовые данные. - Запустите службу и проверьте вход в базу.
Что в srvinfo трогать нельзя:
- 🚫 файл
1CV8Clst.lst— реестр кластера со списком баз и настроек; - 🚫 папки с GUID баз внутри
reg_1541целиком — в них журналы регистрации серверных баз; - 🚫 файлы с настройками администраторов кластера.
Если служба запущена с нестандартным каталогом, путь к srvinfo виден в свойствах службы, в строке запуска после ключа -d.
Кэш на стороне СУБД (PostgreSQL или MS SQL) к временным файлам 1С не относится. Его чистят средствами самой СУБД, и к ошибкам кэша конфигурации он отношения не имеет.
Скрипты для автоматической очистки
Когда рабочих мест десяток, удобнее раздать скрипт или повесить его на вход в систему через групповые политики.
Вариант на bat
Скрипт удаляет кэш всех баз текущего пользователя и содержимое его временной папки. Если 1С запущена, он завершает работу без удаления.
@echo off
tasklist | find /i "1cv8" >nul
if %errorlevel%==0 (
echo Закройте все окна 1С и запустите скрипт снова.
pause
exit /b
)
for /d %%i in ("%APPDATA%\1C\1cv8\*-*-*-*-*") do rd /s /q "%%i"
for /d %%i in ("%LOCALAPPDATA%\1C\1cv8\*-*-*-*-*") do rd /s /q "%%i"
del /q /f "%TEMP%\*.*" 2>nul
echo Кэш 1С очищен.
pause
Маска *-*-*-*-* выбирает только папки с GUID: в их именах ровно четыре дефиса. Папка tmplts и файлы настроек не затрагиваются.
Вариант на PowerShell
Тот же смысл, но с точной проверкой имени папки по шаблону GUID:
if (Get-Process -Name 1cv8, 1cv8c, 1cv8s -ErrorAction SilentlyContinue) {
Write-Host "Закройте 1С и запустите снова"; exit
}
$guid = '^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$'
foreach ($root in "$env:APPDATA\1C\1cv8", "$env:LOCALAPPDATA\1C\1cv8") {
if (Test-Path $root) {
Get-ChildItem $root -Directory |
Where-Object { $_.Name -match $guid } |
Remove-Item -Recurse -Force
}
}
Write-Host "Готово"
Если политика выполнения блокирует скрипты, запускайте его командой powershell -ExecutionPolicy Bypass -File clear1c.ps1 из той же папки.
Как часто запускать
Регулярная очистка «на всякий случай» не нужна: кэш для того и существует, чтобы ускорять запуск. Разумный график такой:
- 🗓 после обновления конфигурации или платформы, если появились странности;
- 🗓 при переносе профиля пользователя на новый компьютер;
- 🗓 раз в квартал на терминальном сервере, где профили многих людей занимают общий диск.
На терминальном сервере скрипт выполняют от имени каждого пользователя: переменные %APPDATA% и %LOCALAPPDATA% указывают на профиль того, кто запустил.