Чистим кэш 1С в Управлении торговлей, когда база начала тормозить

· 9 мин

Содержание

Утром менеджер жалуется: форма заказа покупателя открывается секунд десять, список номенклатуры мигает старыми данными, а после обновления конфигурации лезут странные ошибки. Часто лечится одним действием. Чтобы очистить кэш в 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. Закройте все окна 1С.
  2. В окне запуска выберите базу УТ и нажмите «Изменить».
  3. Дойдите до последнего шага мастера, где задаются параметры запуска. Поле «Дополнительные параметры запуска» там есть.
  4. Впишите /ClearCache и сохраните.
  5. Запустите базу один раз. Первый вход займёт чуть больше времени: кэш строится заново.
  6. Вернитесь в настройки и уберите параметр. Иначе кэш будет сбрасываться при каждом запуске, и вы получите вечно медленный старт.

Если ярлык запускает 1С напрямую, параметр дописывается в строку запуска после пути к 1cv8.exe:

"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /IBName "УТ_Торговля" /ClearCache

Название базы и путь подставьте свои. Версия платформы в пути у вас будет другая, это нормально.

Параметр /ClearCache действует на клиенте. Серверный кэш он не очищает. Если тормозит у всех, переходите к разделу про сервер.

Способ 2. Ручное удаление папок профиля пользователя

Когда параметр не помог или базы нет в списке запуска, чистим папки руками. Это тот же кэш, только вы сами решаете, что стирать.

Пошаговая очистка

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

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

Если места на диске мало

Иногда проблема не в скорости, а в объёме. Посмотрите, что занимает место: щёлкните по папке правой кнопкой, «Свойства». Если папка 1C в профиле весит десятки гигабайт, после очистки проверьте, не копится ли там что-то снова. Частая причина: десятки пользователей на терминальном сервере, у каждого свой кэш по нескольким базам. Тогда имеет смысл чистить профили по расписанию (см. раздел про автоматизацию).

Отдельно можно пройтись по %LOCALAPPDATA%\Temp. Файлы, которые заняты программами, система не даст удалить: пропустите их.

Очистка серверного кэша в клиент-серверной базе

Клиентский кэш чистится на рабочем месте, серверный лежит на машине, где установлена служба «Агент сервера 1С:Предприятия». Нужен он для того же: ускорить работу, не пересчитывая метаданные при каждом запросе. Но при сбоях именно он иногда держит старое состояние.

За что отвечает rmngr

Кластер серверов состоит из нескольких процессов. Главный менеджер кластера называется rmngr: он хранит список сеансов и распределяет нагрузку между рабочими процессами rphost. Запускает всё агент сервера ragent. Остановка службы закрывает все эти процессы сразу, поэтому отдельно «убивать» rmngr не нужно, а в рабочее время и вредно: все пользователи вылетят.

Порядок действий

  1. Дождитесь окончания рабочего дня или согласуйте окно. Все пользователи получат разрыв соединения.
  2. Убедитесь, что есть свежая копия базы. Сам кэш копировать смысла нет, а вот резервная копия информационной базы перед любой работой на сервере обязательна.
  3. Остановите службу агента сервера через оснастку «Службы» Windows (либо net stop с точным именем вашей службы, оно зависит от версии и разрядности).
  4. Откройте каталог данных кластера. Путь вы задавали при установке. Обычно это папка srvinfo, внутри каталог reg_1541 (по номеру порта менеджера кластера).
  5. Внутри найдите подкаталоги с именами, начинающимися на snccntx. Это сеансовые данные. Удалите их. Остальное, особенно файл списка кластеров и папки с идентификаторами баз, не трогайте: там живут настройки кластера и журнал регистрации.
  6. Запустите службу. Подключитесь к базе: первые входы будут медленными.

Без резервной копии каталог srvinfo лучше не открывать вообще. Если удалить лишнее, придётся пересоздавать кластер и перерегистрировать базы.

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

Что делать с реестром Windows

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

Порядок такой:

  1. Закройте 1С.
  2. Откройте regedit.
  3. Найдите в ветке HKEY_CURRENT_USER\Software раздел, относящийся к 1С (если он есть на вашей машине).
  4. Сначала экспортируйте ветку: правая кнопка, «Экспортировать». Получите .reg-файл, которым можно откатиться.
  5. Удалите раздел и запустите 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.

Хотите убирать кэш не у всех подряд, а точечно? Добавьте в скрипт проверку имени компьютера или проверьте дату последней очистки в текстовом файле. Так вы не будете замедлять старт каждый день.

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

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

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

Кэш виноват не всегда. Когда после чистки ничего не изменилось, смотрите дальше:

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

Ещё один путь: полная пересборка клиентского окружения. Закройте 1С, переименуйте папки 1C в %LOCALAPPDATA% и %APPDATA% (например, в 1C_old) и запустите платформу. Если всё заработало, значит, проблема была в профиле, а в 1C_old лежат ваши настройки на случай, если что-то нужно вернуть.

Как не доводить до чистки

Регулярно чистить кэш руками — признак того, что где-то системная проблема. Что стоит проверить:

  • 📌 обновления платформы и конфигурации ставятся вовремя, на всех клиентах одна версия платформы;
  • 🧮 размер базы и журнала регистрации под контролем, старые данные периодически сворачиваются;
  • 💾 у пользователей достаточно места на системном диске;
  • 🔐 антивирус не сканирует каталоги платформы при каждом обращении;
  • 🧾 после обновления конфигурации и расширений выполнена перезагрузка клиентов, а не просто «закрыть окно».

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

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

Удалятся ли мои данные в базе при очистке кэша?
Нет. Кэш — это копии служебных данных. Документы и справочники хранятся в самой информационной базе. Потеряете только настройки форм, если удалите папку из %APPDATA%.
Как часто нужно чистить кэш в УТ?
По необходимости: после обновления платформы, при странных ошибках у одного пользователя, перед передачей компьютера другому сотруднику. Регулярная очистка «на всякий случай» только замедляет старт.
Можно ли чистить кэш, пока 1С открыта?
Нет. Файлы заняты процессом, часть удалится, часть останется, и кэш окажется в рассогласованном виде. Сначала закройте программу, затем чистите.
Чем отличается очистка кэша от тестирования и исправления базы?
Кэш — это временные данные на клиенте и сервере. Тестирование и исправление работает с самой базой и перестраивает её структуру. Начинайте всегда с кэша: он безопасен.
Почему после очистки первый вход очень долгий?
Платформа заново читает метаданные и строит кэш. Для большой типовой конфигурации вроде УТ это от нескольких десятков секунд до пары минут, дальше запуск идёт быстрее.