Где 1С хранит кэш, tmp-файлы и журнал регистрации и что из этого можно удалять
Содержание
В Windows основной каталог временных файлов 1С — это две папки в профиле пользователя: %APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8. Внутри лежат подпапки с именами вида a1b2c3d4-... — по одной на каждую информационную базу из списка. Это кэш конфигурации и форм, его можно удалять при закрытой программе. Обычные временные файлы сеанса платформа пишет в системную папку %TEMP%.
Если 1С стала открывать формы с ошибками, после обновления «видит» старую конфигурацию или съела несколько гигабайт на диске C, ответ почти всегда в одном из этих мест. Пути отличаются по ОС, а чистить можно далеко не всё.
Где лежит кэш и временные файлы 1С в Windows
Платформа 1С:Предприятие 8.3 раскладывает служебные данные по нескольким каталогам. У каждого своя роль, поэтому чистить их «всё подряд» не стоит.
| Каталог | Что внутри | Можно удалять? |
|---|---|---|
%APPDATA%\1C\1cv8\<GUID> | Настройки пользователя по базе, часть кэша | Да, при закрытой 1С; сбросятся локальные настройки форм |
%LOCALAPPDATA%\1C\1cv8\<GUID> | Кэш конфигурации: метаданные, формы, модули | Да, при закрытой 1С |
%APPDATA%\1C\1CEStart\ibases.v8i | Список информационных баз | Нет — пропадёт список баз |
%APPDATA%\1C\1cv8\*.pfl | Общие настройки платформы | Только если нужен полный сброс настроек |
%TEMP% (обычно C:\Users\<имя>\AppData\Local\Temp) | Временные файлы сеансов, распакованные внешние обработки | Да, кроме открытых в данный момент |
Чтобы быстро открыть нужную папку, нажмите Win + R и вставьте путь целиком, например %LOCALAPPDATA%\1C\1cv8. Переменные окружения Windows подставит сама, папку AppData искать в Проводнике не придётся.
Как понять, какая папка относится к какой базе
Имена папок — это идентификаторы баз. Сопоставить их можно так:
- Откройте файл
%APPDATA%\1C\1CEStart\ibases.v8iв Блокноте. - Найдите блок нужной базы — он начинается с имени в квадратных скобках.
- Строка
ID=содержит тот самый GUID, который совпадает с именем папки кэша.
💡 Если баз много, а сбоит одна, удалите только её папку. Остальные базы не будут заново собирать кэш, первый запуск у них не замедлится.
Сколько места занимает кэш
На одну типовую конфигурацию вроде Бухгалтерии 3.0 или ЗУП 3.1 кэш обычно занимает от сотен мегабайт до 1–2 ГБ. Каждое обновление релиза создаёт новую порцию данных, а старая не всегда удаляется. У бухгалтера с десятком баз клиентов кэш легко вырастает до 10–20 ГБ.
Временные файлы 1С в Linux и macOS
В Linux клиент 1С хранит всё в скрытых папках домашнего каталога пользователя:
- 📁
~/.1cv8/1C/1cv8/— кэш конфигураций, те же папки с GUID-именами; - 📁
~/.1C/1cestart/ibases.v8i— список баз (не удалять); - 📁
/tmp— временные файлы сеанса.
Скрытые папки начинаются с точки, в файловом менеджере их показывает сочетание Ctrl + H. В терминале размер кэша проверяется одной командой:
du -sh ~/.1cv8/1C/1cv8/*
На сервере 1С под Linux служебные данные кластера лежат в домашнем каталоге пользователя, от имени которого работает служба. По умолчанию это usr1cv8, путь — /home/usr1cv8/.1cv8/1C/1cv8/.
В macOS клиент складывает кэш в библиотеку пользователя: ~/Library/Application Support/1C/1cv8/. Папка Library по умолчанию скрыта. Откройте Finder, нажмите Cmd + Shift + G и вставьте путь. Структура внутри та же: GUID-папки по базам.
Журнал регистрации: где хранится и почему растёт
Журнал регистрации — не кэш, а история действий пользователей. Удалять его как временные файлы нельзя: по нему разбирают, кто и когда изменил документ. Но именно он чаще всего раздувает каталог базы до десятков гигабайт.
Где он лежит:
- 🗂 файловая база — подпапка
1Cv8Logв каталоге базы, рядом с1Cv8.1CD; - 🗂 клиент-серверная база
— на сервере 1С, в каталоге кластера:
srvinfo\reg_1541\<GUID базы>\1Cv8Log. В Windows по умолчаниюsrvinfoнаходится вC:\Program Files\1cv8\srvinfo.
Внутри встречаются два формата. Старый — файл 1Cv8.lgf и набор файлов *.lgp, по одному на период. Новый — один файл 1Cv8.lgd, это база SQLite. Формат выбирается в настройках журнала.
Как уменьшить журнал без потери нужных данных
- Откройте базу в Конфигураторе.
- Выберите
Администрирование → Настройка журнала регистрации. - Задайте уровень регистрации. Для большинства баз достаточно «Регистрировать ошибки, предупреждения, информацию и примечания»; «Не регистрировать» лишает вас истории.
- Нажмите «Сократить», укажите дату, до которой удалить записи, и при необходимости отметьте сохранение удаляемых записей в файл.
- Для формата
.lgpзадайте разбиение по периодам: тогда старые периоды можно архивировать отдельными файлами.
Перед сокращением журнала выгрузите удаляемый период в файл, если в организации есть требования к хранению истории изменений. После сокращения записи из базы не восстановить.
Что создаёт файловая база в своём каталоге
В каталоге файловой информационной базы, помимо самого 1Cv8.1CD, появляются служебные объекты:
| Объект | Назначение | Что с ним делать |
|---|---|---|
1Cv8.1CD | Сама база данных | Никогда не удалять |
1Cv8Log | Журнал регистрации | Сокращать штатно (см. выше) |
1Cv8tmp.1CD | Временная база для запросов и операций | Удалять только при закрытой базе у всех |
1Cv8FTxt | Индекс полнотекстового поиска | Можно удалить, индекс перестроится |
Временный файл 1Cv8tmp.1CD иногда остаётся после аварийного завершения и занимает гигабайты. Его можно удалить, но только когда базу точно никто не использует: ни в сетевой папке, ни через публикацию на веб-сервере.
💡 Если файловая база лежит на сетевом диске, кэш конфигурации всё равно создаётся на компьютере каждого пользователя, в его %LOCALAPPDATA%. Чистить его нужно на каждой рабочей станции, где сбоит.
Каталог временных файлов сервера 1С
У сервера 1С свой кэш. В каталоге srvinfo\reg_1541 есть папки snccntx<GUID> — сеансовые данные кластера. Когда сервер отвечает ошибками про сеансовые данные или после обновления платформы клиенты получают странные сбои, администраторы чистят именно их.
Порядок действий:
- Предупредите пользователей: остановка службы обрывает все сеансы во всех базах кластера. Делайте это вне рабочего времени.
- Остановите службу агента сервера 1С в
services.msc(на Linux — черезsystemctl stopдля службы сервера 1С). - Удалите папки
snccntx*внутриreg_1541. Файлы1CV8Clst.lst,1CV8Reg.lstи папки баз не трогайте — в них реестр кластера. - Запустите службу и проверьте вход в базы.
Временные файлы рабочих процессов rphost пишутся в TEMP пользователя, от имени которого запущена служба. Если служба работает под системной учётной записью, это обычно C:\Windows\Temp.
Очистка кэша 1С: формы, внешние отчёты, обработки
Кэш форм и метаданных — это содержимое GUID-папок. Когда после обновления конфигурации форма открывается в старом виде, отчёт выдаёт «Ошибка при вызове метода контекста» на ровном месте или пропали новые реквизиты, кэш почти всегда виноват.
Есть три способа сбросить его.
| Способ | Когда подходит | Минусы |
|---|---|---|
Параметр запуска /ClearCache | Сбоит одна база, удалять файлы руками не хочется | Действует при каждом запуске, пока параметр не уберёте |
| Удаление GUID-папки базы | Нужна гарантированная очистка одной базы | Сбросятся локальные настройки форм |
| Удаление всех GUID-папок | Сбои во многих базах, нехватка места | Первый запуск каждой базы будет медленным |
Как добавить /ClearCache
- В окне запуска 1С выделите базу и нажмите «Изменить».
- Пролистайте мастер до последней страницы с параметрами запуска.
- В поле дополнительных параметров запуска впишите
/ClearCache. - Запустите базу один раз, затем уберите параметр — иначе кэш будет пересобираться при каждом входе.
Внешние отчёты и обработки
Файл .erf или .epf, открытый через Файл → Открыть, платформа копирует во временный каталог и работает с копией. Отсюда типичная ситуация: разработчик поправил обработку, а пользователь видит старую версию. Закройте обработку, закройте 1С и запустите заново — свежий файл будет прочитан повторно.
Обработки, подключённые в справочник «Дополнительные отчёты и обработки», хранятся внутри базы. Кэш тут ни при чём: обновлять нужно сам элемент справочника, загрузив новую версию файла.
Для веб-клиента временные файлы 1С лежат в кэше браузера. Сбрасывается он штатными средствами браузера или жёстким обновлением страницы Ctrl + F5.
Скрипт очистки и запуск по расписанию
Ручная очистка годится для разовой проблемы. Если баз много и кэш растёт постоянно, проще поставить скрипт в Планировщик заданий.
Главное правило любого скрипта: не удалять кэш, пока 1С запущена. Иначе открытая база получит обрыв на полуслове, а часть файлов останется заблокированной.
PowerShell для Windows
# Выход, если запущен любой клиент 1С
if (Get-Process 1cv8, 1cv8c -ErrorAction SilentlyContinue) { exit }
$guid = '^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$'
# Кэш конфигураций: только папки с GUID-именами
foreach ($dir in "$env:APPDATA\1C\1cv8", "$env:LOCALAPPDATA\1C\1cv8") {
if (Test-Path $dir) {
Get-ChildItem $dir -Directory |
Where-Object { $_.Name -match $guid } |
Remove-Item -Recurse -Force -ErrorAction SilentlyContinue
}
}
# Временные файлы старше суток
Get-ChildItem $env:TEMP -Recurse -ErrorAction SilentlyContinue |
Where-Object { -not $_.PSIsContainer -and $_.LastWriteTime -lt (Get-Date).AddDays(-1) } |
Remove-Item -Force -ErrorAction SilentlyContinue
Фильтр по регулярному выражению оставляет нетронутыми файлы *.pfl и любые папки с обычными именами. Файл ibases.v8i лежит в другой папке и в зону очистки не попадает.
Чтобы запускать скрипт раз в неделю при входе пользователя:
- Сохраните скрипт как
C:\Scripts\clear1c.ps1. - Откройте Планировщик заданий (
taskschd.msc) и создайте простую задачу. - Триггер — еженедельно, например в понедельник в 08:00, или «При входе в систему».
- Действие — запуск программы
powershell.exeс аргументами-ExecutionPolicy Bypass -File C:\Scripts\clear1c.ps1. - Задача должна выполняться от имени того пользователя, чей кэш чистится: переменные
APPDATAиTEMPу каждого свои.
На терминальном сервере удобнее повесить скрипт в сценарий входа через групповую политику: так он отработает в профиле каждого пользователя до запуска 1С.
Bash для Linux
#!/bin/bash
# Не чистим, если клиент 1С запущен
if pgrep -x 1cv8c >/dev/null || pgrep -x 1cv8 >/dev/null; then exit 0; fi
find "$HOME/.1cv8/1C/1cv8" -mindepth 1 -maxdepth 1 -type d \
-regextype posix-extended \
-regex '.*/[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}' \
-exec rm -rf {} +
Добавьте его в crontab -e пользователя строкой 0 8 * * 1 /home/user/clear1c.sh — запуск по понедельникам в 08:00.
Если после очистки ничего не изменилось
Очистка кэша решает проблемы клиента. Если сбой остался, причина в другом месте:
- 🔍 ошибка повторяется у всех пользователей — проблема в самой базе или на сервере. Для файловой базы запустите «Тестирование и исправление» в Конфигураторе (нужен монопольный доступ и резервная копия), для серверной — проверьте сеансовые данные кластера;
- 🔍 место на диске снова закончилось за неделю — смотрите журнал регистрации и
1Cv8tmp.1CD, а не кэш; - 🔍 форма после обновления всё равно старая — проверьте, что обновление применено: в Конфигураторе после загрузки нужно выполнить обновление конфигурации базы данных;
- 🔍 ошибка только у одного пользователя на терминальном сервере — очистите кэш именно в его профиле, а не в профиле администратора.