ЧеКист (Чистка Кэша) - универсальное средство очистки локального кэша 1С

0. Константин Хрипков (mbreaker) 1116 07.08.13 23:16 Сейчас в теме
Простое в эксплуатации и универсальное в применении средство для исправления ошибок, возникающих с локальным кэшем на клиенте. Легко устанавливается и быстро развертывается в сети. Имеет мобильное исполнение в виде внешней обработки. Понятная любому пользователю логика работы.

Перейти к публикации

Комментарии
1. Иван Иванов (Famza) 80 08.08.13 15:03 Сейчас в теме
(0) При выборе "Очистить все" будут очищаться кэши по папкам/подпапкам в дереве ИБ?
2. Константин Хрипков (mbreaker) 1116 08.08.13 15:25 Сейчас в теме
(1) "Очистить всё" - это последовательное исполнение действий "Очистить кэш конфигурации" и "Очистить кэш пользователя". В обоих действиях удаляются полностью каталоги кэшей со всеми вложенными файлами и подкаталогами.
Любое действие предваряет проверка на наличие или возможность удаления файла 1Cv8.lck в пользовательском кэше (признак запущенного толстого клиента).
3. Константин Хрипков (mbreaker) 1116 08.08.13 15:34 Сейчас в теме
(1) Извиняюсь, не сразу понял суть вопроса... Ответ - нет. Рекурсивного перебора по дереву ИБ здесь нет.

Сам я не сторонник принципа "а давайте жахнем всё, просто на всякий случай". Но если идея групповой очистки будет востребована - включу в план на следующую версию.
4. Иван Иванов (Famza) 80 08.08.13 15:46 Сейчас в теме
(0) Ну я воспринял "Очистить все" - значит всё и у всех ИБ. А вот по папкам в дереве ИБ очистка для меня актуальна однозначно - уж слишком много баз )))
5. Константин Хрипков (mbreaker) 1116 08.08.13 17:17 Сейчас в теме
(4) Групповое выделение и обработку реализовал в версии 1.0.2.1, выложу чуть позже. К ветвям дерева привязываться не стал, выделение через ctrl или shift гораздо универсальнее.
11. Константин Хрипков (mbreaker) 1116 09.08.13 18:24 Сейчас в теме
(4) Famza, (10) serpent, пожелания реализованы в новой версии 1.0.2.2, версия уже доступна для скачивания
6. serpent Пентюхов С. Г. (serpent) 40 09.08.13 09:46 Сейчас в теме
Внешняя обработка НА 1C 8.1 УТ 10 не открывается и не конвертируется :-(
7. Константин Хрипков (mbreaker) 1116 09.08.13 12:21 Сейчас в теме
(6) serpent, исправил в версии 1.0.2
Обновленная версия будет размещена сегодня вечером
8. serpent Пентюхов С. Г. (serpent) 40 09.08.13 12:59 Сейчас в теме
(7) Ну вот, попал на -1 стартМани
9. Константин Хрипков (mbreaker) 1116 09.08.13 15:09 Сейчас в теме
(8) serpent, за регистрацию ошибки +1$m переводом.
Надеюсь следующая версия понравится больше.
10. serpent Пентюхов С. Г. (serpent) 40 09.08.13 15:11 Сейчас в теме
12. Константин Хрипков (mbreaker) 1116 09.08.13 18:25 Сейчас в теме
(10) serpent, для 8.1 сформированы отдельные поставки
13. serpent Пентюхов С. Г. (serpent) 40 12.08.13 08:45 Сейчас в теме
14. Сергей Сергеев (Рамзес) 23 14.08.13 11:57 Сейчас в теме
Да, у динамического обновления много плюсов. Но есть большой минус - не знаешь что от него ожидать. Как-то несколько раз я сталкивался с ситуацией, когда после динамического обновления пропадали мои изменения в коде и я вносил последующие изменения в уже некорректный код. Так когда же нужна процедура очистки кэша? Всякий раз после динамического обновления?
15. Константин Хрипков (mbreaker) 1116 14.08.13 16:54 Сейчас в теме
(14) Рамзес, в подавляющем большинстве случаев очистка кэша конфигурации при динамическом обновлении нужна только тогда, когда между моментом обновления и штатным перезапуском клиента происходит аварийное завершение работы клиента. Другие варианты больше относятся к случайностям, чем к закономерностям.

Очистка же кэша пользователя требуется существенно реже и, как правило, поводом для неё бывают:
  • сохранение некорректного значения методом СохранитьЗначение(), восстановление которого вызывает исключение и падение платформы
  • некорректное сохранение положения окна, если команда "Восстановить положение окна" не помогает
  • сохранение некорректных настроек списка, если кнопка "Стандартная настройка" не помогает
  • "сползание" привязки элементов в форме (редко, но метко, и лечится ТОЛЬКО чисткой кэша пользователя)
16. Виталий Черненко (SeiOkami) 600 15.08.13 09:12 Сейчас в теме
Прошелся по всем базам. Везде сообщение "кэш конфигурации уже чист". Хотя он не разу не чист =(
17. Константин Хрипков (mbreaker) 1116 15.08.13 09:31 Сейчас в теме
(16) SeiOkami, сообщите версию Windows и пути, по которым Вы проверяете кэши.
Также запустите утилиту командной строки, введите команду set без параметров и посмотрите значение переменной окружения USERPROFILE.
Для корректной работы ЧеКиста нужно, чтобы данная переменная содержала правильные настройки:
  • для Windows 7 - [диск]:\Users\профиль_пользователя
  • для ранних Windows - [диск]:\Documents and Settings\профиль_пользователя или [диск]:\DOCUME~1\профиль_пользователя
18. Константин Хрипков (mbreaker) 1116 16.08.13 17:01 Сейчас в теме
(16) SeiOkami, спасибо за регистрацию ошибки при работе утилиты под Windows XP.
Исправлено в релизе 1.0.2.3
по традиции: +1$m переводом
19. Андрей Бертыш (ignor) 216 03.09.13 20:02 Сейчас в теме
Хотелось бы послушать/почитать об очистке серверного кеша
20. Андрей Бертыш (ignor) 216 03.09.13 20:03 Сейчас в теме
хотелось бы почитать об очистке серверного кэша
21. Константин Хрипков (mbreaker) 1116 04.09.13 11:21 Сейчас в теме
(20) ignor, а что подразумевается под термином "серверный кэш"?
22. Андрей Бертыш (ignor) 216 04.09.13 11:37 Сейчас в теме
23. Константин Хрипков (mbreaker) 1116 05.09.13 13:10 Сейчас в теме
(22) ignor, не получается отвечать более оперативно, т.к. нахожусь в отпуске в другой стране.
Такого понятия, как "серверный кэш", пока в платформе нет, есть только зарегистрированные пожелания сделать кэширующий механизм для получения значений таблицы констант через объектную модель, т.к. вызовы к ним очень частые и каждый раз данные забираются из БД (конечно СУБД ещё кэширует часто используемые выборки, но все равно имеют место потери на накладных расходах).

А то, о чём идёт речь в указанной ветке Мисты - это просто служебные файлы, подробнее о них можно почитать на самой же Мисте: http://www.forum.mista.ru/topic.php?id=662246
24. Дмитрий Кишкин (DmitryKishkin) 06.09.13 13:49 Сейчас в теме
Скачал, опробовал - все работает. Автору - сенькс.
25. Константин Хрипков (mbreaker) 1116 09.09.13 12:19 Сейчас в теме
(24) DmitryKishkin, пользуйтесь на здоровье! :)
26. Николай (provnick) 18.01.14 08:57 Сейчас в теме
Не понял, как это увидеть, я имею в виду сработало или нет, при обновлении (конвертации 1.0-2.1.9) базы Розница для Казахстана чистил руками, скриптами, переходил на платформу 8.3 все равно ошибка: Ошибка загрузки документа.
по причине:
Ошибка преобразования данных XDTO:
НачалоСвойства: {http://v8.1c.ru/8.1/data-composition-system/area-template}appearance Форма: Элемент Тип: {http://v8.1c.ru/8.1/data-composition-system/area-template}TableCellAppearance
по причине:
Ошибка преобразования данных XDTO:
НачалоСвойства: item Форма: Элемент Тип: {http://v8.1c.ru/8.1/data-composition-system/core}ParameterValue
по причине:
Ошибка преобразования данных XDTO:
Значение: {http://v8.1c.ru/8.1/data/ui/style}ПросроченныеДанныеЦвет Тип: {http://v8.1c.ru/8.1/data/ui}Color
по причине:
Ошибка отображения типов:
Отображение типа 'String' в тип '{http://v8.1c.ru/8.1/data/ui}Color'
Может есть идеи?
28. Константин Хрипков (mbreaker) 1116 24.01.14 15:24 Сейчас в теме
(26)(27) Хм... Пост выглядит как-то сумбурно, Вам не кажется? Может немного предыстории поможет? А то мне это напоминает отрывок из шоу "Уральские пельмени", где Соколов спрашивает: "А можно мне с вами?"
27. Николай (provnick) 18.01.14 09:01 Сейчас в теме
Убирал галочки с XDTO пакетов, с обработок, с некоторых общих модулей, нихт, завершить работу или перезапустить, рекомендуют чистить кэш, но увы, воз и ныне....
29. ффф ыыы (zqzq) 16 23.04.14 09:28 Сейчас в теме
Специально обученные чистке кэша люди, бегающие по зоопарку из > 200 пользователей при каждом случае некорректного динамического обновления, даже в теории не предполагались.
Кстати... Файлы кэша же привязывается к внутреннему ИД базы в списке баз. Так что в теории достаточно удалить и заново добавить базу в общий список баз и у всех 200 пользователей кэш сбросится (при условии запуска из общего списка).
30. Константин Хрипков (mbreaker) 1116 23.04.14 11:22 Сейчас в теме
(29) zqzq, не только в теории, но и на практике... и не только кэш, но и все сохранённые настройки (даже имя пользователя при старте)... причём у всех двухсот сразу... они все возьмутся за руки и прибегут "радоваться" к дверям администратора, восхваляя все его заслуги пред отечеством за последние лет... э-э-э... пять...

к чему я это? ах, да... экскаватор - это замечательная вещь, облегчающая на порядок жизнь человека, но использовать его в огороде для того, чтобы вскопать грядку, наверное, не очень рационально, именно поэтому человечество для таких случаев продолжает использовать лопату! :)

P.S. для избавления от глюков динамического обновления помогает чистка кэша конфигурации, а пользовательский кэш чистить в 99% случаев бессмысленно.
31. ффф ыыы (zqzq) 16 24.04.14 08:55 Сейчас в теме
(30) mbreaker, в версии 1С 8.2 практически все значимые настройки перенесены в БД в хранилища настроек и привязаны к пользователю 1С, а заход лучше под пользователем Windows делать по возможности. Так что тут дело вкуса скорее. Максимум какие-нибудь настройки положений окон и шрифта окона сообщений сбросятся.

Проверил на 8.2 толстом обычном клиенте, настройки сохраненных значений реквизитов обычной формы не сбрасываются при передобавлении базы в список.
32. Вячеслав Петрович (kozlovvp) 9 16.05.14 12:24 Сейчас в теме
Работает ли это решение для платформы 8.3?
36. Константин Хрипков (mbreaker) 1116 22.05.14 01:36 Сейчас в теме
33. Алексей Карвацкий (AVK_Alex) 4 20.05.14 12:07 Сейчас в теме
Сторонние утилиты более мобильны - позволяют очистить кэш в 1 клик. А здесь достоинство гибкость...
Попробуем :)
34. Алексей Карвацкий (AVK_Alex) 4 20.05.14 12:22 Сейчас в теме
Когда ожидать версию под управляемые формы (все-таки поддержка...)?
Про такси-метро пока не спрашиваю...
37. Константин Хрипков (mbreaker) 1116 22.05.14 01:43 Сейчас в теме
(34) Ну, пока целесообразности в этом не видел, т.к. основной "рабочий" вариант применения всё-таки отдельно стоящая конфигурация, а для неё разницы нет в УФ, НФ или Такси. Сейчас куда более интересно разобраться с "глюками" управляемых форм и СКД, которые повсеместно лезут в БП 3.0 и не лечатся сбросом кэшей (помогает только перепрописание БД в списках).
35. Алексей Карвацкий (AVK_Alex) 4 20.05.14 12:31 Сейчас в теме
Неплохо бы:
1. Настройку видимости баз. Например, когда баз несколько десятков, а пользователь работает с 2-3... Это будет непросто, т.к.:
- список формируется при открытии и нигде не хранится;
- не предусмотрены пользователи, т.е. не к кому такую настройку привязать.
2. Чекиста по умолчанию в списке не показывать (дабы не смущать тех, кто на бронепоезде).
38. Константин Хрипков (mbreaker) 1116 22.05.14 01:48 Сейчас в теме
(35) Если честно не понял сути ни первого, ни второго предложений.

Можно поподробнее, что подразумевается под "видимостью" баз? Фильтр?

И что значит "по умолчанию"? Стартер 1С - это часть платформы и в нём нет режимов запуска. А альтернативные стартеры - это не тема этой публикации.
39. Adapter Бахтыреев (adapter) 439 20.10.14 14:16 Сейчас в теме
версия 1.0.2.3 при открытии ошибка
{Обработка.ЧеКист.Форма.Форма.Форма(173)}: Ошибка при вызове метода контекста (ЭтоКаталог): Ошибка доступа к файлу: D:\UserProfiles\alex\Application Data\1C\1CEStart\ibases.v8i

видимо не учитывается что в win7 каталог 1с уже в другом месте


40. Константин Хрипков (mbreaker) 1116 20.10.14 17:11 Сейчас в теме
(39) adapter, да нет, скорее это в Вашем конкретном случае просто нарушена штатная структура символических ссылок, которую Win7 формирует для обратной совместимости со старыми версиями программ.
В Win7 действительно содержимое папки %user_profile%\Application Data перекочевало в %user_profile%\AppData\Roaming, но для совместимости система формирует символическую ссылку ("ярлык") в папке %user_profile% с названием "Application Data" со связью на %user_profile%\AppData\Roaming.
В своей обработке я использую эту особенность, чтобы не заниматься вычислением конкретного местоположения в зависимости от версии системы.
У Вас, видимо, этого линка по какой-то причине нет.
41. Adapter Бахтыреев (adapter) 439 21.10.14 12:32 Сейчас в теме
да, у меня системный диск на ssd (для быстродействия) а папка users на обычном hdd. Хоть и делал все штатными средствами Вин, но видимо поэтому нету у меня этих ярлыков. Неплохо было бы проверять существование каталога на подобные случаи.

Я дописал в конфу определение версии Вин. Можете включить в свой новый релиз если хотите:
https://drive.google.com/file/d/0B3_BNCh_2-MxMnJob0dua0JHWHM/view?usp=sharing
42. Артем Артеменко (dock) 29 03.02.15 21:53 Сейчас в теме
43. Константин Хрипков (mbreaker) 1116 04.02.15 17:51 Сейчас в теме
(42) dock, под 8.3 прекрасно работает версия для 8.2, просто для 8.1 пришлось делать отдельную поставку из-за несовместимости интерфейса, отсюда и появление номера версии в наименовании обработки.
Но про вариант реализации под УФ специально для рабочих мест, где установлен только тонкий клиент, я обязательно подумаю...
Похоже, что в скором времени такая и самому понадобится...
44. Вячеслав Першин (Borunmeert) 8 18.06.15 14:01 Сейчас в теме
А если у пользователя под Windows права ограничены на эти папки. Кэш очистит?
47. Константин Хрипков (mbreaker) 1116 25.01.16 21:50 Сейчас в теме
(44) Borunmeert, у пользователя не может не быть прав на эти папки, т.к. в процессе работы туда пишет программа (1С), запущенная из-под этого же пользователя. Не было бы прав, 1С и не запустилась бы.
45. Алекс Ю (AlexO) 119 24.01.16 22:23 Сейчас в теме
(0)
чистить пользовательский кэш (сохраненные значения, размеры и положение форм и т.п.) и кэш конфигураций
И как вы их разделяете?
Чем не устраивает обычная очистка через CMD типа bat-файл для автоматической чистки КЭШа.?
Тем более, вокруг всего этого устраивать "пляски" с названиями - "ЧЕКИСТ!", - и прочий пафос из разряда "Предвосхищая бурную полемику в комментариях на тему "а зачем нужен очередной чистильщик кэша, если уже есть [далее длинный список]?"" :)
46. Константин Хрипков (mbreaker) 1116 25.01.16 21:45 Сейчас в теме
(45) AlexO, специально для тех, кто с характерным "нулём" на конце и предпочитает не вчитываться в тексты пабликов перед генерацией комментариев, привожу две цитаты оттуда в ответ вопросы:
1) Как вы их разделяете?
пользовательский кэш (сохраненные значения, размеры и положение форм и т.п.) и кэш конфигураций (рабочая копия конфигурации на клиенте)

2) Чем не устраивает?
4. Средство должно легко разворачиваться в сети на большом количестве пользователей.

Мой же ответ на "бла-бла-бла... пляски... бла-бла-бла... пафос..." можно прочитать на youtube в начале любого из роликов +100500 после фразы "ДИСКЛЕЙМЕР. НЕКОТОРЫЕ ИЗ ПРЕДСТАВЛЕННЫХ ВИДЕО МОГУТ ОКАЗАТЬСЯ ДИКИМИ БАЯНАМИ-БАБАЯНАМИ..." (не увлекаюсь, но тут уж очень в тему пришлось)
В особенности это касается конкретного представителя отдельного вида HOMO COPYPASTUS, единственной заслугой которого является перепечатка штатной документации к платформе, а целью посещения ИС - бесконечный и бессмысленный троллинг в комментариях.
P.S. Искренне надеюсь, что данный представитель уж в коем-то веке не станет подтверждать свой имидж последующим "словесным поносом" и благоразумно промолчит, избавив мир от низкопробного словоблудия, а меня от утомительного стирания уведомлений о поступлении очередной порции "фекалий" в комментариях.
48. Andrew Chuprina (chuprina_as) 221 01.02.16 11:56 Сейчас в теме
Сделайте, пожалуйста, возможность очистки кеша заданному пользователю.
49. Константин Хрипков (mbreaker) 1116 01.02.16 15:30 Сейчас в теме
(48) chuprina_as, при подходе, реализованном в данном решении, такое сделать невозможно.
А для описанной задачи нужны более продвинутые средства. Что-то типа MS System Center... Но это уже совсем другая пьеса.
50. Евгений Чекушкин (check2) 21 29.03.17 10:47 Сейчас в теме
Ай спасибо тебе добрый человечище!
51. Евгений Чекушкин (check2) 21 29.03.17 11:33 Сейчас в теме
(50) Надо бы только только немного процедуру обновить в поставке:
Функция КаталогВерсии(БД)

	КаталогВерсии = "1Cv82\";
	Если Лев(БД.Версия,3)="8.1" Тогда 
		КаталогВерсии = "1Cv81\";
	ИначеЕсли Лев(БД.Версия,3)="8.3" Тогда 
		КаталогВерсии = "1Cv8\";
	КонецЕсли;
	
	Возврат КаталогВерсии;

КонецФункции // КаталогВерсии()
Показать

А то уже 8.3 есть и не не в том каталоге кэш чистит
52. Артем Артеменко (dock) 29 29.03.17 15:30 Сейчас в теме
(51) Ну тогда уж следует и допиливать под УФ и работу под тонким клиентом :)

Совершенству нет предела!
54. Константин Хрипков (mbreaker) 1116 04.04.17 14:51 Сейчас в теме
53. Константин Хрипков (mbreaker) 1116 04.04.17 14:51 Сейчас в теме
56. Adapter Бахтыреев (adapter) 439 20.04.17 09:14 Сейчас в теме
вот простой вариант под тонкий клиент, в том числе и такси
http://infostart.ru/public/613030/
Оставьте свое сообщение