Практически везде вы наткнетесь на всякие батники, ps-скрипты, рекомендации зайти и удалить вручную, поставить /ClearCache для баз на УФ и т.д. В подавляющем большинстве случаев предлагается бездумно удалить все содержимое Roaming1C1cv8 и Local1C1cv8, но это как переустановить Windows, чтобы почистить Temp.
За все время, что я администрирую и программирую 1С, мне всего однажды попалась именно программа, которая умеет нормально чистить кэш: по конкретным базам и исключительно кэш. Собственно, тут секретов нет, вот она.
И сразу скажу, почему она мне неудобна:
- Ее нужно устанавливать.
- Мне нужна всего одна функция — все остальное получается лишним грузом.
- В бесплатной версии можно чистить кэш только одной базы за раз.
Не исключаю, что где-то и есть то, что мне нужно. Но раз уж это так непросто отыскать, то проще уже сделать свое.
Долго я раскачивался, чтобы сесть за шарп, т.к. никогда в нем не писал, но, с недавним обновлением платформы, терпению моему таки пришел конец.
Итак, "Чистка кэша 1С" в виде самодостаточного приложения под Windows. Которая умеет только чистить кэш и ничего больше.
Написана под:
- Платформу 1C 8.3.+
- .NET Framework 4.5.0+
- OS Windows 7+/Server 2008+
Исходный код открыт.
Репозиторий: https://bitbucket.org/FuketsuBaka/clearcache1c
Страница загрузок: https://bitbucket.org/FuketsuBaka/clearcache1c/downloads/
История изменений:
v 1.0.0
- Initial release.
v 1.0.1
- Добавил подсказки на кнопки.
- Поправил некритичный косяк с определением "Кэш сущестует" в инфо.
v 1.0.2
- Библиотека Value.Tuple более не используется.
- Поддержка с версии .NET Framework 4.5.0
- Список баз оформлен в виде таблицы. Таблицу можно сортировать. Обработка выделения нескольких — на пробел.
- Изменение размера окна, изменение размера блока информации о выделенной строке.
- Поиск по совпадению в наименовании базы или в строке подключения. Регистронезависимо, динамически.
- Кнопка обновления списка. Заново перечитывает список баз, размеры каталогов и всего остального.
- Индикация наличия .lck файла (признак запущенной базы)
- Выбор элементов для очистки: кэш пользователя, кэш приложения, настройки пользователя.
Альтернативы, предложенные в обсуждений:
- //infostart.ru/public/90572 — Очистка кэша 1С 8.1-8.2 на клиентских компьютерах (Чистка кэша 1С)
- //infostart.ru/public/444952/ — Очистка кэша выбранных баз (8.2-8.3)
- //infostart.ru/public/584760/ — 1:Tools — наш инструмент для обслуживания 1С
- //infostart.ru/public/274485/ — StartManager 1.4 — Развитие альтернативного стартера
- //infostart.ru/public/699668/ — Быстрое удаление неиспользуемых версий 1С:Предприятие 8, кэша метаданных и информационных баз
У скриптов одно откровенное достоинство — гораздо проще убедиться, что внутри нет ни майнера, ни трояна, ни прочей вредоносной пакости. И скачивать экзешники из инета вредная привычка. Только с доверенных сайтов, к которым инфостартовский форум не относится.
Для тех кого не забанили в гугле
http://bfy.tw/KvCb
найдется
(1)можно скачивать с инфостартовского форума, но только обязательно одевать презерватив
Желтое окошко надо бы пошире сделать — иначе обрезаются данные путей.
(1) Вам же исходники выложили?
(1) Ссылка на исходный код в публикации есть. Всем сомневающимся, можно его взять, просмотреть и собрать.
(4) В шарпе всего 2 дня. Замутить масштабирование элементов при ресайзе была мысль, даже примерно знаю, как написать, но пока делаю паузу. На работе ждет работа.
(0) молодец! красиво сделано!
(3) жестко пошутили )
В Start Manger тоже вроде можно кэши чистить по списку баз.
(1)вирустотал вроде ничего не нашел
(2)
Не сомневался, что где-то оно есть.
Но искать по сочетанию с .net исключительно на infostart-е — это, увы, выше моей смекалки.
Пусть будет, это как «загрузка справочников и документов из эксель» — одна универсальнее другой, но они продолжают появляться с завидной регулярностью.
Вроде все ок, но непонятно как упорядочены базы в списке, может сделать по наименованию сортировку? Поиск не работает, искать неудобно.
(12)
Никак не упорядочены. Базы идут по списку, указанному в ibases.v8i.
Я подумаю над списком, возможно переоформлю в виде ТЧ с сортировками или древа, или оба варианта на выбор.
Поиск тоже можно будет добавить.
Очень круто, что автор заморочался и выложил, но бесплатные варианты себя пока не исчерпали
(13) Спасибо, поиск наверно будет универсальнее.
А еще можете подсказать, вот вылезла такая ошибка при запуске (скрин) — что это значит?
Увы, вылезает ошибка
хорошо!
(14) Этот тоже бесплатный.
(15) (16) Вы собираете из исходников?
(18) Нет, не из исходников, я запустил на своем компе — у меня нормально, запустил на чужом — выпала ошибка, 7 винда. Такое чувство, что каких то компонент не хватает.
(19) Похоже на конфликт Nuget пакета System.ValueTuple с какой-то версей .NET.
Есть рекомендации даунгрейднуть его до 4.3.0, попробую.
Оно же, но с ключами для запуска. К примеру вот возникла проблема при обновлении платформы. Часть релизов либо не запускается, либо при работе вываливается в ошибки. При чем я точно знаю что всего 2 базы из 10 и делать это руками для 100 пользователей не камильфо… А ну и еще ID задания, чтобы знать выполнено ли оно было или нет для данного пользователя. А так создал батник с указанием для какой базы что надо сделать, добавил его в стартовый батник 1с-ки и милейшее дело.
А как насчет того, чтобы чистить только программный кеш?
(21) Это реквест?
О как сделал красиво
(0)
Практически везде вы наткнетесь на всякие батники, ps-скрипты, рекомендации зайти и удалить вручную, поставить /ClearCache для баз на УФ и т.д. В подавляющем большинстве случаев предлагается бездумно удалить все содержимое Roaming1C1cv8 и Local1C1cv8, но это как переустановить Windows, чтобы почистить Temp.
Вы простите меня не знающего, всегда чистили кэш удаляя ну не все, а только папки с множеством символов, а что такого критичного в этом методе, или тут решение для массовой очистки?
(25)
Содержат в себе также .pfl-файлы настроек пользователя и информацию о последнем входившем юзере. К кэшу эти файлы не относятся и для задачи «очистить кэш» их удалять нет смысла. Если только какой-то специфический момент, который даже представить себе не могу.
А так — да, это для массовой очистки с претензией на то, что «не удалится то, чего смысла удалять нет».
(22)
Который в localappdata?
(16) (15)
Попробуйте эту версию
(0) вот вам еще альтернативаБыстрое удаление неиспользуемых версий 1С:Предприятие 8, кэша метаданных и информационных баз
(27) Изменилась версия ошибки
(26)
Да в данной папке, иногда, особенно на серверной версии 1с ки, после внезапного отключения сервера, без очистки данных папочек пользователь не может зайти в 1с, чистишь и опа все хорошо, возможно грубо, но за то работает…
(29) Понятно. Попробую сделать без использования этой либы. Есть мысли.
В описании фраза «В бесплатной версии (обновлятора) можно чистить кэш только одной базы за раз» диссонирует с общим посылом о чистке кэша «по конкретным базам». Чистка требуется один раз и обычно по конкретной базе.
PS Для разовой очистки кэша обычно пользуюсь дедовским способом: убрать-добавить в список.
Сделал свою программку-молодец.
зачем грузить громадный .net когда делаем файлик типа CleanCache.cmd
и пишем в нем:
@FOR /D %%i in («C:Users*») do (
@FOR /D %%j in («%%iLocal settingsApplication data1C1Cv82????????-????-????-????-????????????») do rd /s /q «%%j»
@FOR /D %%j in («%%iAppDataRoaming1C1Cv82????????-????-????-????-????????????») do rd /s /q «%%j»
)
чистка кэша 1С с сохранением настроек и имени последнего пользователя :
———————————————————————————————————————-
rem — сохраняем файлы def.usr и 1cv8strt.pfl из 1С-кэша во временной папке
robocopy.exe %APPDATA%1C1Cv8 %TEMP%copy_of_1C_cache def.usr 1cv8strt.pfl /S
rem — чистим 1С-кэш
rmdir /S /Q %APPDATA%1C1Cv8
rmdir /S /Q %LOCALAPPDATA%1C
rem — восстанавливаем файлы def.usr и 1cv8strt.pfl из временной папки в 1С-кэш
robocopy.exe %TEMP%copy_of_1C_cache %APPDATA%1C1Cv8 def.usr 1cv8strt.pfl /S
———————————————————————————————————————-
просто, надежно .
(31) У меня точно такая же ошибка. Версия 1.0.1 не запускается, 1.0.1.1 выдает ошибку, но запускается, только окно со списком кешей пустое. .NET ниже 4.6 поставить не могу, так как есть другое ПО, которое его требует.
(35) Работаю над новой версией, на выходных выдам.
В ней не будет использоваться ValueTuple и какие-либо подключаемые библиотеки вообще, только .net.
Привязки к версии .net тут как таковой нет. Просто ValueTuple входит в состав сборки начиная с 4.7, поэтому на более ранних версиях не работает. Поправлю.
Обновлено.
Спасибо. Некоторые пользователи и сами теперь смогут почистить ;]
Спасибо за игнор компаний, которые еще работают на WinSrv 2003.
И ставить всякие фреймворки, которые еще потребуют перезагрузки сервера… ну такое.
(39)
Не за что.
(39) А я все ждал, когда они появятся. Дождался.
Только вот есть вопросы.
Первый: зачем разработчику в 2019 году тратить время на поддержу давно снятых с поддержки (извиняюсь за тавтологию) систем?
Второй: Чем не угодил Net? Начиная с Win7 — это неотъемлемая часть системы. В Win 7 — это Net 3.5, в Win8/10 — это 4.х. Единственное, что бы я посоветовал автору — понизить версию Net до 4.0 и сделать отдельную сборку на 3.5, чтобы запускать в Семерке.
(34) Самое практичное решение, кроме «просто и надежно»