gifts2017

Чистка кэша 1С. Универсальная обработка.

Опубликовал Альфир Ситдиков (alfir70) в раздел Администрирование - Сервисные утилиты

Обработка (для обычного приложения и управляемого приложения, интерфейса ТАКСИ) предназначена для чистки временных файлов 1С (различных платформ и конфигураций 1С 8) и других приложений в различных версиях ОС Windows.

Чистит временные файлы таких папках, как: "\AppData\Roaming\1C\1Cv8", "\AppData\Local\1C\1Cv8", "\AppData\Local\Temp" и других

Не удаляет важные папки и файлы например, "\tmplts", "*.dt", ...

Есть возможность различных настроек в пользовательском режиме
Есть прозрачная возможность настройки состава папок  для чистки (полный и относительно папки пользователя), состава исключений (папок, файлов или расширений файлов) в конфигураторе (открытый код)

Использует макеты со скриптом WSH

Может служить примером программирования универсальной обработки для открытия в обычном и управляемом режиме с использованием модуля обработки

Обработка предназначена для чистки временных файлов 1С и других приложений ОС Windows

Настройки Обработки

•    Флажок "Завершать сеансы" - указывает, что обработка завершить все запущенные сеансы 1С на данном компьютере. Или текущего сеанса удаленного доступа (для сеанса RDP). При этом несохраненные данные в этих сеансах 1С не будут сохранены (в открытых для редактирования формах)! Эту галочку нужно ставить, чтобы Кэш почистить как можно полнее, т.к. открытые сеансы не позволят очистить временные файлы открытых сеансов 1с.  
•    Флажок "Запустить текущий сеанс работы 1с после чистки кэша" - указывает что текущий сеанс 1С после чистки Кэша будт заново запущен.
•    Флажок "Удалять общий кэш (AppData\Local\Temp)" - позволяет чистить общий кэш для всех приложений Windows, а не только 1С.
•    Флажок "Чистить все без исключений из папок (AppData\Roaming\1C и AppData\Local\1C)" - если включить эту галочку, то будут чиститься все временные файлы 1С. Если галочку не указывать, то не будут удалены файлы, содержащие некоторые настройки 1с:
o    "1cv8.pfl" - содержит имя пользователя и адрес хранилища конфигураций
o    "def.usr" - содержит имя пользователя, который последним открывал информационную базу
o    "appsrvrs.lst" - содержит список серверов 1С:Предприятия, зарегистрированных в утилите «Администрирования информационных баз» в варианте клиент-сервер.      
o    "1cv8strt.pfl" -  Настройки диалогов установки параметров информационных баз    
o    "v8cscadr.lst" - содержит адрес каталога шаблонов конфигураций    
o    "\ExtCompT" – папка для внешних компонент
Если текущий флаг включен то эти файлы будут удалены.
•    Флажок "Чистить папку на сервере приложения – позволяет чистить кэш на сервере приложения 1С в клиент –серверном варианте. Кэш учетной записи Windows, под которым запускается агент сервера 1С (например, C:\Users\USR1CV82\AppData\Local\Temp).
•    Флажок "Чистить Кэш в папке текущей ИБ" – доступен в файловом  варианте текущей базы. Позволяет чистить Кэш 1С в папке, где располагается текущая база (папка в настройках строки соединения).
Следующий список папок и файлов не будет удален ни при каких настройках обработки:
"\tmplts" – папка с шаблонами конфигураций и обновлений
"ibases.v8i" – файл со списком, подключенных ИБ
".1CD" – файлы с типом .1CD, которые хранят БД файлового варианта, их копии или файл хранилище конфигураций
"cf" – файлы конфигураций 1С
"dt" – файлы выгрузки ИБ (архивные копии)


Обработка использует Скрипт «Windows Script Host» и предназначена для работы

•    в среде различных версий Windows (в различных версиях расположение временных папок может отличаться).
•    на различных платформах 1С8
•    различных конфигурациях (в том числе в ИБ с пустой конфигурацией).
•    В режиме обычного приложения и в режиме управляемого приложения
•    В конфигурации, которая использует «Стандартные подсистемы», может быть загружена в справочник «Дополнительные отчеты и обработки»

Настройка в конфигураторе

В модуле обработки в процедуре Праметры_(МассивПАПКИ, МассивПАПКИ_НД, Массивфайлы_НД, МассивРаширенияФайлов_НД)
можно настраивать состав папок для чистки и состав папок и файлов для искючений

Обработку можно испльзовать в качестве шаблона для разработки сервисных обработок с использованием «Windows Script Host»
и для универсальных обработок, которые должны работать в управляемом и обчном режиме.

Процедура Праметры_(МассивПАПКИ, МассивПАПКИ_НД, Массивфайлы_НД, МассивРаширенияФайлов_НД)
	
	Если Не ЗначениеЗаполнено(WindowsVer) или WindowsVer < "6.0" тогда
		// Для Windows XP
		МассивПАПКИ.Добавить("\Local Settings\Application Data\1C\1Cv80");
		МассивПАПКИ.Добавить("\Application Data\1C\1Cv80");
		МассивПАПКИ.Добавить("\Local Settings\Application Data\1C\1Cv81");
		МассивПАПКИ.Добавить("\Application Data\1C\1Cv81");
		МассивПАПКИ.Добавить("\Local Settings\Application Data\1C\1Cv82");
		МассивПАПКИ.Добавить("\Application Data\1C\1Cv82");
		МассивПАПКИ.Добавить("\Local Settings\Application Data\1C\1Cv8");
		МассивПАПКИ.Добавить("\Application Data\1C\1Cv8");
		
		МассивПАПКИ.Добавить("\Local Settings\Application Data\1C\1Cv8t");
		МассивПАПКИ.Добавить("\Application Data\1C\1Cv8t");
		
		МассивПАПКИ.Добавить("\Local Settings\Application Data\1C\1Cv8Update");
		МассивПАПКИ.Добавить("\Application Data\1C\1Cv8Update");
		
		Если УдалятьОбщийКэш  Тогда
			МассивПАПКИ.Добавить("\Local Settings\Temp");
		КонецЕсли;
	КонецЕсли;
	
	Если Не ЗначениеЗаполнено(WindowsVer) или WindowsVer >= "6.0" тогда
		// Для Windows 7
		МассивПАПКИ.Добавить("\AppData\Roaming\1C\1Cv80");
		МассивПАПКИ.Добавить("\AppData\Local\1C\1Cv80");
		МассивПАПКИ.Добавить("\AppData\Roaming\1C\1Cv81");
		МассивПАПКИ.Добавить("\AppData\Local\1C\1Cv81");
		МассивПАПКИ.Добавить("\AppData\Roaming\1C\1Cv82");
		МассивПАПКИ.Добавить("\AppData\Local\1C\1Cv82");
		МассивПАПКИ.Добавить("\AppData\Roaming\1C\1Cv8");
		МассивПАПКИ.Добавить("\AppData\Local\1C\1Cv8");
		
		МассивПАПКИ.Добавить("\AppData\Roaming\1C\1Cv8t");
		МассивПАПКИ.Добавить("\AppData\Local\1C\1Cv8t");
		
		МассивПАПКИ.Добавить("\AppData\Roaming\1C\1Cv8Update");
		МассивПАПКИ.Добавить("\AppData\Local\1C\1Cv8Update");
		
		Если УдалятьОбщийКэш  Тогда
			МассивПАПКИ.Добавить("\AppData\Local\Temp");
		КонецЕсли;
	КонецЕсли;
	
	// Почистить Кэш в папке для Файловой ИБ (из строки соединения)
	Если ЧиститьДляФайловойИБ И ЭтоФайловаяИБ() Тогда
		Путь = СтрЗаменить(СтрокаСоединенияИнформационнойБазы(), "File=", "");
		Путь = Лев(Путь, СтрДлина(Путь)-1);
		Путь = СтрЗаменить(Путь,"""","");
		МассивПАПКИ.Добавить(Путь);
	КонецЕсли;
	
	 
	// Эту папку никогда не удаляем
	МассивПАПКИ_НД.Добавить("\tmplts"); //Папка с шаблонами конфигураций 
	
	// Этот файл никогда не удаляем
	Массивфайлы_НД.Добавить("ibases.v8i"); // содержит список информационных баз, зарегистрированных на данном клиентском компьютере. 
	// Этот список отображается в диалоге "Запуск 1С:Предприятия"! 
	                                
	// на всякий случай не удаляем важные файлы (возможно, архивы)
	МассивРаширенияФайлов_НД.добавить("1CD"); // Файловая ИБ и Хранилище Конфигураций
	МассивРаширенияФайлов_НД.добавить("cf"); // Конфигурация 
	МассивРаширенияФайлов_НД.добавить("dt"); // Выгрузка ИБ
	
	Если Не ЧиститьВсе Тогда
		 // задаем папки которые нельзя удалять 
		 МассивПАПКИ_НД.Добавить("\ExtCompT"); // папка для внешниз компонент
		 
		 // задаем файлы которые нельзя удалять 
		 
		 Массивфайлы_НД.Добавить("1cv8.pfl");//содержит имя пользователя и адрес хранилища
		 Массивфайлы_НД.Добавить("def.usr");//содержит имя пользователя который последним открывал данную информационную базу
		 Массивфайлы_НД.Добавить("appsrvrs.lst"); //содержит список серверов 1С:Предприятия, зарегистрированных в утилите администрирования информационных баз в варианте клиент-сервер.      
		 Массивфайлы_НД.Добавить("1cv8strt.pfl"); // Настройки диалогов установки параметров информационных баз    
		 Массивфайлы_НД.Добавить("v8cscadr.lst"); //содержит адрес каталога шаблонов конфигураций    
	 КонецЕсли;
	 
КонецПроцедуры	 

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
Чистка Кэша
.epf 32,41Kb
11.04.14
368
.epf 9.0 32,41Kb 368 Скачать

См. также

PowerTools от 1 000
Подписаться Добавить вознаграждение

Комментарии

1. al petrov (petrov_al) 14.04.14 09:13
Добрый день, возможно ли указание группы пользователей для чистки кэша?
2. Альфир Ситдиков (alfir70) 14.04.14 09:45
(1) petrov_al, Нет, каждый пользователь чистить свой кэш
4. OBEH (OBEH) 16.04.14 07:49
Наверное, она не будет работать, если у пользователя нет прав на эти каталоги.
Обычная ситуация, когда на сервере начинают валиться приложения из-за недостатка памяти.
5. Yackov . (Yackov) 17.04.14 11:30
У меня чего-то ругнулось..И сеанс не перезапустился..
Прикрепленные файлы:
6. Альфир Ситдиков (alfir70) 17.04.14 12:51
(5) Yackov,
так постоянно, или один раз?
ошибка в строке "For Each objFile in sFolder.Files"

посмотрите права на папки и файлы

если просто скрипт запустить записанный cache_cleaning_o.vds, то работает?
7. Yackov . (Yackov) 17.04.14 14:38
(6) alfir70, Работает все, кроме "Удалять общий кэш"..Права на папку c:\Users\xxx\AppData\Local\Temp\
выставил полные, не помогло..
8. Альфир Ситдиков (alfir70) 17.04.14 14:54
(7) Yackov, заочно трудно
может попробуешь закрыть все приложения windows и попробуешь удалить ту папку вручную может там какой то глючный файл
9. Константин Куликов (Светлый ум) 21.04.14 17:39
10. Юрий Лу (yura1960) 25.06.14 16:19
Прочитал комменты. Нельзя ли сделать, чтобы не каждый чистил, а я мог почистить? Иначе ... Представляю своих бабулек...
11. Денис Сидоров (Solikamsk) 02.12.14 12:09
Как он чистит кэш текущей базы?(той в которой запускается эта обработка?) И кто его потом востанавливает?
12. Альфир Ситдиков (alfir70) 08.12.14 10:48
(11) Solikamsk, чистит безвозвратно, не используя корзину
13. Альфир Ситдиков (alfir70) 08.12.14 10:50
(11) Solikamsk, Как он чистит кэш текущей базы?
если стоит галочка завершать все сеансы то текущий сеанс завершает и чистит его кэш если же запускать без галочки завершать сеансы то, чистит только то что может - т.е. кэш текущей базы не сможет почистит
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа