gifts2017

Решение проблемы динамического обновления 1С 8.X

Опубликовал kiba Ковальчук (kiba) в раздел Программирование - Инструментарий

При использовании динамического обновления периодически возникают различные проблемы в работе некоторых пользователей.
Решается эта проблема путем чистки каталога user\Local Settings\Application Data\1C\1Cv81 (или 1Сv8 для версии 8.0) , в котором содержится
данные кэша 1С. Данная процедура позволяет автоматизировать данный подход при завершении работы пользователя.

Решение представляет собой процедуру, вызов которой нужно добавить в обработчике "При завершении работы системы".
Процедура очищает каталог user\Local Settings\Application Data\1C\1Cv81 (или 1Сv8 для версии 8.0) с кэшем пользователя (из-за которого и возникает данная проблема).
(Папки Config, ConfigSave, SICache, DBNameCache)

Была решена основная трудность - невозможность удаления каталога user\Local Settings\Application Data\1C\1Cv81 из самой 1С (т.к. доступ к нему блокируется, пока программа активна).
Использование заключается в вызове экспортной процедуры ОчисткаКэша(), определенной в модуле обработки. Вызов нужно производить из модуля приложения в обработчике ПриЗавершенииРаботыСистемы().
Данное решение работает как на локальном рабочем месте, так и в терминале.
Важно! В режиме обработки очистка кэша не отработает! Используйте только через вызов процедуры из обработчика ПриЗавершенииРаботыСистемы().


Настройки пользователей не затираются!!!

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

Наименование Файл Версия Размер Кол. Скачив.
ОчисткаКэша
.1225276178 6,65Kb
25.09.09
316
.1225276178 6,65Kb 316 Бесплатно

См. также

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

Комментарии

0. kiba Ковальчук (kiba) 01.01.70 03:00
При использовании динамического обновления периодически возникают различные проблемы в работе некоторых пользователей.
Решается эта проблема путем чистки каталога user\Local Settings\Application Data\1C\1Cv81 (или 1Сv8 для версии 8.0) , в котором содержится
данные кэша 1С. Данная процедура позволяет автоматизировать данный подход при завершении работы пользователя.



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

1. Андрей Скляров (coder1cv8) 29.10.08 15:42
Пользовательские настройки вместе с кэшем затираются?...
2. Lomok (lomok) 29.10.08 15:51
(1)А ты как думаешь? за 30 то деревянных :)
3. kiba Ковальчук (kiba) 29.10.08 16:37
Настройки не затираются. Они хранятся в другом каталоге (user\Application Data\1C\1Cv81)
Затирается только кэш (папки Config, ConfigSave, SICache, DBNameCache)
4. Александр Окулов (PowerBoy) 30.10.08 07:28
Я чет, не понял - она каждый раз очищает кэш?
5. Андрей Скляров (coder1cv8) 30.10.08 07:35
6. Александр Окулов (PowerBoy) 30.10.08 07:41
(5) А потом при старте каждый раз создает! )
7. Сергей Старых (tormozit) 15.11.08 22:05
Удаляет кэш от всех баз сразу?)
8. Сергей Старых (tormozit) 15.11.08 22:11
Кстати под вистой WshShell.SpecialFolders.Item("AppData") не так работает, как под ранними ОС. Так что эта штука работать под вистой правильно не будет.
9. Олег (simol) 18.11.08 19:02
Что-то у меня только cachedata удаляет, а cacheStorage оставляет
10. Сергей Лунев (luns) 18.11.08 19:03
11. Олег (simol) 19.11.08 16:39
При поиске в модулях спрашивает пароль. Неудобно, так как нельзя отойти.
12. kiba Ковальчук (kiba) 24.11.08 21:20
По просьбам снят код с модуля обработки.
13. kiba Ковальчук (kiba) 24.11.08 21:25
Самый главный замеченный минус - все-таки кэш нужен для ускорения работы 1С.
Поэтому если очищать его каждый раз при выходе, скорость работы
может замедлиться (загрузка, открытие форм и т.д.).
Как вариант, можно предусмотреть очистку кэша по запросу при выходе из 1С (правда пользователь должен понимать о чем его спрашивает программа),
очистка по определенным дням, очистка при установленной константе и т.д.
14. Валерий Агеев (awa) 25.11.08 01:14
(13) а функцию КонфигурацияБазыДанныхИзмененаДинамически() религия использовать не позволяет?
15. Петр (Root Of Life) 20.03.09 13:02
Еще вариант автоматического убивателя кэша:
Создается CMD файл с содержанием:
rd "%UserProfile%\Local Settings\Application Data\1C\1Cv81" /s /q
и ложится сюда:
"C:\Documents and Settings\All Users\Главное меню\Программы\Автозагрузка\.."
При каждом входе каждый пользователь сам себе чистит кэш.
16. Павел Кемский (Linx-p) 15.04.09 18:29
17. Владимир Казначеев (Mogidin) 04.03.10 16:46
у меня вот какая проблема, связанная с динамическим обновлением:
нужно быстренько внести в конфигурацию мелкие изменения в текстах модулей.
делаем, обновляем конфигурацию (что происходит динамически, т.к. с базой работают пользователи), перезапускаем 1с-ку... и получаем тормоза при загрузке конфигурации.
после такого действа загрузка конфигурации значительно замедляется у всех пользователей. избавиться от этого можно, например, установкой обновления конфигурации.
в чем причина такого поведения?
18. Evgeny Sc (JohnySC) 26.07.12 03:25
(17) Mogidin, причина такого поведения я думаю становится понятной из этой статьи http://gilev.blogspot.com/2010/02/1-81.html
19. Ас К (Ac73) 04.06.13 15:26
А у меня в каталоге \1С\8.1\ находиться файл ibases который также затирается, после чего список баз пустой.
20. Алекс Ю (AlexO) 12.11.13 12:52
(19) Ac73,
А у меня в каталоге \1С\8.1\ находиться файл ibases который также затирается

К динамическому обновлению это отношения не имеет.
Возможно, вам поможет моя статья:
Администрирование и унификация списка баз пользователей в 8.2 (типовой механизм)
Там есть и про затирание списка, и масса примеров корреткной реализации, и возможностей работы со списками баз.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа