Чистим кэш 1С в Управлении торговлей, когда база начала тормозить
Содержание
Утром менеджер жалуется: форма заказа покупателя открывается секунд десять, список номенклатуры мигает старыми данными, а после обновления конфигурации лезут странные ошибки. Часто лечится одним действием. Чтобы очистить кэш
в 1С УТ, закройте программу и удалите содержимое папок 1cv8 в %LOCALAPPDATA%\1C и %APPDATA%\1C, либо запустите 1С с параметром /ClearCache. Серверный кэш чистится отдельно, при остановленной службе.
Ниже порядок от безопасного к радикальному. Начинайте с первого пункта, к реестру переходите в последнюю очередь.
Как понять, что пора чистить кэш
Кэш нужен платформе, чтобы не перечитывать с сервера одно и то же: метаданные, формы, настройки интерфейса. Со временем он разрастается или рассинхронизируется с базой. Типичные признаки:
- 🐢 формы открываются заметно дольше, чем неделю назад, хотя нагрузка на сервер не выросла;
- 🔄 после обновления конфигурации или расширения старый вид формы остаётся на экране;
- ⚠️ сообщения вида «Ошибка при загрузке модуля формы» или «Не удалось получить объект метаданных» у одного пользователя, а у соседа всё работает;
- 📁 на диске C: у пользователя пропали десятки гигабайт, и среди «пожирателей» — папка
1Cв профиле; - 🧩 в УТ не появляется новый реквизит, отчёт или команда, которые только что добавили.
Если ошибка воспроизводится у всех пользователей сразу, дело, скорее всего, не в клиентском кэше. Тогда смотрите серверную часть (раздел про rmngr ниже) или саму конфигурацию.
Быстрая проверка: зайдите в ту же базу с другого компьютера или под другой учётной записью Windows. Работает нормально — виноват локальный кэш конкретного профиля.
Что именно лежит в кэше
| Место | Что хранится | Чем грозит удаление |
|---|---|---|
%LOCALAPPDATA%\1C\1cv8 | кэш метаданных, форм, временные данные клиента | ничего страшного, пересоздаётся при входе |
%APPDATA%\1C\1cv8 | пользовательские настройки окон, форм, колонок | сбросятся расположение окон и ширина колонок |
%LOCALAPPDATA%\Temp | временные файлы 1С и других программ | ничего, если нет открытых файлов |
| каталог кластера на сервере | серверный кэш, сеансовые данные | требует остановки службы |
Список баз (файл ibases.v8i) лежит в другом месте, в %APPDATA%\1C\1CEStart. Его мы не трогаем: иначе придётся заново добавлять базы в окно запуска.
Способ 1. Запуск с параметром /ClearCache
Самый аккуратный вариант: платформа сама удалит то, что считает кэшем конкретной базы. Файлы вручную искать не нужно.
- Закройте все окна 1С.
- В окне запуска выберите базу УТ и нажмите «Изменить».
- Дойдите до последнего шага мастера, где задаются параметры запуска. Поле «Дополнительные параметры запуска» там есть.
- Впишите
/ClearCacheи сохраните. - Запустите базу один раз. Первый вход займёт чуть больше времени: кэш строится заново.
- Вернитесь в настройки и уберите параметр. Иначе кэш будет сбрасываться при каждом запуске, и вы получите вечно медленный старт.
Если ярлык запускает 1С напрямую, параметр дописывается в строку запуска после пути к 1cv8.exe:
"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /IBName "УТ_Торговля" /ClearCache
Название базы и путь подставьте свои. Версия платформы в пути у вас будет другая, это нормально.
Параметр /ClearCache действует на клиенте. Серверный кэш он не очищает. Если тормозит у всех, переходите к разделу про сервер.
Способ 2. Ручное удаление папок профиля пользователя
Когда параметр не помог или базы нет в списке запуска, чистим папки руками. Это тот же кэш, только вы сами решаете, что стирать.
Пошаговая очистка
- Полностью закройте 1С. Откройте диспетчер задач и проверьте, что процессов
1cv8.exeи1cv8c.exeнет. Зависшие тоже снимите. - Нажмите
Win + R, введите%LOCALAPPDATA%\1C\1cv8и нажмите Enter. - Внутри увидите папки с длинными именами из букв и цифр (идентификаторы баз) и несколько служебных файлов. Удалите папки-идентификаторы. Файлы в корне лучше оставить.
- Повторите то же для
%APPDATA%\1C\1cv8. - Запустите 1С и войдите в базу. Первый запуск будет медленнее обычного.
Перед удалением папки из %APPDATA% учтите: вместе с кэшем уйдут личные настройки форм пользователя. Для менеджера, который неделю настраивал колонки в списке документов, это неприятность. Предупредите его заранее или сначала скопируйте папку на рабочий стол.
Если места на диске мало
Иногда проблема не в скорости, а в объёме. Посмотрите, что занимает место: щёлкните по папке правой кнопкой, «Свойства». Если папка 1C в профиле весит десятки гигабайт, после очистки проверьте, не копится ли там что-то снова. Частая причина: десятки пользователей на терминальном сервере, у каждого свой кэш по нескольким базам. Тогда имеет смысл чистить профили по расписанию (см. раздел про автоматизацию).
Отдельно можно пройтись по %LOCALAPPDATA%\Temp. Файлы, которые заняты программами, система не даст удалить: пропустите их.
Очистка серверного кэша в клиент-серверной базе
Клиентский кэш чистится на рабочем месте, серверный лежит на машине, где установлена служба «Агент сервера 1С:Предприятия». Нужен он для того же: ускорить работу, не пересчитывая метаданные при каждом запросе. Но при сбоях именно он иногда держит старое состояние.
За что отвечает rmngr
Кластер серверов
состоит из нескольких процессов. Главный менеджер кластера называется rmngr: он хранит список сеансов и распределяет нагрузку между рабочими процессами rphost. Запускает всё агент сервера ragent. Остановка службы закрывает все эти процессы сразу, поэтому отдельно «убивать» rmngr не нужно, а в рабочее время и вредно: все пользователи вылетят.
Порядок действий
- Дождитесь окончания рабочего дня или согласуйте окно. Все пользователи получат разрыв соединения.
- Убедитесь, что есть свежая копия базы. Сам кэш копировать смысла нет, а вот резервная копия информационной базы перед любой работой на сервере обязательна.
- Остановите службу агента сервера через оснастку «Службы» Windows (либо
net stopс точным именем вашей службы, оно зависит от версии и разрядности). - Откройте каталог данных кластера. Путь вы задавали при установке. Обычно это папка
srvinfo, внутри каталогreg_1541(по номеру порта менеджера кластера). - Внутри найдите подкаталоги с именами, начинающимися на
snccntx. Это сеансовые данные. Удалите их. Остальное, особенно файл списка кластеров и папки с идентификаторами баз, не трогайте: там живут настройки кластера и журнал регистрации. - Запустите службу. Подключитесь к базе: первые входы будут медленными.
Без резервной копии каталог srvinfo лучше не открывать вообще. Если удалить лишнее, придётся пересоздавать кластер и перерегистрировать базы.
Для файловой базы серверной части нет: достаточно клиентской очистки на каждом компьютере, где работают с этой базой.
Что делать с реестром Windows
Многие советы по теме начинаются с regedit. Для кэша 1С он нужен гораздо реже, чем пишут. Реестр имеет смысл трогать, когда сброс папок не помог, а проблема воспроизводится только под конкретным пользователем Windows: платформа держит часть настроек клиента в ветке пользователя.
Порядок такой:
- Закройте 1С.
- Откройте
regedit. - Найдите в ветке
HKEY_CURRENT_USER\Softwareраздел, относящийся к 1С (если он есть на вашей машине). - Сначала экспортируйте ветку: правая кнопка, «Экспортировать». Получите
.reg-файл, которым можно откатиться. - Удалите раздел и запустите 1С. Платформа создаст значения по умолчанию.
Не удаляйте ничего за пределами раздела 1С и не чистите «всё подряд» утилитами-оптимизаторами. Они ломают ассоциации файлов и настройки лицензирования; последствия потом собирают неделю.
Если вы не уверены в ветке, сначала проверьте результат на тестовой учётной записи. Это дольше на двадцать минут, зато без риска.
Веб-клиент: кэш браузера и что с ним делать
Если пользователи работают в УТ через браузер, 1С-кэш на их ПК не лежит. Зато есть кэш самого браузера, и он умеет подсовывать старые скрипты и формы после обновления платформы или публикации.
Что помогает по возрастанию радикальности:
- 🔃 жёсткое обновление страницы
:
Ctrl + F5; - 🧹 очистка кэша и файлов cookie только для адреса вашей базы (в настройках браузера найдите «Данные сайтов» и удалите запись по домену);
- 🕵️ проверка в режиме инкогнито: если там всё хорошо, виноват кэш или расширение;
- 🖥️ при публикации на собственном сервере: после замены файла
default.vrdили обновления платформы перезапустите веб-сервер (IIS или Apache), чтобы он подхватил новую публикацию.
Расширения вроде блокировщиков рекламы тоже иногда ломают формы. Если в инкогнито работает, а в обычном окне нет, отключайте расширения по одному.
Автоматизация: bat-скрипт для регулярной очистки
Вручную ходить по компьютерам надоест быстро. Если у вас два десятка рабочих мест, настройте очистку при входе пользователя или раз в неделю по расписанию.
Минимальный скрипт для клиента:
@echo off
rem Закрываем 1С, если она ещё запущена
taskkill /f /im 1cv8.exe >nul 2>&1
taskkill /f /im 1cv8c.exe >nul 2>&1
rem Удаляем кэш клиента
for /d %%i in ("%LOCALAPPDATA%\1C\1cv8\*") do rd /s /q "%%i"
Скрипт чистит только Local. Настройки пользователя в Roaming он не трогает: так безопаснее. Положите файл в сетевую папку и подключите через групповую политику (сценарий входа) или через планировщик задач Windows.
Хотите убирать кэш не у всех подряд, а точечно? Добавьте в скрипт проверку имени компьютера или проверьте дату последней очистки в текстовом файле. Так вы не будете замедлять старт каждый день.
Для сервера расписание строить опаснее: остановка службы выкидывает пользователей. Если делаете это ночью, поставьте напоминание, что до начала рабочего дня служба должна быть запущена, и проверяйте её статус утром.
Если очистка не помогла
Кэш виноват не всегда. Когда после чистки ничего не изменилось, смотрите дальше:
Ещё один путь: полная пересборка клиентского окружения. Закройте 1С, переименуйте папки 1C в %LOCALAPPDATA% и %APPDATA% (например, в 1C_old) и запустите платформу. Если всё заработало, значит, проблема была в профиле, а в 1C_old лежат ваши настройки на случай, если что-то нужно вернуть.
Как не доводить до чистки
Регулярно чистить кэш руками — признак того, что где-то системная проблема. Что стоит проверить:
- 📌 обновления платформы и конфигурации ставятся вовремя, на всех клиентах одна версия платформы;
- 🧮 размер базы и журнала регистрации под контролем, старые данные периодически сворачиваются;
- 💾 у пользователей достаточно места на системном диске;
- 🔐 антивирус не сканирует каталоги платформы при каждом обращении;
- 🧾 после обновления конфигурации и расширений выполнена перезагрузка клиентов, а не просто «закрыть окно».
Если приходится чистить кэш чаще раза в месяц на одном и том же компьютере, поменяйте диск или посмотрите на нехватку оперативной памяти: частая причина именно такая.
Частые вопросы
Удалятся ли мои данные в базе при очистке кэша?
%APPDATA%.