Где 1С хранит кэш, tmp-файлы и журнал регистрации и что из этого можно удалять

· 9 мин

Содержание

В 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 искать в Проводнике не придётся.

Как понять, какая папка относится к какой базе

Имена папок — это идентификаторы баз. Сопоставить их можно так:

  1. Откройте файл %APPDATA%\1C\1CEStart\ibases.v8i в Блокноте.
  2. Найдите блок нужной базы — он начинается с имени в квадратных скобках.
  3. Строка 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. Формат выбирается в настройках журнала.

Как уменьшить журнал без потери нужных данных

  1. Откройте базу в Конфигураторе.
  2. Выберите Администрирование → Настройка журнала регистрации.
  3. Задайте уровень регистрации. Для большинства баз достаточно «Регистрировать ошибки, предупреждения, информацию и примечания»; «Не регистрировать» лишает вас истории.
  4. Нажмите «Сократить», укажите дату, до которой удалить записи, и при необходимости отметьте сохранение удаляемых записей в файл.
  5. Для формата .lgp задайте разбиение по периодам: тогда старые периоды можно архивировать отдельными файлами.

Перед сокращением журнала выгрузите удаляемый период в файл, если в организации есть требования к хранению истории изменений. После сокращения записи из базы не восстановить.

Что создаёт файловая база в своём каталоге

В каталоге файловой информационной базы, помимо самого 1Cv8.1CD, появляются служебные объекты:

ОбъектНазначениеЧто с ним делать
1Cv8.1CDСама база данныхНикогда не удалять
1Cv8LogЖурнал регистрацииСокращать штатно (см. выше)
1Cv8tmp.1CDВременная база для запросов и операцийУдалять только при закрытой базе у всех
1Cv8FTxtИндекс полнотекстового поискаМожно удалить, индекс перестроится

Временный файл 1Cv8tmp.1CD иногда остаётся после аварийного завершения и занимает гигабайты. Его можно удалить, но только когда базу точно никто не использует: ни в сетевой папке, ни через публикацию на веб-сервере.

💡 Если файловая база лежит на сетевом диске, кэш конфигурации всё равно создаётся на компьютере каждого пользователя, в его %LOCALAPPDATA%. Чистить его нужно на каждой рабочей станции, где сбоит.

Каталог временных файлов сервера 1С

У сервера 1С свой кэш. В каталоге srvinfo\reg_1541 есть папки snccntx<GUID> — сеансовые данные кластера. Когда сервер отвечает ошибками про сеансовые данные или после обновления платформы клиенты получают странные сбои, администраторы чистят именно их.

Порядок действий:

  1. Предупредите пользователей: остановка службы обрывает все сеансы во всех базах кластера. Делайте это вне рабочего времени.
  2. Остановите службу агента сервера 1С в services.msc (на Linux — через systemctl stop для службы сервера 1С).
  3. Удалите папки snccntx* внутри reg_1541. Файлы 1CV8Clst.lst, 1CV8Reg.lst и папки баз не трогайте — в них реестр кластера.
  4. Запустите службу и проверьте вход в базы.

Временные файлы рабочих процессов rphost пишутся в TEMP пользователя, от имени которого запущена служба. Если служба работает под системной учётной записью, это обычно C:\Windows\Temp.

Очистка кэша 1С: формы, внешние отчёты, обработки

Кэш форм и метаданных — это содержимое GUID-папок. Когда после обновления конфигурации форма открывается в старом виде, отчёт выдаёт «Ошибка при вызове метода контекста» на ровном месте или пропали новые реквизиты, кэш почти всегда виноват.

Есть три способа сбросить его.

СпособКогда подходитМинусы
Параметр запуска /ClearCacheСбоит одна база, удалять файлы руками не хочетсяДействует при каждом запуске, пока параметр не уберёте
Удаление GUID-папки базыНужна гарантированная очистка одной базыСбросятся локальные настройки форм
Удаление всех GUID-папокСбои во многих базах, нехватка местаПервый запуск каждой базы будет медленным

Как добавить /ClearCache

  1. В окне запуска 1С выделите базу и нажмите «Изменить».
  2. Пролистайте мастер до последней страницы с параметрами запуска.
  3. В поле дополнительных параметров запуска впишите /ClearCache.
  4. Запустите базу один раз, затем уберите параметр — иначе кэш будет пересобираться при каждом входе.

Внешние отчёты и обработки

Файл .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 лежит в другой папке и в зону очистки не попадает.

Чтобы запускать скрипт раз в неделю при входе пользователя:

  1. Сохраните скрипт как C:\Scripts\clear1c.ps1.
  2. Откройте Планировщик заданий (taskschd.msc) и создайте простую задачу.
  3. Триггер — еженедельно, например в понедельник в 08:00, или «При входе в систему».
  4. Действие — запуск программы powershell.exe с аргументами -ExecutionPolicy Bypass -File C:\Scripts\clear1c.ps1.
  5. Задача должна выполняться от имени того пользователя, чей кэш чистится: переменные 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.

Перед удалением кэша 1С
Выполнено: 0 / 5

Если после очистки ничего не изменилось

Очистка кэша решает проблемы клиента. Если сбой остался, причина в другом месте:

  • 🔍 ошибка повторяется у всех пользователей — проблема в самой базе или на сервере. Для файловой базы запустите «Тестирование и исправление» в Конфигураторе (нужен монопольный доступ и резервная копия), для серверной — проверьте сеансовые данные кластера;
  • 🔍 место на диске снова закончилось за неделю — смотрите журнал регистрации и 1Cv8tmp.1CD, а не кэш;
  • 🔍 форма после обновления всё равно старая — проверьте, что обновление применено: в Конфигураторе после загрузки нужно выполнить обновление конфигурации базы данных;
  • 🔍 ошибка только у одного пользователя на терминальном сервере — очистите кэш именно в его профиле, а не в профиле администратора.

Частые вопросы

Удалятся ли данные базы, если стереть папки кэша?
Нет. Документы и справочники хранятся в базе, а не в профиле пользователя. Пропадут только локальные настройки форм: ширина колонок, отборы, сохранённые варианты отчётов, если они хранились локально.
Почему кэш снова вырос через месяц?
Каждое обновление конфигурации и каждая новая база в списке создают свою порцию кэша. Это нормальная работа платформы. Регулярная очистка по расписанию раз в 1–4 недели держит объём под контролем.
Можно ли перенести кэш 1С на другой диск?
Штатного параметра в окне запуска для этого нет. Кэш привязан к профилю пользователя, поэтому переносят весь профиль или папку AppData средствами Windows. Для одной рабочей станции проще настроить регулярную очистку.
Нужно ли чистить кэш после каждого обновления релиза?
Нет. Платформа сама определяет, что конфигурация изменилась, и обновляет кэш. Чистить стоит, только если после обновления появились ошибки форм или отчётов.
Влияет ли очистка временных файлов на скорость работы 1С?
Первый запуск после очистки будет медленнее: платформа заново загрузит метаданные с сервера или из файла базы. Дальше скорость вернётся к обычной. Ускорения работы сама очистка не даёт, если кэш не был повреждён.