Администрирование · 10 мин
Как работает кэш 1С и что делать при его повреждении
Разбираем, как устроен кэш 1С: типы кэша платформы и метаданных, признаки повреждения, безопасная очистка, типичные ошибки и профилактика.
Кэш в 1С — это промежуточное хранилище данных, которое платформа создаёт, чтобы не читать одну и ту же информацию заново из базы или файлов конфигурации. Благодаря кэшу формы открываются быстрее, справочники подгружаются мгновенно, а повторные запросы к данным не нагружают сервер. Когда кэш работает корректно, пользователь его не замечает. Проблемы начинаются, когда кэш устаревает или повреждается: программа начинает выдавать ошибки, у одного пользователя «пропадают» документы, которые видят остальные, а интерфейс ведёт себя непредсказуемо.
Различают несколько уровней кэширования: клиентский кэш метаданных на компьютере пользователя, серверный кэш на сервере 1С, кэш СУБД и кэш операционной системы. Чаще всего администраторы сталкиваются именно с клиентским кэшем метаданных — он хранится в профиле пользователя Windows и периодически «застревает» в несогласованном состоянии после обновлений конфигурации или аварийного завершения сеанса.
Понимание того, какой именно кэш влияет на конкретную проблему, экономит часы диагностики. Очистка «не того» кэша в лучшем случае ничего не даст, а в худшем — приведёт к потере несохранённых настроек пользователей или временной недоступности базы.
Какие виды кэша существуют в 1С
Клиентский кэш метаданных — самый известный. Платформа сохраняет скомпилированное описание конфигурации (структуру объектов, форм, модулей) в локальной папке пользователя, чтобы при следующем запуске не загружать её целиком. Для файловых баз путь обычно выглядит как %APPDATA%\1C\1cv8\ и %LOCALAPPDATA%\1C\1cv8\, внутри — папки с уникальными идентификаторами баз.
Серверный кэш работает на сервере приложений 1С в клиент-серверном режиме. Рабочие процессы сервера держат в памяти метаданные, результаты запросов и служебные структуры. Этот кэш общий для пользователей базы, и его повреждение встречается реже, но влияет сразу на всех.
Отдельно стоит кэш СУБД (MS SQL, PostgreSQL): буферный пул, кэш планов запросов. Он управляется самой СУБД и напрямую платформой 1С не контролируется. Также существует кэш COM-соединений и веб-сервисов, который актуален для интеграций.
Как платформа использует кэш при запуске и в работе
При первом подключении к базе платформа считывает конфигурацию и формирует кэш: создаёт служебные файлы в папке с идентификатором базы. При последующих запусках проверяется версия конфигурации — если она не менялась, кэш используется повторно, и запуск проходит заметно быстрее. Если конфигурация обновилась, платформа должна перестроить кэш автоматически.
Во время работы кэшируются и другие данные: настройки интерфейса, варианты отчётов, данные механизмов повторного использования возвращаемых значений (например, результаты функций общих модулей с признаком «Повторное использование»). Это снижает количество обращений к серверу, но создаёт риск рассинхронизации: локальная копия может не соответствовать актуальному состоянию базы.
Аварийное завершение сеанса — типичная причина повреждения. Если программу закрыли принудительно в момент записи кэша, файлы остаются в промежуточном состоянии, и при следующем запуске платформа читает некорректные данные.
Признаки повреждённого или устаревшего кэша
Характерный симптом — проблема проявляется только у одного пользователя или на одном компьютере, а у остальных всё работает нормально. Это почти всегда указывает на локальный клиентский кэш, а не на ошибку в конфигурации или данных.
Попросите пользователя войти с другого компьютера — если ошибки нет, кэш локальный
Типичная ошибка после аварийного завершения; лечится очисткой кэша
Проверьте, видят ли изменения другие пользователи
Сравните поведение под другим пользователем на том же ПК
Другие типичные проявления: ошибка «Ошибка формата потока», сообщения о несоответствии версий, «исчезнувшие» кнопки и реквизиты после обновления конфигурации, зависания при открытии конкретных форм. В клиент-серверном режиме подобные симптомы у всех пользователей сразу могут указывать на серверный кэш — тогда помогает перезапуск службы агента сервера 1С.
Как очистить клиентский кэш метаданных
Самый надёжный способ — удалить папки кэша вручную при закрытой программе. Закройте все сеансы 1С, откройте проводник, введите в адресной строке %APPDATA%\1C\1cv8 и удалите папки с длинными буквенно-цифровыми именами (это идентификаторы баз). Повторите то же для %LOCALAPPDATA%\1C\1cv8. При следующем запуске платформа создаст кэш заново — первый вход будет медленнее обычного, это нормально.
Альтернативный способ — удалить базу из списка в окне запуска 1С и добавить её заново. При добавлении базе присваивается новый идентификатор, и старый кэш просто перестаёт использоваться. Этот вариант удобен, если не хочется разбираться, какая папка к какой базе относится.
Третий вариант — параметр командной строки /ClearCache при запуске конфигуратора или предприятия. Он очищает кэш конкретной базы, но требует аккуратности с ярлыками и не всегда удобен для массового применения.
- 1Закройте все сеансы 1С у пользователя
- 2Убедитесь, что есть резервная копия базы
- 3Откройте %APPDATA%\1C\1cv8 и удалите папки с идентификаторами баз
- 4Повторите очистку в %LOCALAPPDATA%\1C\1cv8
- 5Запустите 1С и проверьте, исчезла ли ошибка
- 6Если проблема осталась у всех пользователей — проверяйте серверный кэш и саму конфигурацию
Серверный кэш и кэш в клиент-серверном режиме
В клиент-серверном варианте часть кэша живёт на сервере приложений 1С. Если ошибка проявляется у всех пользователей базы одновременно, а очистка локальных кэшей не помогает, стандартное действие — перезапуск службы «Агент сервера 1С:Предприятия». При этом рабочие процессы пересоздаются и серверный кэш очищается.
Перезапуск службы разрывает активные сеансы, поэтому выполняйте его в нерабочее время или предупредите пользователей. Незавершённые транзакции откатятся, данные не пострадают, но несохранённая работа пользователей будет потеряна.
Дополнительно можно очистить каталог служебных файлов сервера (srvinfo, подкаталоги reg_1541 и журналы), но это уже операция для опытного администратора: ошибочное удаление рабочих каталогов кластера может потребовать перерегистрации баз.
Способы очистки кэша
Надёжно и точечно; требует доступа к профилю пользователя и понимания структуры папок
Просто и безопасно; старый кэш остаётся на диске и занимает место
Быстро для конкретной базы; неудобно массово и требует настройки ярлыков
Решает проблемы серверного кэша; разрывает сеансы всех пользователей
Типичные ошибки при работе с кэшем
Отдельная распространённая ситуация — регулярная очистка кэша «для профилактики» по расписанию. Это вредная практика: кэш — рабочий механизм платформы, и его постоянное удаление лишь замедляет запуск программы у всех пользователей, не решая никакой проблемы. Очищать кэш нужно по факту конкретной ошибки, а не «на всякий случай».
Профилактика и снижение риска повреждений
Большинство повреждений кэша связано с аварийными завершениями: отключение электричества, принудительное завершение процесса, обрыв сети при работе по RDP. Минимизировать риск помогают источники бесперебойного питания на рабочих станциях и серверах, корректное завершение сеансов и стабильная сеть.
Обновления конфигурации лучше выполнять в монопольном режиме с выгоном пользователей и последующим контрольным запуском: так платформа гарантированно перестроит кэш до начала работы. После обновления полезно проверить запуск у нескольких пользователей, чтобы вовремя поймать рассинхронизацию.
Как проверить результат очистки
Первый запуск чуть медленнее, ошибок нет
Ошибка воспроизводится сразу — причина не в кэше
У всех работает одинаково корректно
Ошибка у всех — проверяйте серверный кэш или конфигурацию
Форма открывается, данные актуальны
Старые данные или падение — нужна диагностика кода и журнала регистрации
Частые вопросы
Очистка кэша удалит мои данные или настройки?
Данные информационной базы не пострадают — кэш хранит только служебные копии метаданных. Однако могут сброситься некоторые локальные настройки интерфейса: расположение окон, открытые вкладки. Пользовательские настройки отчётов и списков обычно хранятся в самой базе и сохраняются.
Как понять, кэш какой базы лежит в конкретной папке?
Имя папки — это уникальный идентификатор, который платформа присваивает базе при добавлении в список. Однозначно сопоставить папку и базу «снаружи» сложно, поэтому проще либо удалить все папки кэша, либо пересоздать нужную базу в списке запуска — тогда старый идентификатор перестанет использоваться.
Почему после очистки кэша 1С стала запускаться медленнее?
Это ожидаемо: платформа заново строит кэш метаданных, считывая конфигурацию целиком. Первый запуск после очистки всегда дольше, со второго-третьего раза скорость возвращается к обычной.
Нужно ли чистить кэш после каждого обновления конфигурации?
Нет. Платформа при обновлении сама перестраивает кэш, если обновление прошло штатно. Очистка требуется только при появлении ошибок: «Ошибка формата потока», несоответствие отображаемых данных, проблемы у отдельных пользователей.
Можно ли автоматизировать очистку кэша для всех пользователей?
Технически — да, через скрипты групповой политики или планировщик, удаляющие папки кэша при выходе из системы. Но делать это регулярно не рекомендуется: автоматическая очистка оправдана только как временная мера на период массового обновления, а не как постоянная практика.
Ошибка «Ошибка формата потока» — это всегда кэш?
Чаще всего да, это повреждённый клиентский кэш метаданных, и очистка помогает. Но в клиент-серверном режиме та же ошибка может указывать на проблемы серверного кэша или повреждённые данные в базе. Если после очистки локального кэша ошибка осталась — перезапустите сервер 1С и проверьте базу утилитой chdbfl или тестированием и исправлением.
Что важно запомнить
Кэш 1С ускоряет работу, храня локальные копии метаданных и служебных данных. Проблема у одного пользователя — почти всегда клиентский кэш, лечится удалением папок в %APPDATA% и %LOCALAPPDATA% при закрытой программе. Проблема у всех — проверяйте серверный кэш и перезапускайте агент сервера. Чистите кэш по факту ошибки, а не для профилактики, и всегда держите резервную копию.