Папки кэша 1С:Предприятия на клиенте и сервере: пути и безопасная чистка

· 10 мин

Содержание

Кэш 1С 8.3 на компьютере с Windows хранится в двух местах: %LOCALAPPDATA%\1C\1cv8 и %APPDATA%\1C\1cv8. Внутри лежат папки с именами вида a1b2c3d4-... (GUID), по одной на каждую информационную базу из списка запуска. Чтобы очистить кэш , закройте 1С и удалите эти GUID-папки или один раз запустите базу с параметром /ClearCache.

На сервере 1С свой кэш: сеансовые данные в каталоге кластера srvinfo\reg_1541. Его чистят реже и только с остановкой службы. Всё сказанное относится к платформе 8.3 и не зависит от конфигурации: пути одинаковые для Бухгалтерии, ЗУП, УТ и любой другой базы.

Как устроен кэш платформы 1С и почему он лежит в нескольких местах

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

Кэш бывает трёх видов:

  • 💻 Клиентский кэш конфигурации — на каждом компьютере, где запускали базу. Самый объёмный, именно его обычно и чистят.
  • 🗂 Временные файлы — v8_*.tmp и похожие в папке %TEMP% пользователя. Остаются после сбоев и аварийного закрытия.
  • 🖥 Серверный кэш — сеансовые данные и служебные файлы кластера на сервере 1С. Есть только в клиент-серверном варианте.

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

Список баз в окне запуска — это не кэш. Он хранится в файле %APPDATA%\1C\1CEStart\ibases.v8i. Удалять его при чистке не нужно, иначе пользователю придётся заново добавлять все базы.

Где искать кэш 1С на рабочем месте с Windows

Откройте проводник и вставьте путь в адресную строку. Переменные окружения развернутся сами, включать показ скрытых папок не придётся.

ЧтоПутьМожно удалять
Основной кэш конфигураций%LOCALAPPDATA%\1C\1cv8\<GUID>Да, при закрытой 1С
Служебные файлы баз%APPDATA%\1C\1cv8\<GUID>Да, при закрытой 1С
Общие настройки запуска%APPDATA%\1C\1cv8\*.pflНет, без нужды не трогать
Список баз%APPDATA%\1C\1CEStart\ibases.v8iНет
Временные файлы%TEMP%\v8_*Да, при закрытой 1С

В развёрнутом виде первые два пути выглядят так: C:\Users\ivanova\AppData\Local\1C\1cv8 и C:\Users\ivanova\AppData\Roaming\1C\1cv8. Если на компьютере ещё живёт платформа 8.2, рядом будет папка 1cv82 — это её кэш, к 8.3 он отношения не имеет.

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

Имя GUID-папки совпадает с идентификатором базы в списке запуска. Откройте ibases.v8i в Блокноте и найдите блок своей базы:

[Бухгалтерия ООО Ромашка]
Connect=Srvr="srv1c";Ref="buh_romashka";
ID=3f6c2a91-8d47-4b1e-9a05-7c2e1d0b4f88
...

Строка ID= и есть имя папки. Удалите только %LOCALAPPDATA%\1C\1cv8\3f6c2a91-... и её пару в %APPDATA% — кэш остальных баз останется, и они запустятся как обычно.

Тонкий клиент, толстый клиент и конфигуратор

Отдельного кэша для каждого вида клиента нет. Тонкий клиент (1cv8c.exe), толстый клиент и конфигуратор (1cv8.exe) пишут в одни и те же GUID-папки базы. Поэтому чистка помогает сразу всем режимам запуска.

Папка с самой платформой, например C:\Program Files\1cv8\8.3.24.1548, — это программа, а не кэш. Удалять старые версии оттуда можно только через «Программы и компоненты», иначе сломается их удаление и обновление. К скорости работы базы эти папки отношения не имеют.

Сколько места занимает кэш

Чтобы увидеть размер кэша по каждой базе, запустите PowerShell от имени пользователя:

Get-ChildItem "$env:LOCALAPPDATA\1C\1cv8" -Directory |
  Where-Object { $_.Name -match '^[0-9a-f]{8}-' } |
  ForEach-Object {
    $size = (Get-ChildItem $_.FullName -Recurse -File -ErrorAction SilentlyContinue |
             Measure-Object Length -Sum).Sum
    [pscustomobject]@{ Folder = $_.Name; MB = [math]::Round($size / 1MB, 1) }
  } | Sort-Object MB -Descending

Папки, которых нет в ibases.v8i, — «сироты». Они остаются, когда базу удалили из списка или добавили заново: новый ID, новая папка, старая так и лежит. За пару лет на машине бухгалтера таких набирается на несколько гигабайт.

Кэш 1С на Linux и на терминальном сервере

Клиент на Linux

Кэш и настройки лежат в скрытых каталогах в домашней папке пользователя: ~/.1cv8/1C/1cv8 (GUID-папки баз) и ~/.1C/1cestart (там же файл ibases.v8i). Если каталоги не нашлись, ищите их командой:

find ~ -maxdepth 4 -type d -iname "1cv8*" 2>/dev/null

Логика та же, что в Windows: одна GUID-папка на базу, имя совпадает со строкой ID= в ibases.v8i.

Терминальный сервер (RDS)

На терминале у каждого пользователя свой профиль, а значит, свой кэш: C:\Users\<логин>\AppData\Local\1C\1cv8. Двадцать бухгалтеров с одной базой — двадцать копий кэша конфигурации на одном диске.

Что важно для администратора:

  • 📦 Кэш лежит в Local и не уезжает с перемещаемым профилем. Это правильно: он большой и быстро меняется.
  • 🐢 Если AppData\Roaming перенаправлена на сетевую папку, служебные файлы 1С из %APPDATA% тоже работают по сети. Запуск и открытие форм от этого замедляются.
  • 🧹 При профилях на дисках UPD/FSLogix кэш живёт внутри файла профиля и раздувает его. Чистка кэша заметно уменьшает такие файлы.

Сервер 1С на Linux

Каталог кластера по умолчанию — /home/usr1cv8/.1cv8/1C/1cv8. Внутри та же структура, что и на Windows: reg_1541 и каталоги баз. Точный путь задаётся параметром -d при запуске агента. Проверить его можно так:

ps aux | grep ragent

В выводе после -d будет каталог кластера. Этот способ надёжнее любых путей по умолчанию: администратор мог перенести каталог на отдельный диск.

Файловая и клиент-серверная база: какой кэш где хранится

Файловый вариант

В файловой базе серверного кэша нет. Есть только клиентский кэш на каждом компьютере и сама папка базы. В папке базы лежат:

  • 1Cv8.1CD — сама база. Не трогать.
  • 1Cv8Log — журнал регистрации. Это не кэш: удалите — потеряете историю действий пользователей.
  • 1Cv8FTxt — индекс полнотекстового поиска. Его можно пересоздать из режима администрирования, но вручную удалять незачем.

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

Клиент-серверный вариант

На сервере 1С для Windows каталог кластера по умолчанию — C:\Program Files\1cv8\srvinfo. Как и на Linux, точный путь виден в свойствах службы агента: параметр -d в строке «Исполняемый файл».

Структура внутри:

ОбъектЧто этоУдалять
1CV8Reg.lstРеестр кластеров сервераНикогда
reg_1541\1CV8Clst.lstРеестр кластера: базы, администраторы, рабочие серверыНикогда
reg_1541\snccntx<GUID>Сеансовые данные, серверный кэшДа, при остановленной службе
reg_1541\<GUID базы>Служебные данные базы, в т. ч. индекс полнотекстового поискаНет

Число 1541 в имени — порт менеджера кластера. Если кластер поднят на другом порту, папка будет называться иначе, например reg_2541.

Потеря 1CV8Clst.lst означает, что кластер «забудет» все зарегистрированные базы. Перед любой чисткой на сервере скопируйте каталог srvinfo целиком в другое место.

Безопасная очистка кэша 1С: четыре способа

СпособКогда подходитРиски
Параметр /ClearCacheПроблема у одного пользователя с одной базойПочти нет
Удаление GUID-папок вручнуюОшибка не уходит после /ClearCache, нужно освободить местоУдалить не те файлы, если 1С открыта
Скрипт по всем профилямТерминальный сервер, массовая чисткаОбрыв работы пользователей, если запустить днём
Чистка серверного кэшаОшибки у всех пользователей сразуОстановка всех сеансов кластера

Способ 1. Запуск с параметром /ClearCache

Самый мягкий вариант: платформа сама сбросит кэш базы при запуске.

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

Тот же параметр можно передать в ярлыке: "C:\Program Files\1cv8\common\1cestart.exe" /ClearCache.

Способ 2. Удаление папок вручную

  1. Закройте все окна 1С. Проверьте в диспетчере задач, что нет процессов 1cv8.exe и 1cv8c.exe.
  2. Откройте %LOCALAPPDATA%\1C\1cv8 и удалите GUID-папку нужной базы или все GUID-папки сразу.
  3. То же сделайте в %APPDATA%\1C\1cv8.
  4. По желанию очистите %TEMP% от файлов v8_*.
  5. Запустите 1С. Первый вход будет дольше обычного.

Файлы .pfl и ibases.v8i не удаляйте: в них настройки окна запуска и список баз.

Способ 3. Скрипт для всех пользователей терминала

Запускайте от имени администратора, когда в 1С никто не работает : ночью или после рассылки предупреждения. Скрипт сам проверяет, не запущена ли 1С, и в этом случае останавливается.

@echo off
tasklist /fi "imagename eq 1cv8c.exe" | find /i "1cv8c.exe" >nul && goto busy
tasklist /fi "imagename eq 1cv8.exe"  | find /i "1cv8.exe"  >nul && goto busy

for /d %%U in ("C:\Users\*") do (
  for /d %%D in ("%%U\AppData\Local\1C\1cv8\????????-????-????-????-????????????") do rd /s /q "%%D"
  for /d %%D in ("%%U\AppData\Roaming\1C\1cv8\????????-????-????-????-????????????") do rd /s /q "%%D"
)
echo Cache cleared.
goto :eof

:busy
echo 1C is running. Ask users to log off and try again.
pause

Маска из вопросительных знаков совпадает только с GUID-папками. Файлы настроек и список баз скрипт не задевает.

Способ 4. Очистка серверного кэша

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

  1. Сохраните копию каталога srvinfo.
  2. Остановите службу агента сервера 1С:Предприятия. На Windows — через services.msc, на Linux — через systemctl stop с именем юнита. Имя юнита покажет systemctl list-units | grep 1cv8.
  3. Убедитесь, что процессов ragent, rmngr и rphost не осталось.
  4. В каталоге reg_1541 удалите папки snccntx*. Остальное не трогайте.
  5. Запустите службу и проверьте вход в базу.

Когда тормоза и ошибки вызваны кэшем: диагностика

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

Быстрая проверка: зайдите в ту же базу с другого компьютера или под другим пользователем Windows. Работает — значит, дело в локальном кэше или профиле.

Перед чисткой запишите себе три вещи. Они пригодятся, если проблема вернётся:

  1. Точный текст ошибки и момент, когда она появляется: при запуске, при открытии формы, при проведении.
  2. Версию платформы на клиенте и на сервере. Она видна в окне «О программе». Расхождение версий клиента и сервера само по себе даёт ошибки, и чистка кэша их не лечит.
  3. Было ли накануне обновление конфигурации , платформы или перезагрузка сервера.

Если после чистки ошибка вернулась через день-два на том же компьютере, кэш — следствие, а не причина. Смотрите антивирус (исключите из проверки папки кэша 1С), нехватку места на диске и стабильность сети до сервера.

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

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

Можно ли чистить кэш, пока 1С открыта?
Нет. Часть файлов занята процессом, удалится не всё, и платформа может получить кэш в рассогласованном состоянии. Сначала закройте 1С у этого пользователя.
Пропадут ли настройки отчётов и форм после очистки кэша?
Нет. В платформе 8.3 пользовательские настройки хранятся в информационной базе. Сбросятся только сведения о последних открытых окнах на этом компьютере.
Как часто нужно чистить кэш 1С?
По расписанию — не нужно. Чистите при ошибках, после неудачного обновления или когда кэш занимает много места. Профилактическая ежедневная чистка только замедляет запуск.
Удаление базы из списка запуска очищает её кэш?
Нет. Запись в ibases.v8i удалится, а GUID-папка останется. Её придётся удалить вручную.
Где кэш у веб-клиента?
В кэше браузера. Помогает очистка данных сайта для адреса публикации или вход в режиме инкогнито для проверки.