Очистка кэша 1С

  • Михаил
  • 2 мин. на прочтение
  • 631
  • 16 Feb 2023
  • 16 Feb 2023

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

ОЧИСТКА ПОЛЬЗОВАТЕЛЬСКОГО КЭША 1С
 

ОЧИСТКА ПОЛЬЗОВАТЕЛЬСКОГО КЭША 1С ВРУЧНУЮ.
Открываем каталог, где хранятся временные файлы 1С, обычно они расположены здесь:

C:\Users\username\AppData\Roaming\1C\1cv8
и
C:\Users\username\AppData\Local\1C\1cv8

*где username — имя пользователя системы

Если мы перейдем в эти каталоги, то увидим папки:

И вторая папка

 

каталог, где хранятся временные файлы 1С
Папки с именем типа «1bca34a4-aac4-4196-917f-0335305f5d27» являются кешем БД 1С, их можно смело удалять. Перед удалением обязательно необходимо выйти из базы.

ОЧИСТКА ПОЛЬЗОВАТЕЛЬСКОГО КЭША 1С С ПОМОЩЬЮ СКРИПТА.
Создаем текстовый документ, в который вносим следующий текст:

@FOR /D %%i in ("C:\Users\*") do (
@FOR /D %%j in ("%%i\Local settings\Application data\1C\1Cv8\????????-????-????-????-????????????") do rd /s /q "%%j"
@FOR /D %%j in ("%%i\AppData\Roaming\1C\1Cv8\????????-????-????-????-????????????") do rd /s /q "%%j"
)

Сохраняем файл, затем меняем расширение с .txt на .bat

После запуска .bat файла будет произведено удаление папок по маске \????????-????-????-????-???????????? для всех пользователей на сервере\пк и не затронет пользовательские настройки в базах и сам список информационных баз.


ОЧИСТКА СЕРВЕРНОГО КЭША 1С

ОЧИСТКА СЕРВЕРНОГО КЭША 1С ВРУЧНУЮ.

1. Войдите на сервер 1С с правами администратора.
2. Остановите службу «Агент сервера 1С:Предприятия 8.3» / «1C:Enterprise 8.3 Server Agent».
3. Найдите папку reg_1541 — «%ProgramFiles%\1cv8\srvinfo\reg_1541\» (расположение зависит от разрядности установленного сервера 1С).
4. Откройте каталог snccntx + <уникальный_идентификатор>. 

  • Уникальные идентификаторы баз можно посмотреть в файле C:\Program Files\1cv8\srvinfo\reg_1541\1CV8Clst.lst

5. Удалите файлы snccntx.00000000 и snccntx с расширением *.dat — как раз искомые сеансовые данные.


ОЧИСТКА СЕРВЕРНОГО КЭША 1С С ПОМОЩЬЮ СКРИПТА.
По-умолчанию для сервера 1С:предприятия x64 по такому пути:

C:\Program Files\1cv8\srvinfo\reg_1541\snccntx*

Что выполняется в скрипте:

#################################################
# rem Остановка службы сервера предприятия 1С x64
#################################################
net stop "1C:Enterprise 8.3 Server Agent (x86-64)"
#######################################################################################
# rem Принудительное завершение процессов сервера 1С, если они не завершились корректно
#######################################################################################
TASKKIll /F /FI "IMAGENAME eq rphost*"
TASKKIll /F /FI "IMAGENAME eq rmngr*"
TASKKIll /F /FI "IMAGENAME eq ragent*"
############################################################
# rem Удаление пользовательского кэша 1С (при необходимости)
############################################################
@FOR /D %%i in ("C:\Users\*") do (
@FOR /D %%j in ("%%i\Local settings\Application data\1C\1Cv8\????????-????-????-????-????????????") do rd /s /q "%%j"
@FOR /D %%j in ("%%i\AppData\Roaming\1C\1Cv8\????????-????-????-????-????????????") do rd /s /q "%%j"
)
###################################################
# rem Удаление сеансовых данных сервера предприятия
###################################################
for /d %%a in ("c:\Program Files\1cv8\srvinfo\reg_1541\snccntx*") do rd /s /q "%%a"
##################################
# rem Запуск службы сервера 1С x64
##################################
net start "1C:Enterprise 8.3 Server Agent (x86-64)"

Что выполняется в скрипте

После запуска файла появится окно консоли со списком операций, которые выполняются, по завершению которых оно закроется.