Очистка кеша 1С с выбором баз, блэкджеком и … cmd!

Казалось бы, зачем нужен очередной батник для очистки кэша 1С… но постойте!

В какой-то определенный момент Вам может понадобиться очистить кэш 1С. Есть много способов решения данной проблемы, очередным батником никого не удивить, но я попробую…

Сразу скажу, писал исключительно ради эксперимента, т.к. все аналоги на cmd (что находил, может плохо искал?) просто удаляют все. К конструктивной критике отношусь нормально.

Преимущества:

Очистка производится с помощью bat файла, реализована как интерактивная работа, так и запуск с передачей параметров. Проверялся на Windows XP и 7, но в теории должен быть совместим со всеми актуальными версиями Windows XP/Vista/7/8/10 (x32/x64) + Серверные платформы.

Вам не нужно создавать отдельные базы, использовать внешние обработки, регистры сведений, устанавливать  дополнительные компоненты для работоспособности или запускать *.exe с закрытым кодом!

Все уже готово, просто, открыто и доступно. При желании и умении можно дописать свой функционал.

Пара слов о работе:

0. Пакетный файл сохранен в кодировке win1251. Для корректного отображения русских символов необходимо внести изменения в регистр (п.9), либо изменить шрифт в консоли вручную.

1. В пакетном файле предусмотрена обработка двух каталогов "1Cv82" и "1Cv8" по путям указанным в п8. Вы можете добавить свой или удалить лишнее изменив при этом переменную "count_v1C".

Set /A "count_v1C=2"
Set "path_v1C[1]=1Cv82"
Set "path_v1C[2]=1Cv8"

2. Удаление всего кэша предполагает удаление каталогов "????????-????-????-????-????????????" по путям, указанным в п8.

3. Удаление кэша с сохранением настроек пользователей*  предполагает удаление каталогов "Config", "ConfigSave", "DBNameCache", "SICache" и "vrs-cache" внутри каталогов "????????-????-????-????-????????????" и "????????-????-????-????-????????????????????-????-????-????-????????????" по путям, указанным в п8. Вы можете добавить свой или удалить лишнее изменив при этом переменную "count_FoldersToDel".

Set /A "count_FoldersToDel=5"
Set "FoldersToDel[1]=Config"
Set "FoldersToDel[2]=ConfigSave"
Set "FoldersToDel[3]=DBNameCache"
Set "FoldersToDel[4]=SICache"
Set "FoldersToDel[5]=vrs-cache"

4. Пункты 1, 2, 3 доступны только при наличии файла "%USERPROFILE%Local settingsApplication Data1C1CEStartibases.v8i" или "%USERPROFILE%AppDataLocal1C1CEStartibases.v8i" в зависимости от версии Windows/

Интерактивный режим:

Если добавить + для вариантов 1-7, например 4+, то после завершения работы консоль не закроется и вы сможете посмотреть логи (при желании — вернуться в главное меню).

 

 1. Для выбранных баз удаляет кэш (с сохранением настроек пользователей*) текущего пользователя ОС (если файлы кэша есть)

 

 2. Для выбранных баз удаляет весь кэш текущего пользователя ОС (если файлы кэша есть) (номера баз вводить через пробел, дважды одна и та же база не обрабатывается, лишние символы игнорируются).

 

 3. Для всех неизвестных баз (не определены в ibases.v8i) удаляет весь кэш текущего пользователя ОС.

 

 4. Для всех баз удаляет кэш (с сохранением настроек пользователей*) текущего пользователя ОС

 

 5. Для всех баз удаляет весь кэш текущего пользователя ОС

 

 6. Для всех баз удаляет кэш (с сохранением настроек пользователей*) всех пользователей ОС

 

 7. Для всех баз удаляет весь кэш всех пользователей ОС

 

 

 8. Открывает 2 каталога с кэшем 1C в зависимости от версии ОС

 

 9.  Для консоли устанавливает шрифт "Lucida Console", устанавливается кодовая страница 1251 и увеличивается буфер до 500 строк.

 

Запуск с параметром:

Вы можете первым параметром указать число [3-7] , будет выполнен одноименный пункт меню и консоль автоматически закроется. Естественно никаких вопросов задаваться не будет.

 

 например через ярлык

 

9 Comments

  1. leosoft

    Только у меня все 9+1 пунктов при открытии ничего не показывают? Я под Safari Mac Os

    Reply
  2. frkbvfnjh

    (1) у меня в Yandex браузере с 3 по 5 тоже не показывает

    Reply
  3. CSiER

    (2) аналогично. В этих блоках должны быть картинки (ссылки битые).

    Reply
  4. Serg O.

    1с 8.x …. для платформы 1С 8.2 всё по-другому…

    пишите 1с 8.3.х

    и ещё вопрос: при очистке кэша — лог-файлы (Журнал изменений) самой базы тоже чистится?

    если да, то этого делать нельзя категорически?

    Reply
  5. ice-net

    (1) (2) (3) Спасибо, поправил картинки

    Reply
  6. ice-net

    (4)

    1с 8.x …. для платформы 1С 8.2 всё по-другому…

    пишите 1с 8.3.х

    Что конкретно по другому, можете пояснить? Инфу брал отсюда: https://its.1c.ru/db/metod8dev#content:1591:hdoc

    Проверял на 8.2 и 8.3, работает корректно

    и ещё вопрос: при очистке кэша — лог-файлы (Журнал изменений) самой базы тоже чистится?

    если да, то этого делать нельзя категорически?

    А при чем тут журнал изменений? Насколько мне известно он лежит в других каталогах

    Reply
  7. ice-net

    (4)

    и ещё вопрос: при очистке кэша — лог-файлы (Журнал изменений) самой базы тоже чистится?

    если да, то этого делать нельзя категорически?

    при чем тут лог файлы? Чистятся только каталоги «Config», «ConfigSave», «DBNameCache», «SICache» и «vrs-cache» и все, что в них находится.

    Для справки: https://its.1c.ru/db/metod8dev#content:1591:hdoc

    Reply
  8. Serg O.

    (6) с 1 картинки уже не так…

    C:Documents and Settings<User>Application Data1C1cv8 нет ничего кроме 1 файла location.cfg

    в котором и указывается путь размещения всех баз,

    например, у меня локально папка «рядом»

    C:Documents and Settings<User>Application Data1C1Cv82\r

    а ещё есть 8.x

    C:Documents and Settings<User>Application Data1C1Cv81\r

    2) в папке «базы» только 1 папка vrs-cache из перечисленных

    никаких папок ConfigSave и прочего нет

    3) на 2 картинке путь к базе… файловой? вообще не интересно

    и чистить надо на каждом компьютере каждого пользователя локально?

    а если на сервере, то у нас (как и большинства 1С-ников) вообще нет доступа к Documents and Settings…

    админы там сами себе хозяева

    идея хорошая… но не для меня, например

    Reply
  9. ice-net

    (8) Мне кажется, вы немного уходите в сторону..

    C:Documents and Settings<User>Application Data1C1cv8 нет ничего кроме 1 файла location.cfg

    в котором и указывается путь размещения всех баз

    Не совсем так..

    из ИТС: https://its.1c.ru/db/v837doc#bookmark:adm:TI000000392

    3.18. location.cfg

    Файл location.cfg служит для указания каталога, который хранит файлы настроек пользователя и расположения файла программной лицензии. Для указания расположения каталога служит параметр location.

    Например:

    location=C:UsersUserNameAppDataRoaming1C1cv82

    А список всех баз будет лежать по адресу C:UsersUserNameAppDataRoaming1C1CEStart

    а ещё есть 8.x

    C:Documents and Settings<User>Application Data1C1Cv81

    8.1 и 8.0 мне кажутся довольно старыми платформами, но Вы можете добавить их в скрипт (в описании работы п1.) если используете, это не сложно.

    2) в папке «базы» только 1 папка vrs-cache из перечисленных

    никаких папок ConfigSave и прочего нет

    То, что у вас чего-то нет — не означает что их там быть не может. Можете детально почитать здесь: https://its.1c.ru/db/metod8dev#content:1591:hdoc

    3) на 2 картинке путь к базе… файловой? вообще не интересно

    и чистить надо на каждом компьютере каждого пользователя локально?

    а если на сервере, то у нас (как и большинства 1С-ников) вообще нет доступа к Documents and Settings…

    админы там сами себе хозяева

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

    Доступ к профилям других пользователей (Documents and Settings) нужен только для очистки кэша для всех учеток (точнее для чужих, к своей-то у Вас доступ дубет) ОС данного компьютера, если у Вас нет доступа на уровне ОС — значит Вы не сможете этого сделать с этого компьютера.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *