Кэш 1С 8.3 на компьютере и на сервере: что удалять, чтобы база снова работала

· 9 мин

Содержание

Чтобы очистить кэш 1С 8.3, закройте программу и удалите папки с длинными именами вида a3f1c2d4-... из %APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8. Второй способ — добавить к базе параметр запуска /ClearCache: платформа сама сбросит кэш при входе. Список баз, данные и проводки при этом не пострадают.

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

Зачем 1С хранит кэш и когда его пора чистить

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

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

Признаки, что пора чистить кэш :

  • 🐢 база стала запускаться заметно дольше, чем у коллег на том же сервере;
  • 🧩 после обновления конфигурации у одного пользователя старый интерфейс или пропали новые команды;
  • 💥 ошибка при открытии конкретной формы, которая у других открывается нормально;
  • 🔁 изменения в расширении конфигурации не видны, хотя расширение применено;
  • 🖨 внешняя печатная форма или обработка открывается в старой версии;
  • 📦 папка 1cv8 в профиле разрослась до нескольких гигабайт.

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

Где лежат временные файлы 1С в Windows

Кэш хранится в профиле пользователя Windows, у каждого свой. Папок две:

ПапкаЧто внутри
%APPDATA%\1C\1cv8кэш конфигураций по базам, общие настройки клиента
%LOCALAPPDATA%\1C\1cv8кэш конфигураций, внешние компоненты, служебные данные
%APPDATA%\1C\1CEStartсписок баз ibases.v8i и настройки окна запуска
%TEMP%временные файлы сеанса вида v8_*.tmp

Чтобы попасть в папку, нажмите Win+R, вставьте %APPDATA%\1C\1cv8 и нажмите Enter. Windows подставит путь вроде C:\Users\ivanova\AppData\Roaming\1C\1cv8. Для второй папки — то же самое с %LOCALAPPDATA%\1C\1cv8.

Внутри вы увидите папки с именами из 36 символов: цифры, латинские буквы a–f и дефисы. Каждая такая папка — кэш одной информационной базы. Если пользователь работает с пятью базами, папок будет пять или больше: старые от удалённых баз платформа не убирает.

Что удалять нельзя

  • ❌ ibases.v8i в %APPDATA%\1C\1CEStart — это список баз. Удалите его, и пользователь увидит пустое окно запуска.
  • ❌ 1cestart.cfg — настройки запуска, в том числе адреса общих списков баз.
  • ❌ файлы с расширением .pfl в корне %APPDATA%\1C\1cv8 — локальные настройки клиента. Их можно удалить, если очистка папок не помогла, но пользователь потеряет часть своих настроек окна запуска.

Папки с GUID-именами удалять безопасно. Данные учёта лежат в самой базе, а не в профиле.

Кэш 1С на Linux и macOS

На Linux клиент 1С хранит кэш в скрытом каталоге домашней папки пользователя. Основной путь — ~/.1cv8/1C/1cv8/. Список баз лежит отдельно, в ~/.1C/1cestart/ibases.v8i.

Скрытые каталоги в файловом менеджере не видны по умолчанию. Включите их отображение сочетанием Ctrl+H или работайте из терминала:

ls -la ~/.1cv8/1C/1cv8/

Структура та же, что в Windows: папки с GUID-именами по числу баз. Удаляйте их при закрытом клиенте.

На macOS клиент 1С тоже складывает кэш в домашний каталог пользователя, в скрытую папку .1cv8. В Finder её показывает сочетание Cmd+Shift+.. Если пути у вас отличаются, найдите папку командой в терминале:

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

На Linux не запускайте очистку через sudo из-под root: так вы почистите кэш администратора, а не пользователя. Работайте под той учётной записью, у которой проблема.

Ручная очистка кэша 1С: удаляем папки

Способ подходит для любой версии платформы 8.3 и для всех баз сразу.

  1. Закройте все окна 1С на компьютере: и пользовательский режим, и Конфигуратор.
  2. Откройте Диспетчер задач (Ctrl+Shift+Esc) и убедитесь, что нет процессов 1cv8.exe и 1cv8c.exe. Если есть — завершите их. Несохранённые изменения в этих окнах пропадут.
  3. Нажмите Win+R, введите %APPDATA%\1C\1cv8, нажмите Enter.
  4. Выделите все папки с длинными GUID-именами и удалите их. Файлы .pfl не трогайте.
  5. Повторите шаги 3–4 для %LOCALAPPDATA%\1C\1cv8.
  6. По желанию очистите %TEMP% от файлов v8_*.tmp. Занятые файлы Windows удалить не даст — пропустите их.
  7. Запустите 1С и войдите в базу.

Если папка не удаляется и Windows пишет, что файл открыт в другой программе, значит, какой-то процесс 1С ещё работает. Чаще всего это фоновый Конфигуратор или зависший тонкий клиент — вернитесь к шагу 2.

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

Как почистить кэш только одной базы

Если баз много и сбрасывать все не хочется, найдите нужную папку по дате изменения. Запустите проблемную базу, закройте её и отсортируйте папки в %APPDATA%\1C\1cv8 по столбцу «Дата изменения». Самая свежая папка относится к только что открытой базе. Удалите её и такую же по дате в %LOCALAPPDATA%\1C\1cv8.

Параметр /ClearCache: очистка средствами самой платформы

Отдельной программы для очистки кэша в составе платформы нет. Вместо неё есть параметр командной строки /ClearCache. С ним клиент при входе удаляет кэш конфигурации этой базы и загружает его заново.

Как добавить параметр через окно запуска:

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

Если кэш после этого перестал мешать, сотрите параметр. С ним каждый вход будет медленным, как первый.

Параметр можно передать и напрямую, ярлыком или из командной строки:

"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /IBName "Бухгалтерия" /ClearCache

Имя после /IBName должно совпадать с названием базы в списке.

Ручное удаление или /ClearCache: что выбрать

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

Кэш на сервере 1С:Предприятия

В клиент-серверном варианте есть второй уровень кэша — на сервере. Рабочие процессы хранят сеансовые данные в папках snccntx с суффиксом-идентификатором внутри каталога кластера.

Для Windows по умолчанию это C:\Program Files\1cv8\srvinfo\reg_1541\, для Linux — /home/usr1cv8/.1cv8/1C/1cv8/reg_1541/. Если при установке службы задан другой каталог srvinfo, ищите reg_1541 там.

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

  1. Предупредите пользователей: при остановке службы оборвутся все сеансы на сервере, несохранённые данные пропадут. Делайте это вечером или в согласованное окно.
  2. Остановите службу «Агент сервера 1С:Предприятия 8.3» в оснастке «Службы» (services.msc), на Linux — через systemctl stop с именем вашей службы сервера 1С.
  3. В каталоге reg_1541 удалите только папки, имя которых начинается с snccntx.
  4. Запустите службу и проверьте вход в базу.

Файл 1CV8Clst.lst и папки с GUID-именами в reg_1541 не удаляйте. Первый — реестр кластера со списком баз и настройками, вторые содержат служебные данные баз на сервере. Без них кластер придётся настраивать заново.

Автоматизация очистки для системного администратора

На терминальном сервере с десятками пользователей ручная очистка превращается в обход по профилям. Здесь выручают скрипты.

PowerShell для текущего пользователя

Скрипт проверяет, что 1С закрыта, и удаляет только папки с GUID-именами:

$running = Get-Process -Name 1cv8, 1cv8c -ErrorAction SilentlyContinue
if ($running) {
    Write-Host "1С запущена, закройте все окна программы"
    exit 1
}
$guid = '^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[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 "Кэш 1С очищен"

Сохраните его как clear1c.ps1 и раздайте пользователям ярлыком:

powershell.exe -NoProfile -ExecutionPolicy Bypass -File "\\server\scripts\clear1c.ps1"

Для всех профилей терминального сервера

Запускайте от администратора, когда пользователи вышли из системы. Скрипт проходит по всем профилям в C:\Users:

$guid = '^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$'
Get-ChildItem C:\Users -Directory | ForEach-Object {
    foreach ($sub in "AppData\Roaming\1C\1cv8", "AppData\Local\1C\1cv8") {
        $path = Join-Path $_.FullName $sub
        if (Test-Path $path) {
            Get-ChildItem $path -Directory |
                Where-Object { $_.Name -match $guid } |
                Remove-Item -Recurse -Force -ErrorAction SilentlyContinue
        }
    }
}

Если в профиле остался работающий сеанс 1С, занятые файлы не удалятся. Проверьте список сеансов в диспетчере задач на вкладке «Пользователи» перед запуском.

Linux: скрипт для одного пользователя

#!/bin/bash
if pgrep -u "$USER" -f 1cv8 > /dev/null; then
  echo "1С запущена, закройте программу"
  exit 1
fi
find ~/.1cv8/1C/1cv8 -maxdepth 1 -type d \
  -regextype posix-extended \
  -regex '.*/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}' \
  -exec rm -rf {} +
echo "Кэш 1С очищен"

Когда запускать по расписанию

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

  • 📅 сразу после планового обновления конфигурации, до начала рабочего дня;
  • 🔄 после перехода на новую версию платформы;
  • 🧹 раз в квартал на терминальных серверах, где профили раздуваются от удалённых баз.

Удобнее всего повесить скрипт на задание в Планировщике заданий Windows с запуском ночью или на сценарий входа через групповую политику в день обновления.

Перед массовой очисткой кэша
Выполнено: 0 / 5

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

Кэш — не единственная причина «глюков». Если после очистки проблема осталась, проверьте по порядку:

  • 🖥 версию платформы. У проблемного пользователя может запускаться другая версия клиента, чем у остальных. Посмотрите в окне запуска при редактировании базы, какая версия указана, или откройте «Справка → О программе» в самой базе.
  • 🧩 расширения. Отключите подозрительное расширение у себя через Администрирование → Печатные формы, отчёты и обработки → Расширения и проверьте, повторяется ли ошибка.
  • 👤 настройки пользователя. Испорченные настройки форм хранятся в самой базе, поэтому очистка кэша их не трогает. Их сбрасывают в Администрирование → Настройки пользователей и прав → Настройки пользователей.
  • 🗄 саму базу. Если ошибка у всех пользователей и на разных компьютерах, нужна проверка средствами Конфигуратора или серверная очистка из раздела выше.
  • 🌐 браузер. Для веб-клиента локального кэша 1С нет, его роль играет кэш браузера. Очистите его или откройте базу в режиме инкогнито.
Удалятся ли документы и справочники при очистке кэша 1С?
Нет. Все данные учёта хранятся в базе: в файле 1Cv8.1CD или на сервере СУБД. В кэше лежит только копия конфигурации для быстрого запуска.
Почему после очистки 1С запускается медленнее?
Платформа заново скачивает конфигурацию с сервера или из файла базы. Так происходит только на первом входе, дальше скорость возвращается.
Нужны ли права администратора для очистки кэша?
Для своего профиля — нет, папки в AppData принадлежат пользователю. Права нужны, чтобы чистить чужие профили или серверный кэш.
Можно ли очистить кэш, не закрывая 1С?
Нет. Работающий клиент держит файлы кэша открытыми, и Windows не даст их удалить. Исключение — параметр /ClearCache, который действует при следующем входе.
Пропадёт ли список баз после очистки?
Нет, если не удалять файл ibases.v8i из папки 1CEStart. Удаление GUID-папок на список баз не влияет.