Кэш и временные данные 1С 8.3: папки на компьютере и сервере

· 10 мин

Содержание

Временные файлы 1С 8.3 хранятся в профиле пользователя Windows: кэш конфигурации — в %APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8, разовые служебные файлы — в %TEMP%. В клиент-серверном варианте добавляется кэш сеансовых данных на сервере 1С, в каталоге srvinfo.

Типичный повод заглянуть туда: после обновления бухгалтер открывает базу, а у неё старая форма документа или ошибка при запуске, хотя у коллег всё работает. Чаще всего такое лечится очисткой кэша конкретной базы на этом компьютере. Второй повод — на диске C: закончилось место, и нужно понять, какие папки 1С можно чистить, а какие трогать нельзя.

Пути к временным файлам 1С в Windows

Платформа раскладывает данные по трём местам профиля. Перейти туда быстро можно через Win+R: вставьте путь с переменной и нажмите Enter.

Что хранитсяПутьМожно удалять
📁 Кэш конфигурации и настроек по базам%APPDATA%\1C\1cv8\<GUID базы>Да, при закрытой 1С
📁 Локальный кэш метаданных, форм, картинок%LOCALAPPDATA%\1C\1cv8\<GUID базы>Да, при закрытой 1С
📄 Список баз (окно запуска)%APPDATA%\1C\1CEStart\ibases.v8iНет — пропадёт список баз
📁 Шаблоны конфигураций и обновлений%APPDATA%\1C\1cv8\tmpltsЧастично, старые версии
📄 Разовые временные файлы%TEMP% (обычно C:\Users\<имя>\AppData\Local\Temp)Да, при закрытой 1С
📁 Установленные версии платформыC:\Program Files\1cv8\8.3.xx.xxxxТолько через удаление программ

Каждой базе из списка соответствует своя папка с длинным именем вида a1b2c3d4-.... Это идентификатор базы в списке запуска, а не имя базы. Понять, какая папка чья, проще всего по дате изменения: откройте нужную базу, закройте её и отсортируйте папки по времени.

В %TEMP% платформа создаёт файлы с префиксом v8_ и расширением .tmp. Это выгрузки отчётов, вложения перед открытием, промежуточные файлы печати. При нормальном закрытии 1С подчищает их сама, при аварийном — они копятся.

Папка AppData скрыта. Если идёте через Проводник, включите на вкладке «Вид» показ скрытых элементов или просто введите путь в адресную строку.

Если 1С работает на Linux

На Linux у клиента тот же набор, только в домашнем каталоге: кэш лежит в ~/.1cv8/1C/1cv8/. Временные файлы — в /tmp. Логика очистки та же: закрыть клиент и удалить папку конкретной базы.

Где лежат временные данные в файловой и клиент-серверной базе

От варианта работы базы зависит, что хранится на рабочем месте, а что — на стороне базы или сервера.

Файловая база

В каталоге базы, кроме самого файла данных 1Cv8.1CD, есть служебные объекты:

  • 🔒 1Cv8.1CL — файл блокировки. Появляется, пока база открыта. Его не удаляют при работающих пользователях.
  • 🔍 1Cv8FTxt — индекс полнотекстового поиска. Пересоздаётся программой.
  • 📜 1Cv8Log — журнал регистрации. Часто растёт до нескольких гигабайт.
  • ⏳ 1Cv8tmp.1CD — временный файл. Возникает при тестировании, реструктуризации, выгрузке. Если остался после сбоя, его можно удалить, когда в базе никого нет.

Сам файл 1Cv8.1CD — это ваша база целиком. Его не удаляют и не переносят при «чистке».

Клиент-серверная база

На компьютере пользователя кэш тот же, что и для файловой базы — в AppData. Но основная часть служебных данных находится на сервере 1С:

  • 📁 C:\Program Files\1cv8\srvinfo\reg_1541\<GUID базы> — каталог базы в кластере. Внутри — журнал регистрации и индекс полнотекстового поиска.
  • 📁 Папки snccntx... внутри каталога базы — кэш сеансовых данных. Именно их чистят, когда сервер ведёт себя странно после обновления конфигурации.
  • 📄 1CV8Clst.lst в reg_1541 — реестр кластера: список баз, рабочих процессов, администраторов. Удалять нельзя ни при какой очистке.
  • 📁 %TEMP% пользователя, под которым работает служба (часто USR1CV8): C:\Users\USR1CV8\AppData\Local\Temp. Туда рабочие процессы пишут свои временные файлы.

Номер 1541 в имени каталога — порт менеджера кластера. Если кластер поднят на другом порту, папка называется по нему. Путь к srvinfo тоже мог быть изменён при установке: точное место видно в параметрах службы «Агент сервера 1С:Предприятия 8.3» (ключ -d в строке запуска).

На Linux-сервере эта структура лежит в домашнем каталоге пользователя службы, обычно /home/usr1cv8/.1cv8/1C/1cv8/reg_1541.

Временные таблицы запросов в клиент-серверном варианте создаются на стороне СУБД. У Microsoft SQL Server это база tempdb, у PostgreSQL — временные файлы в каталоге данных. Это уже зона администратора СУБД, вручную их не удаляют.

Очистка кэша 1С вручную

Самый частый сценарий — сбросить кэш одной базы у одного пользователя.

  1. Закройте все окна 1С на этом компьютере, включая Конфигуратор.
  2. Проверьте в диспетчере задач, что не осталось процессов 1cv8.exe и 1cv8c.exe. Если висят — завершите их.
  3. Откройте %APPDATA%\1C\1cv8 и удалите папку нужной базы (с GUID в имени).
  4. То же сделайте в %LOCALAPPDATA%\1C\1cv8.
  5. Запустите базу. Первый вход будет дольше обычного: платформа заново загружает конфигурацию.

Можно удалить и все папки с GUID разом — так сбрасывается кэш всех баз. Файлы с расширением .pfl в корне 1cv8 не трогайте без нужды: в них хранятся настройки окна запуска и последние выбранные параметры.

Кэш хранит и часть пользовательских настроек на компьютере. После удаления могут сброситься размеры окон и последние открытые разделы. Настройки форм и отчётов, сохранённые в базе, останутся.

Сброс кэша на сервере 1С

Делается, когда очистка у пользователей не помогла: ошибка повторяется у всех на одной базе.

  1. Предупредите пользователей: при остановке службы оборвутся все сеансы во всех базах кластера. Планируйте на нерабочее время.
  2. Остановите службу «Агент сервера 1С:Предприятия 8.3» в services.msc.
  3. Перейдите в srvinfo\reg_1541\<GUID базы> и удалите папки snccntx....
  4. Запустите службу и дождитесь, пока поднимутся рабочие процессы.

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

Автоматическая очистка: /ClearCache и скрипты

Ручная очистка неудобна, если пользователей двадцать. Есть три способа автоматизировать.

Параметр запуска /ClearCache

Платформа понимает ключ запуска /ClearCache: при старте она очищает кэш клиент-серверных вызовов и метаданных этой базы.

Как добавить его в ярлык базы:

  1. В окне запуска выделите базу и нажмите «Изменить».
  2. Пройдите до последней страницы мастера.
  3. В поле «Дополнительные параметры запуска» впишите /ClearCache.
  4. Нажмите «Готово».

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

Тот же ключ работает в командной строке:

"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /F"D:\Bases\Buh" /ClearCache

Скрипт очистки для всех баз пользователя

Пакетный файл для запуска перед входом или через планировщик заданий. Он удаляет только папки баз (с GUID в имени), не трогая список баз и шаблоны:

@echo off
taskkill /IM 1cv8.exe /F >nul 2>&1
taskkill /IM 1cv8c.exe /F >nul 2>&1
for /d %%D in ("%APPDATA%\1C\1cv8\*-*-*-*-*") do rd /s /q "%%D"
for /d %%D in ("%LOCALAPPDATA%\1C\1cv8\*-*-*-*-*") do rd /s /q "%%D"
del /q /f "%TEMP%\v8_*.tmp" >nul 2>&1

Команды taskkill закрывают 1С без сохранения. Запускайте скрипт при входе в систему, а не среди дня, когда у человека открыт несохранённый документ.

Политики и терминальный сервер

На терминальном сервере каждый пользователь хранит свой кэш, и за год папки профилей разрастаются. Здесь обычно делают так:

  • 🧹 скрипт выше ставят в задачу планировщика «при входе пользователя»;
  • 🗓 раз в неделю чистят %TEMP% всех профилей задачей от имени администратора;
  • 📏 в перемещаемых профилях исключают AppData\Local из синхронизации — кэш не нужно таскать между серверами.

Что съедает место на диске: поиск и разбор

Если диск заполнился, сначала найдите, какая именно папка выросла. Быстрая проверка размера через PowerShell:

Get-ChildItem "$env:APPDATA\1C\1cv8","$env:LOCALAPPDATA\1C\1cv8","$env:TEMP" -Directory |
  ForEach-Object { [pscustomobject]@{ Папка = $_.FullName; ГБ = [math]::Round((Get-ChildItem $_.FullName -Recurse -File -ErrorAction SilentlyContinue | Measure-Object Length -Sum).Sum / 1GB, 2) } } |
  Sort-Object ГБ -Descending | Select-Object -First 15

Для наглядной картины подойдёт любая программа анализа диска вроде WinDirStat.

Диагностика: выберите симптом

Отдельный случай — файловая база на диске C: пользователя. Сам файл 1Cv8.1CD после удаления больших объёмов данных не уменьшается. Сжать его можно через «Тестирование и исправление» в Конфигураторе с флажком сжатия таблиц, сделав перед этим резервную копию.

Как временные файлы влияют на скорость 1С

Кэш придуман, чтобы ускорять работу. Платформа не скачивает описание форм, модулей и картинок с сервера при каждом открытии, а берёт локальную копию. Поэтому:

  • 🚀 Рабочий кэш ускоряет. Второй и последующие входы в базу быстрее первого.
  • 🐢 Удалённый кэш замедляет первый вход. После очистки 1С стартует дольше — от нескольких секунд до пары минут на большой конфигурации и медленной сети.
  • ⚠️ Испорченный кэш даёт ошибки. Старая форма после обновления, падение при открытии документа, ошибка загрузки метаданных — частые признаки рассинхронизации.
  • 💾 Заполненный диск тормозит всё. Когда на C: остаётся меньше 1–2 ГБ, Windows и 1С начинают работать заметно медленнее, а выгрузка отчёта в файл может прерваться ошибкой записи.

Отсюда практический вывод: чистить кэш «для профилактики» каждый день не нужно. Это не ускоряет, а замедляет работу. Чистят по поводу: после обновления платформы или конфигурации, при странных ошибках у одного пользователя, при нехватке места.

СитуацияЧто чиститьГде
Ошибка у одного пользователяКэш базыAppData этого пользователя
Ошибка у всех на одной серверной базеСеансовые данныеsnccntx... на сервере
После обновления конфигурацииКэш базы, разовоКлюч /ClearCache
Кончается место у пользователяtmplts, %TEMP%, старые платформыПрофиль и Program Files
Кончается место на сервереЖурнал регистрации, техжурнал, дампыsrvinfo, каталоги логов

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

Бывает, что после удаления кэша ошибка остаётся. Порядок дальнейших проверок:

  1. Проверьте другого пользователя Windows. Войдите в ту же базу под другой учётной записью на том же компьютере. Работает — проблема в профиле, а не в базе.
  2. Сравните версии платформы. Клиент и сервер 1С должны быть одной версии. Если на клиенте другая сборка, окно запуска может стартовать не тот исполняемый файл. Номер версии задаётся в свойствах базы в окне запуска, поле «Версия 1С:Предприятия».
  3. Проверьте права на папки. Если у пользователя нет записи в %APPDATA% (бывает после настройки политик безопасности), кэш не создаётся, и 1С выдаёт ошибки при старте.
  4. Исключите антивирус. Проверка каждого файла в AppData\1C и srvinfo замедляет работу и иногда блокирует запись. Папки кэша и каталог базы обычно добавляют в исключения.
  5. Протестируйте саму базу. Если ошибка воспроизводится у всех и на сервере, дело уже не во временных файлах. Нужна резервная копия и «Тестирование и исправление» в Конфигураторе (для файловой базы) или проверка средствами СУБД.
Можно ли удалить всю папку 1C в AppData?
Технически да, 1С пересоздаст её. Но пропадёт список баз из файла ibases.v8i и скачанные шаблоны обновлений. Безопаснее удалять только папки с GUID внутри 1cv8.
Удалятся ли данные базы при очистке кэша?
Нет. Кэш — это копия описания конфигурации и служебных данных. Документы, справочники и проводки хранятся в самой базе: в файле 1Cv8.1CD или в СУБД.
Почему после очистки кэша 1С долго запускается?
При первом входе платформа заново загружает конфигурацию с диска или сервера. Со второго запуска скорость возвращается к обычной.
Нужно ли чистить кэш веб-клиента?
У веб-клиента нет папки в AppData: кэш хранит браузер. Если после обновления в браузере старые формы, очистите кэш браузера для адреса публикации или откройте базу в приватном окне.
Как часто чистить временные файлы на сервере 1С?
Сеансовые данные — только при проблемах. Журнал регистрации и технологический журнал лучше не чистить вручную, а настроить им срок хранения и разделение по периодам.