К статье
Практический материал

Администрирование · 11 мин

Как очистить кэш хранилища в 1С

Как очистить кэш в 1С: удаление папок кэша, параметр /ClearCache, очистка кэша хранилища конфигурации и метаданных. Признаки проблем и проверка результата.

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

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

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

Когда очистка кэша действительно нужна

Не любая ошибка в 1С лечится очисткой кэша. Характерные признаки «кэшевых» проблем: ошибка «Ошибка формата потока» при запуске или в процессе работы, ситуация, когда у разработчика изменения видны, а у пользователей — нет, нестандартное поведение форм после обновления конфигурации, ошибки при подключении к хранилищу конфигурации или при захвате/помещении объектов.

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

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

Ошибка формата потокаВероятно повреждён кэш

Помогает ли перезапуск; ошибка у одного пользователя или у всех

Изменения не видны пользователямУстаревший кэш метаданных

Появляется ли проблема после обновления конфигурации

Ошибки при работе с хранилищемРассинхронизация кэша хранилища

Ошибки при захвате, помещении, получении версий

Ошибка у всех пользователей сразуПроблема не в локальном кэше

Проверять серверный кэш, данные или код конфигурации

Где физически находится кэш 1С

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

  • C:\Users\ИмяПользователя\AppData\Roaming\1C\1cv8 — основной кэш метаданных;
  • C:\Users\ИмяПользователя\AppData\Local\1C\1cv8 — дополнительные временные данные;
  • для 1cv7 структура аналогична, но папки называются иначе.

Быстро попасть в нужный каталог можно через диалог «Выполнить» (Win+R): введите %APPDATA%\1C\1cv8 или %LOCALAPPDATA%\1C\1cv8. Внутри находятся папки с длинными именами — это идентификаторы (GUID) информационных баз, прописанных в списке запуска.

Кэш хранилища конфигурации для файловых баз обычно лежит в подкаталогах вида %APPDATA%\1C\1cv8\<GUID>..., а для клиент-серверных — в каталоге srvinfo на сервере 1С (папки вида reg_1541 и др. содержат служебные данные, но кэш хранилища там чистится только администратором сервера и с осторожностью).

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

Самый надёжный и универсальный метод. Порядок действий:

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

Не удаляйте сам файл списка баз ibases.v8i, если он лежит в том же каталоге, — иначе пропадёт список подключённых информационных баз в стартовом окне. Удалять нужно только папки с GUID-именами.

Порядок действий
  1. 1
    Закрыть все сеансы 1С и проверить отсутствие процессов 1cv8 в диспетчере задач
  2. 2
    Открыть %APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8 через Win+R
  3. 3
    Удалить папку с идентификатором проблемной базы (или все папки кэша)
  4. 4
    Запустить 1С и дождаться пересоздания кэша
  5. 5
    Проверить, исчезла ли исходная ошибка

Способ 2. Параметр /ClearCache и удаление базы из списка

Более «мягкий» вариант — запуск толстого клиента с параметром /ClearCache. Для этого создайте ярлык или измените строку запуска: "C:\Program Files\1cv8\...\bin\1cv8.exe" ENTERPRISE /F"путь_к_базе" /ClearCache. Параметр очищает кэш метаданных при запуске. Ограничение: работает не во всех сценариях и не очищает кэш хранилища.

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

cmd
"C:\Program Files\1cv8\8.3.22.1750\bin\1cv8.exe" ENTERPRISE /F"D:\Bases\Trade" /ClearCache

Способ 3. Очистка кэша хранилища конфигурации

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

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

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

Особенности для клиент-серверных баз

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

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

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

Типичные ошибки при очистке кэша

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

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

Третья — ожидание, что очистка кэша исправит ошибки в данных или коде. Кэш влияет только на отображение и обмен служебной информацией; ошибки учёта, проведения и расчётов он не устраняет.

Типичные ошибки
01
Удаление папок при запущенной 1С — файлы заблокированы, кэш повреждается ещё сильнее
02
Удаление файла ibases.v8i вместе с кэшем — пропадает список баз в стартовом окне
03
Отключение от хранилища без помещения изменений — теряются незахваченные доработки
04
Очистка кэша при ошибках в данных — время потрачено, причина не устранена
05
Ручное удаление файлов из srvinfo на сервере — риск повредить служебные данные кластера

Как проверить результат

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

Для хранилища конфигурации выполните «Обновить статусы» и попробуйте захватить и поместить тестовый объект. Если операции проходят без конфликтов — кэш хранилища синхронизирован.

Контрольные точки

Как проверить результат

Запуск базы после очистки
Норма

Первый запуск медленнее, затем скорость обычная

Тревожный признак

Ошибка формата потока возникает снова

Работа с хранилищем
Норма

Захват и помещение объектов проходят без конфликтов

Тревожный признак

Ложные конфликты версий сохраняются

Ошибка у пользователей
Норма

Ошибка исчезла у всех после чистки или перезапуска сервера

Тревожный признак

Ошибка осталась у всех — причина в данных или коде

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

Итог

Что важно запомнить

Кэш 1С безопасно удаляется при закрытой программе из %APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8; кэш хранилища пересоздаётся через отключение и повторное подключение в конфигураторе; серверный кэш сбрасывается перезапуском службы агента. Перед манипуляциями с хранилищем обязательно поместите изменения и сделайте выгрузку конфигурации.

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

Удалятся ли данные базы при очистке кэша?

Нет. В папках кэша хранятся только временные служебные файлы: скомпилированные модули, настройки форм, копии метаданных. Сама информационная база (файл 1Cv8.1CD или данные в СУБД) находится в другом месте и не затрагивается.

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

Идентификатор базы можно посмотреть в файле ibases.v8i: там каждой базе соответствует её GUID, совпадающий с именем папки кэша. Если разбираться не хочется — удалите все папки кэша, это безопасно, просто пересоздадутся кэши всех баз.

Нужно ли чистить кэш регулярно для профилактики?

Обязательной регулярной чистки не требуется. Разумная практика — очищать кэш после обновления конфигурации, при появлении ошибок формата потока и при странностях в работе хранилища. Постоянная профилактическая чистка лишь замедляет первый запуск.

Ошибка формата потока не исчезла после очистки кэша. Что делать?

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

Можно ли очистить кэш хранилища без отключения от него?

Частично — команда «Обновить статусы» в меню хранилища конфигурации синхронизирует состояние без полного переподключения. Но при серьёзной рассинхронизации помогает только отключение от хранилища и повторное подключение с полной перезагрузкой данных.

Где лежит кэш у веб-клиента и тонкого клиента?

Тонкий клиент использует те же каталоги %APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8. Для веб-клиента часть кэша находится в браузере — там дополнительно помогает очистка кэша самого браузера и локального хранилища сайта.