Подробный гайд: Автоматически очищать кэш 1С: скрипты, планировщик, GPO, перезапуск служб и IIS

Как автоматически очищать кэш 1С: скрипты, планировщик, GPO, перезапуск служб и IIS. Практичные способы для клиента и сервера.

2026.08.30                  


Подробный гайд: Автоматически очищать кэш 1С: скрипты, планировщик, GPO, перезапуск служб и IISПодробный гайд: Автоматически очищать кэш 1С: скрипты, планировщик, GPO, перезапуск служб и IIS Настроить автоматическое очищение кэша в 1С можно, но важно понимать одну ключевую вещь: в самой платформе 1С нет встроенной «галочки» или штатной кнопки для автоматической очистки физического кэша. Поэтому автоматизация реализуется средствами операционной системы (скрипты, планировщик задач, групповые политики) или веб-сервера.


Часть 1. Понимание: какой именно кэш мы чистим?

Проблемы в 1С обычно связаны с тремя видами кэша:



  1. Клиентский кэш (локальные папки на ПК пользователей или терминальном сервере). Самый частый источник «глюков» (белые экраны, ошибки при запуске).
  2. Серверный кэш (оперативная память серверов 1С: процессы rphost, rmngr). Со временем может «раздуваться», вызывая утечки памяти.
  3. Кэш веб-сервера (если 1С опубликована через IIS или Apache).

Разберем настройку для каждого из них.


Часть 2. Автоматическая очистка КЛИЕНТСКОГО кэша (ПК и Терминальные серверы)

Клиентский кэш хранится по путям:

  • %LocalAppData%\1C\1cv8
  • %AppData%\1C\1cv8

Главное правило:

Кэш нельзя удалять, пока пользователь работает в 1С (файлы заблокированы, база может зависнуть). Лучше всего удалять кэш при выходе пользователя из системы (Logoff).


Способ А: Через групповые политики (GPO) в домене — Идеальный вариант

Если у вас доменная сеть, настройте выполнение скрипта при выходе из системы (Сеанс работы -> Завершение работы).

1. Создайте файл Clear1CCache.bat со следующим кодом:

   @echo off
   :: Закрываем процессы 1С на всякий случай (если зависли)
   taskkill /F /IM 1cv8.exe /T 2>nul
   taskkill /F /IM 1cv8c.exe /T 2>nul

   :: Удаляем папки кэша
   rd /s /q "%LocalAppData%\1C\1cv8" 2>nul
   rd /s /q "%AppData%\1C\1cv8" 2>nul

   :: Удаляем старые файлы списков баз (опционально, если нужно сбросить список)
   :: del /q "%AppData%\1C\1CEStart\ibases.v8i" 2>nul
   exit
  1. Откройте Управление групповой политикой (на контроллере домена).
  2. Создайте или измените GPO, применимую к пользователям (или компьютерам терминальных серверов).
  3. Перейдите в: Конфигурация пользователя -> Политики -> Конфигурация Windows -> Сценарии (вход/выход) -> Завершение работы (Сеанс работы).
  4. Добавьте созданный скрипт Clear1CCache.bat.
  5. На терминальных серверах (если они не в этом GPO) добавьте скрипт в Конфигурация компьютера -> Конфигурация Windows -> Сценарии -> Завершение работы.

Способ Б: Через Планировщик задач (Локально)

Если домена нет, можно настроить очистку на самом ПК.

  1. Создайте .bat файл (код выше).
  2. Откройте Планировщик задач (taskschd.msc).
  3. Создайте базовую задачу. Триггер: «При входе в систему» (или по расписанию ночью, если ПК не выключается, но тогда нужно условие «Выполнять только если компьютер не используется»).
  4. Действие: Запуск программы -> ваш .bat файл.
  5. В свойствах задачи поставьте галочку «Выполнять с наивысшими правами».

Часть 3. Автоматическая очистка СЕРВЕРНОГО кэша (Память сервера 1С)

Сервер 1С (процессы rmngr и rphost) держит кэш метаданных и сеансов в оперативной памяти. Со временем происходят утечки памяти. Самый надежный способ сбросить серверный кэш — перезапуск службы Агента сервера 1С.


Внимание:

Перезапуск службы разорвет соединения всех активных пользователей. Делать это нужно только в нерабочее время (например, в 03:00 ночи).


Настройка через Планировщик задач (на сервере 1С):

  1. Узнайте точное имя службы. Откройте services.msc и найдите службу 1С. Обычно она называется Агент сервера 1С:Предприятия 8.3 или 1C:Enterprise 8.3 Server Agent (иногда имеет нестандартное имя, если задано при установке).
  2. Создайте файл Restart1CService.bat:
   @echo off
   :: Остановка службы (замените имя на ваше, если отличается)
   net stop "1C:Enterprise 8.3 Server Agent"

   :: Ждем 15 секунд для полного завершения процессов
   timeout /t 15

   :: Запуск службы
   net start "1C:Enterprise 8.3 Server Agent"
   exit
  1. Откройте Планировщик задач на сервере.
  2. Создайте задачу по расписанию (ежедневно/еженедельно ночью).
  3. Укажите запуск от имени Администратора (или System) с наивысшими правами.
  4. В действиях укажите путь к скрипту.



Совет:

Если у вас кластер серверов 1С (несколько серверов за балансировщиком), скрипт нужно запускать на каждом сервере по очереди, чтобы пользователи не теряли доступность.


Часть 4. Очистка кэша ВЭБ-СЕРВЕРА (если 1С работает через браузер)

Если пользователи заходят в 1С через браузер (тонкий или веб-клиент), база публикуется через веб-сервер (обычно IIS на Windows). IIS очень агрессивно кэширует данные, и при обновлении 1С или публикации новых расширений кэш часто «залипает».

Настройка автоочистки кэша IIS:

  1. Создайте скрипт ClearIISCache.bat:
   @echo off
   :: Перезапуск службы IIS (занимает пару секунд)
   iisreset /restart

   :: Альтернатива: Очистка кэша конкретного пула приложений 1С (без полного рестарта)
   :: appcmd stop apppool /apppool.name:"1C_AppPool"
   :: timeout /t 5
   :: appcmd start apppool /apppool.name:"1C_AppPool"
   exit
  1. Настройте запуск этого скрипта через Планировщик задач (например, каждую ночь или сразу после ночного обновления баз 1С).

Часть 5. Можно ли очистить кэш средствами самой 1С (Регламентные задания)?

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

Ответ: Нет, физический файловый кэш платформа очистить не может.

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

  • Если у пользователя пропали кнопки, сбились права или окно открывается криво, проблема часто не в системном кэше, а в хранилище системных настроек.
  • Это можно очищать автоматически через обработки в режиме Конфигуратора или Предприятия (например, очистка таблиц ХранилищеСистемныхНастроек и ХранилищеНастроекДанныхФорм для конкретного пользователя).
  • Но: Это не решает проблему «забитого» файлового кэша платформы.

Важно

  1. Не чистите клиентский кэш каждый день без необходимости. Платформа 1С при каждом запуске заново генерирует кэш для ускорения работы. Ежедневное удаление приведет к тому, что 1С будет запускаться дольше (пока не создаст кэш заново). Оптимально: удалять кэш при выходе из системы (через GPO) раз в неделю или по пятницам.
  2. Используйте SSD. Кэш 1С производит огромное количество операций ввода-вывода (IOPS). Если вы автоматизируете очистку кэша, пользователям придется каждый раз ждать его генерации. На медленных жестких дисках (HDD) это превратится в зависание на 2-5 минут при каждом входе. На SSD очистка/генерация происходит незаметно.
  3. Очистка кэша не заменяет оптимизацию. Если кэш «бьется» (появляются ошибки вида Конфликты обновлений, Ошибка форматирования) постоянно — проблема чаще всего в нестабильной сети (потеря пакетов между клиентом и сервером) или в том, что пользователи работают с базой через нестабильный RDP.

Информация предоставлена в ознакомительных целях. Применение описанных настроек в системах, должно осуществляться только после согласования с ответственными за информационную безопасность и в соответствии с требованиями ФСТЭК, ФСБ и иных уполномоченных органов.


Статью подготовил: Аверко Денис Сергеевич @Nymexis г. Омск (специалист по ЗИ)

Комментарии

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