Предвосхищая бурную полемику в комментариях на тему «а зачем нужен очередной чистильщик кэша, если уже есть [далее длинный список]?», скажу сразу: каждый выбирает то средство, которое ему удобно и полезно. Просто из всего того, что на момент разработки было уже написано — ничего, к сожалению, для меня не подошло, подробности читайте ниже.
Итак, какие ставились цели:
- Средство должно позволять чистить пользовательский кэш (сохраненные значения, размеры и положение форм и т.п.) и кэш конфигураций (рабочая копия конфигурации на клиенте), как оба сразу, так и каждый по отдельности.
- Средство должно отрабатывать только ту ИБ, которую явно указывает пользователь, не затрагивая данные других ИБ.
- Cредство должно быть достаточно простым, чтобы по телефону или e-mail в двух словах можно было бы объяснить рядовому пользователю, что ему нужно выполнить.
- Средство должно легко разворачиваться в сети на большом количестве пользователей.
- Средство не должно использовать никакие иные компоненты, кроме самой платформы и штатных библиотек Windows.
Вариации на тему ключа /ClearCache не рассматривались в принципе, т.к. данный ключ работает только для чистки кэша тонкого клиента (не все об этом знают, но это действительно так).
Утилиты, базирующиеся на открываемой пользователем обработке не удовлетворяли в основном по причине №4 (обработку пришлось бы добавлять в каждую ИБ, а их слишком много).
Утилиты не на платформе 1С выбывали из кандидатов по причинам №4 и 5.
Скрипты через AutoIt и прочие скриптовые вариации отпали по причинам №2, 4, 5
Специально обученные чистке кэша люди, бегающие по зоопарку из > 200 пользователей при каждом случае некорректного динамического обновления, даже в теории не предполагались. Впрочем как и отказ от динамических обновлений (сколько бы их не предавали анафеме — плюсов от них существенно больше, чем минусов).
Варианты закончились — цели остались. Так и родился ЧеКист.
Инструкция по эксплуатации не требуется, интерфейс интуитивно понятный, долгих объяснений пользователям о том, что запустить и куда там нажать, как правило, не требуется.
Утилита поставляется в двух вариантах:
- самостоятельная конфигурация (установочный комплект сжат в один zip-файл);
- внешняя обработка для мобильного использования (есть ограничение использования: обработка не чистит кэш БД, из которой была запущена).
Второй вариант подходит для «полевого» применения с флешки. Когда нужно быстро устранить проблему у клиента, но очень не хочется проводить целое расследование на тему «какую именно папку нужно грохнуть?»
Хочу выразить благодарность fishca за разработку «Построение дерева информационных баз на основе файла ibases.v8i» (//infostart.ru/public/19841/), которая легла в основу отображения древовидного списка баз и существенно сократила время разработки ЧеКиста.
Обновлена версия до 1.0.3.1
- + Добавлена поддержка платформы 8.3
- + Добавлена поддержка переопределения местоположения кэша через location.cfg
Обновлена версия до 1.0.2.3
- * Исправлено удаление кэша конфигурации при запуске под Windows XP
Обновлена версия до 1.0.2.2
- + Добавлена отдельная поставка и обработка для 8.1
- + Добавлена возможность множественного выделения ИБ для групповой чистки
- + При двойном нажатии автоматически выполняется чистка кэша конфигурации (наиболее востребованная процедура для восстановления работоспособности конфигурации после сбой при динамическом обновлении)
- * Реорганизованы пункты контекстного меню
- * Название пункта меню «Очистить всё» заменено на «Очистить оба кэша», чтобы исключить ассоциацию с групповым действием
(0) При выборе «Очистить все» будут очищаться кэши по папкам/подпапкам в дереве ИБ?
(1) «Очистить всё» — это последовательное исполнение действий «Очистить кэш конфигурации» и «Очистить кэш пользователя». В обоих действиях удаляются полностью каталоги кэшей со всеми вложенными файлами и подкаталогами.
Любое действие предваряет проверка на наличие или возможность удаления файла 1Cv8.lck в пользовательском кэше (признак запущенного толстого клиента).
(1) Извиняюсь, не сразу понял суть вопроса… Ответ — нет. Рекурсивного перебора по дереву ИБ здесь нет.
Сам я не сторонник принципа «а давайте жахнем всё, просто на всякий случай». Но если идея групповой очистки будет востребована — включу в план на следующую версию.
(0) Ну я воспринял «Очистить все» — значит всё и у всех ИБ. А вот по папкам в дереве ИБ очистка для меня актуальна однозначно — уж слишком много баз )))
(4) Групповое выделение и обработку реализовал в версии 1.0.2.1, выложу чуть позже. К ветвям дерева привязываться не стал, выделение через ctrl или shift гораздо универсальнее.
Внешняя обработка НА 1C 8.1 УТ 10 не открывается и не конвертируется 🙁
(6) serpent, исправил в версии 1.0.2
Обновленная версия будет размещена сегодня вечером
(7) Ну вот, попал на -1 стартМани
(8) serpent, за регистрацию ошибки +1$m переводом.
Надеюсь следующая версия понравится больше.
(9) Будем ждать.
(4) Famza, (10) serpent, пожелания реализованы в новой версии 1.0.2.2, версия уже доступна для скачивания
(10) serpent, для 8.1 сформированы отдельные поставки
(12)Спасибо… проверим
Да, у динамического обновления много плюсов. Но есть большой минус — не знаешь что от него ожидать. Как-то несколько раз я сталкивался с ситуацией, когда после динамического обновления пропадали мои изменения в коде и я вносил последующие изменения в уже некорректный код. Так когда же нужна процедура очистки кэша? Всякий раз после динамического обновления?
(14) Рамзес, в подавляющем большинстве случаев очистка кэша конфигурации при динамическом обновлении нужна только тогда, когда между моментом обновления и штатным перезапуском клиента происходит аварийное завершение работы клиента. Другие варианты больше относятся к случайностям, чем к закономерностям.
Очистка же кэша пользователя требуется существенно реже и, как правило, поводом для неё бывают:
Прошелся по всем базам. Везде сообщение «кэш конфигурации уже чист». Хотя он не разу не чист =(
(16) SeiOkami, сообщите версию Windows и пути, по которым Вы проверяете кэши.
Также запустите утилиту командной строки, введите команду set без параметров и посмотрите значение переменной окружения USERPROFILE.
Для корректной работы ЧеКиста нужно, чтобы данная переменная содержала правильные настройки:
(16) SeiOkami, спасибо за регистрацию ошибки при работе утилиты под Windows XP.
Исправлено в релизе 1.0.2.3
по традиции: +1$m переводом
Хотелось бы послушать/почитать об очистке серверного кеша
хотелось бы почитать об очистке серверного кэша
(20) ignor, а что подразумевается под термином «серверный кэш»?
(22) ignor, не получается отвечать более оперативно, т.к. нахожусь в отпуске в другой стране.
Такого понятия, как «серверный кэш», пока в платформе нет, есть только зарегистрированные пожелания сделать кэширующий механизм для получения значений таблицы констант через объектную модель, т.к. вызовы к ним очень частые и каждый раз данные забираются из БД (конечно СУБД ещё кэширует часто используемые выборки, но все равно имеют место потери на накладных расходах).
А то, о чём идёт речь в указанной ветке Мисты — это просто служебные файлы, подробнее о них можно почитать на самой же Мисте:http://www.forum.mista.ru/topic.php?id=662246
Скачал, опробовал — все работает. Автору — сенькс.
(24) DmitryKishkin, пользуйтесь на здоровье! 🙂
Не понял, как это увидеть, я имею в виду сработало или нет, при обновлении (конвертации 1.0-2.1.9) базы Розница для Казахстана чистил руками, скриптами, переходил на платформу 8.3 все равно ошибка: Ошибка загрузки документа.
http://v8.1c.ru/8.1/data-composition-system/area-template }appearance Форма: Элемент Тип: {http://v8.1c.ru/8.1/data-composition-system/area-template }TableCellAppearance
http://v8.1c.ru/8.1/data-composition-system/core }ParameterValue
http://v8.1c.ru/8.1/data/ui/style }ПросроченныеДанныеЦвет Тип: {http://v8.1c.ru/8.1/data/ui }Color
http://v8.1c.ru/8.1/data/ui }Color’
по причине:
Ошибка преобразования данных XDTO:
НачалоСвойства: {
по причине:
Ошибка преобразования данных XDTO:
НачалоСвойства: item Форма: Элемент Тип: {
по причине:
Ошибка преобразования данных XDTO:
Значение: {
по причине:
Ошибка отображения типов:
Отображение типа ‘String’ в тип ‘{
Может есть идеи?
Убирал галочки с XDTO пакетов, с обработок, с некоторых общих модулей, нихт, завершить работу или перезапустить, рекомендуют чистить кэш, но увы, воз и ныне….
(26)(27) Хм… Пост выглядит как-то сумбурно, Вам не кажется? Может немного предыстории поможет? А то мне это напоминает отрывок из шоу «Уральские пельмени», где Соколов спрашивает: «А можно мне с вами? «
Кстати… Файлы кэша же привязывается к внутреннему ИД базы в списке баз. Так что в теории достаточно удалить и заново добавить базу в общий список баз и у всех 200 пользователей кэш сбросится (при условии запуска из общего списка).
(29) zqzq, не только в теории, но и на практике… и не только кэш, но и все сохранённые настройки (даже имя пользователя при старте)… причём у всех двухсот сразу… они все возьмутся за руки и прибегут «радоваться» к дверям администратора, восхваляя все его заслуги пред отечеством за последние лет… э-э-э… пять…
к чему я это? ах, да… экскаватор — это замечательная вещь, облегчающая на порядок жизнь человека, но использовать его в огороде для того, чтобы вскопать грядку, наверное, не очень рационально, именно поэтому человечество для таких случаев продолжает использовать лопату! 🙂
P.S. для избавления от глюков динамического обновления помогает чистка кэша конфигурации, а пользовательский кэш чистить в 99% случаев бессмысленно.
(30) в версии 1С 8.2 практически все значимые настройки перенесены в БД в хранилища настроек и привязаны к пользователю 1С, а заход лучше под пользователем Windows делать по возможности. Так что тут дело вкуса скорее. Максимум какие-нибудь настройки положений окон и шрифта окона сообщений сбросятся.
Проверил на 8.2 толстом обычном клиенте, настройки сохраненных значений реквизитов обычной формы не сбрасываются при передобавлении базы в список.
Работает ли это решение для платформы 8.3?
Сторонние утилиты более мобильны — позволяют очистить кэш в 1 клик. А здесь достоинство гибкость…
Попробуем 🙂
Когда ожидать версию под управляемые формы (все-таки поддержка…)?
Про такси-метро пока не спрашиваю…
Неплохо бы:
1. Настройку видимости баз. Например, когда баз несколько десятков, а пользователь работает с 2-3… Это будет непросто, т.к.:
— список формируется при открытии и нигде не хранится;
— не предусмотрены пользователи, т.е. не к кому такую настройку привязать.
2. Чекиста по умолчанию в списке не показывать (дабы не смущать тех, кто на бронепоезде).
(32) Да, работает.
(34) Ну, пока целесообразности в этом не видел, т.к. основной «рабочий» вариант применения всё-таки отдельно стоящая конфигурация, а для неё разницы нет в УФ, НФ или Такси. Сейчас куда более интересно разобраться с «глюками» управляемых форм и СКД, которые повсеместно лезут в БП 3.0 и не лечатся сбросом кэшей (помогает только перепрописание БД в списках).
(35) Если честно не понял сути ни первого, ни второго предложений.
Можно поподробнее, что подразумевается под «видимостью» баз? Фильтр?
И что значит «по умолчанию»? Стартер 1С — это часть платформы и в нём нет режимов запуска. А альтернативные стартеры — это не тема этой публикации.
версия 1.0.2.3 при открытии ошибка
{Обработка.ЧеКист.Форма.Форма.Форма(173)}: Ошибка при вызове метода контекста (ЭтоКаталог): Ошибка доступа к файлу: D:UserProfilesalexApplication Data1C1CEStartibases.v8i
видимо не учитывается что в win7 каталог 1с уже в другом месте
(39) adapter, да нет, скорее это в Вашем конкретном случае просто нарушена штатная структура символических ссылок, которую Win7 формирует для обратной совместимости со старыми версиями программ.
В Win7 действительно содержимое папки %user_profile%Application Data перекочевало в %user_profile%AppDataRoaming, но для совместимости система формирует символическую ссылку («ярлык») в папке %user_profile% с названием «Application Data» со связью на %user_profile%AppDataRoaming.
В своей обработке я использую эту особенность, чтобы не заниматься вычислением конкретного местоположения в зависимости от версии системы.
У Вас, видимо, этого линка по какой-то причине нет.
да, у меня системный диск на ssd (для быстродействия) а папка users на обычном hdd. Хоть и делал все штатными средствами Вин, но видимо поэтому нету у меня этих ярлыков. Неплохо было бы проверять существование каталога на подобные случаи.
Я дописал в конфу определение версии Вин. Можете включить в свой новый релиз если хотите:
https://drive.google.com/file/d/0B3_BNCh_2-MxMnJob0dua0JHWHM/view?usp=sharing
под 8.3 будет версия ?
(42) dock, под 8.3 прекрасно работает версия для 8.2, просто для 8.1 пришлось делать отдельную поставку из-за несовместимости интерфейса, отсюда и появление номера версии в наименовании обработки.
Но про вариант реализации под УФ специально для рабочих мест, где установлен только тонкий клиент, я обязательно подумаю…
Похоже, что в скором времени такая и самому понадобится…
А если у пользователя под Windows права ограничены на эти папки. Кэш очистит?
(0)
И как вы их разделяете?
bat-файл для автоматической чистки КЭШа. ?
Чем не устраивает обычная очистка через CMD типа
Тем более, вокруг всего этого устраивать «пляски» с названиями — «ЧЕКИСТ!», — и прочий пафос из разряда «Предвосхищая бурную полемику в комментариях на тему «а зачем нужен очередной чистильщик кэша, если уже есть [далее длинный список]?»» 🙂
(45) AlexO, специально для тех, кто с характерным «нулём» на конце и предпочитает не вчитываться в тексты пабликов перед генерацией комментариев, привожу две цитаты оттуда в ответ вопросы:
1) Как вы их разделяете?
2) Чем не устраивает?
Мой же ответ на «бла-бла-бла… пляски… бла-бла-бла… пафос…» можно прочитать на youtube в начале любого из роликов +100500 после фразы «ДИСКЛЕЙМЕР. НЕКОТОРЫЕ ИЗ ПРЕДСТАВЛЕННЫХ ВИДЕО МОГУТ ОКАЗАТЬСЯ ДИКИМИ БАЯНАМИ-БАБАЯНАМИ…» (не увлекаюсь, но тут уж очень в тему пришлось)
В особенности это касается конкретного представителя отдельного вида HOMO COPYPASTUS, единственной заслугой которого является перепечатка штатной документации к платформе, а целью посещения ИС — бесконечный и бессмысленный троллинг в комментариях.
P.S. Искренне надеюсь, что данный представитель уж в коем-то веке не станет подтверждать свой имидж последующим «словесным поносом» и благоразумно промолчит, избавив мир от низкопробного словоблудия, а меня от утомительного стирания уведомлений о поступлении очередной порции «фекалий» в комментариях.
(44) Borunmeert, у пользователя не может не быть прав на эти папки, т.к. в процессе работы туда пишет программа (1С), запущенная из-под этого же пользователя. Не было бы прав, 1С и не запустилась бы.
Сделайте, пожалуйста, возможность очистки кеша заданному пользователю.
(48) chuprina_as, при подходе, реализованном в данном решении, такое сделать невозможно.
А для описанной задачи нужны более продвинутые средства. Что-то типа MS System Center… Но это уже совсем другая пьеса.
Ай спасибо тебе добрый человечище!
(50) Надо бы только только немного процедуру обновить в поставке:
Показать
А то уже 8.3 есть и не не в том каталоге кэш чистит
(51) Ну тогда уж следует и допиливать под УФ и работу под тонким клиентом 🙂
Совершенству нет предела!
(51) принято
(50) на здоровье ))
вот простой вариант под тонкий клиент, в том числе и такси
http://infostart.ru/public/613030/
Скачал «Мобильная внешняя обработка v8.3″…..
ПОЧЕМУ не открывается в обычной Бухгалтерии 3.0 (такси)?????!!!!!!!!
я понимаю зачем нужна обычная форма… Но зачем писать 8.3 если такси и управляемые не открываются?
(57) В описании разработки нигде не заявлялись УФ или Такси, на всех скриншотах тоже только неуправляемые форма. А понятие «поддержка платформы 8.3» совершенно не тождественна понятию «разработка выполнена на управляемых формах». Поэтому не понимаю, в чём смысл столь эмоциональных претензий. Запустите БП 3.0 с ключом /RunModeOrdinaryApplication и пользуйтесь на здоровье.