Как очистить кэш 1С
Очень часто у пользователей появляются странные ошибки: у одного пользователя программа работает правильно, у другого, рядом, на другом компьютере, совершенно иначе. Зачастую после долгих разбирательств оказывается, что причина таких «глюков» в 1С 8 — кэш.
Ниже расскажу, что такое кэш 1С и как его почистить.
Содержание
Кеш 1С
Кеширивание — процесс создания буфера часто используемой и, как правило, статичной информации. Кеширование используется для ускорения работы программы, в частности, в 1С на компьютер пользователя подгружаются файлы конфигурации, чтобы не запрашивать их с сервера при каждом обращении.
Однако очень часто платформа 1С неправильно отрабатывает кеширование конфигурации, и в результате мы получаем неадекватное поведение конфигурации.
Причины некорректного поведения могут быть разные: динамическое обновление конфигурации, программные или аппаратные сбои.
Первый способ — почистить кэша 1С вручную
Для решения проблем и «глюков» 1С обычно помогает очистка кеша платформы 1C 8.3.
Если вы только начинаете программировать в 1С или просто хотите систематизировать свои знания - попробуйте Школу программирования 1С нашего друга Владимира Милькина. Пошаговые и понятные уроки даже для новичка с поддержкой учителя.
Попробуйте бесплатно по ссылке >>
Получите понятные самоучители по 1С бесплатно:
Делается это следующим образом:
шаг 1
Найти каталог, где хранятся временные файлы 1С, их можно увидеть в меню настройки в списке ИБ:
2 шаг
Мы получили адрес вроде
C:\Documents and Settings\username\Application Data\1C\1Cv82\tmplts\1c
Папки с кэшем расположены по адресу
C:\Documents and Settings\username\Application Data\1C\1Cv82\
*где username — имя пользователя системы, а папка 1Cv82 может отличаться в зависимости от версии платформы 1С
Зайдя туда, мы находим множество (количество папок равно количеству конфигураций) интересных папок:
Все выделенные каталоги являются кешем БД 1С, их можно смело удалять. Перед удалением обязательно необходимо выйти из ИБ.
Если Вам не хочется искать, где расположены файлы, Вы можете воспользоваться специальной программой (бат-файл), которая очищает папки с временными файлами — скачать ОчисткаКеша.bat. Не забывайте, что Вы пользуетесь ими на свой страх и риск. Они содержат следующую команду:
rmdir «%AppData%\1C\1Cv8» /S /Q
rmdir «%LOCALAPPDATA%\1C\1Cv8» /S /Q
Второй способ очистки временных файлов 1С — удаление базы из списка
Второй способ более простой, однако он не совсем правильный. Для очистки достаточно удалить эту конфигурацию и создать новую с тем же путем к ИБ.
Вследствие этого старая папка с кэшем «отвяжется» от этой ИБ, и создастся новый каталог.
Можно делать и так, кеш очищается, однако временные файлы так и остаются на жестком диске.
Третий способ — параметр ClearCache
Рекомендую использовать, если глюки из-за наличия временных файлов появляются постоянно. Однако данный способ снижает производительность системы. Подходит только для тонкого клиента.
Необходимо в дополнительных параметрах запуска (в списке баз кнопка Изменить, последняя закладка) прописать команду /ClearCache. Пример использования:
Видео по очистке кэша в программах 1С:
Если же «глюки» в 1С не пропали после очистки кэша, и 1С работает не так, как хотелось бы, Вы можете обратиться к квалифицированному программисту 1С.
Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):
Другие статьи по 1С:
- Администрирование (обновление 1С, резервные копии и т.д);
- Программирование 1С
- Обучение 1С
К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.
СПРОСИТЕ в комментариях!
Петр:
ClearCache ключ работает только для чистки кэша тонкого клиента. Некоторые особо квалифицированные считают ClearCache программой! и требуют ее скачать .
николай:
очень интересная и полезная статья мне понравилось кое какие полезные моменты я узнал для себя спасибо за статью
Олег:
А если в BAT-файл первой строчкой поставить копирование папок Ext.. и tmplts а так же профилей по маске *.pfl в какую-нибудь корневую временную папку и после выполнения удаления — возврат из временной папки обратно — это более безопасный вариант?
Арман:
If Exist %USERPROFILE%\AppData\Roaming\1C\1Cv82 (
rem Удаляем все файлы
Del /F /Q %USERPROFILE%\AppData\Roaming\1C\1Cv82\*.*
Del /F /Q %USERPROFILE%\AppData\Local\1C\1Cv82\*.*
rem Удаляем все каталоги
for /d %%i in («%USERPROFILE%\AppData\Roaming\1C\1Cv82\*») do rmdir /s /q «%%i»
for /d %%i in («%USERPROFILE%\AppData\Local\1C\1Cv82\*») do rmdir /s /q «%%i»
)
Программист 1С:
Спасибо за ценнейший комментарий :))
Кстати, ищем авторов для новых статей!)))
самовар:
а если я электрочайник, я понимаю что надо что-то там прописать..но напрягать мозг не хочу, так как знаю это поверхностно и мне это не совсем интересно — я пользователь…1С перестала загружаться с рабочего ярлыка, открывается только конфигурация…я нашла главный файл и создала новый ярлык….но наверное это не правильно, надо понять почему перестал работать старый…помогите
toll:
for /d %i in («%USERPROFILE%\AppData\Roaming\1C\1cv8», «%USERPROFILE%\AppData\Local\1C\1cv8») do (pushd %i & rd . /s /q & popd)
Иван:
Спасибо!
Сергей:
Спасибо. Пригодился способ 3. А главное работает.
Михаил:
Спасибо. Все получилось по второму способу.
Сергей:
C моей точки зрения, удалить конфигурацию и создать с тем же путем — занимает 2 минуты максимум, доступен пользователю с любой подготовкой. Именно поэтому должен быть первым.
Второй способ, поиски путей, папок с кэшем, выборочное удаление — доступно не всем. Плюс в статье не сказано что в пути «C:\Documents and Settings\USERNAME\Application Data\1C\1Cv82\» компонент «USERNAME» может быть другим. Предлагаю поправить.
Кирилл:
Спасибо за замечание, добавил 🙂
Анатолий:
Удаление конфигурации из списка может привести к полному сбросу настрое торгового оборудования для конфигурации Розница 2.0. Привет от 1С!
Евгений:
В УТ 11 в кэш запихали настройки оборудования и если удалять папки вашим способом, то ни сканировать, ни печатать чеки и пр. вы не сможете пока не настроите их заново в торговом оборудовании…
Роман:
Можно уточнить откуда информация и для какой версии УТ11 это актуально?
Из личного опыта: настройка подключаемого оборудования привязывается к рабочему месту (связка [компьютер]+[пользователь компьютера]), а к пользователю 1С не имеет никакого отношения. На кассе работают ~10 кассиров, а торговое оборудование я настраивал только один раз (из под своей учётки 1С).
Роман:
Забыл уточнить: настраивалось на УТ11.1 (11.1.9.55).
FnComW:
ОЧЕНЬ верное и полезное замечание !
Роби Тобинсон:
Неистово плюсую. Чистка кэша убивает настройки подключаемого оборудования.
Аноним:
не чиста кэша, а удаление какого-то там файлика (который dhjlt живёт в каталоге App). И не сбраывает настройки, а делает их недоступными (в файлике хранится строка, вроде GUID, а при сносе файла и последующей загрузке создаётся файл с новой такой строкой, не похожей на предыдущую). Лечение такой мелочи у специалиста занимает 10-15 минут. Но, конечно, не надо до такого доводить.
Анатолий:
На рознице 2.0 100% убиваются настройки торгового оборудования при удалении базы из списка и добавления заново. 1С решила привязать рабочее место к имени папки с настройками. Это жесткая подстава для админов…
Аноним:
не совсем так, см. выше
Андрей:
Евгений 5+
Вячеслав:
Здравствуйте.
Подскажите, пожалуйста, подробнее последовательность действий по второму способу
«Второй способ более простой, однако он не совсем правильный. Для очистки достаточно удалить эту конфигурацию и создать новую с тем же путем к ИБ»
Юрий:
А как-нибудь можно параметр ClearCache записать в файл списка информационных баз v8i?
Юрий:
Сам нашел посмотрев в %AppData%\1C\1CEStart\ibases.v8i
Нужно прописать
AdditionalParameters=/ClearCache
Елена:
Огромное спасибо. Способ 1 очень пригодился.
Aragor:
Легче всего найти кэш через поиск файлов(Ctrl+F).
В настройках поиска ставим искать в скрытых и системных файлах и ставим на поиск файл: 1cv8.pfl.
sssss:
Способ 1, шаг 1… У меня путь к шаблонам такой:
c:\=1с\=шаблоны\
А под GNU/Linux вообще другой.
То, что кэш там рядом не валялся — очевидно. Не поленитесь, напишите нормально, где и как его найти.
Павел:
Попробуйте найти так: системный диск(где Windows установлена):\Пользователи (или Users)\Нужный пользователь\AppData\Local\1c
Семён:
А как очистить КЭШ для самого вёб-сервера ?
Ведь в базу за данными лезет именно он — и «залипнуть» может и в этом моменте.
У нас к примеру сейчас постоянно «версия программы обновлена», при том что всё обновлено и все возможные кешы почистили и службу презапустили.
Аноним:
Спасибо!
GrigPetr:
Для ускорения работы 1С сделайте RAM-диск (диск в системе, который на самом деле находится в оперативной памяти) и присвойте букву R
В автозапуск всем пользователям поставить следующий скрипт ram_disk.bat
rem Удаляет кэш на RAM диске
rd /s /q «R:\%USERNAME%»
rem Создаем каталоги на RAM-диске и связываем их с папками пользователя
rem Работает для всех версий 1С ред 8
mkdir R:\%USERNAME%\Local\1C
rd /s /q «C:\Users\%USERNAME%\AppData\Local\1C»
mklink /j «C:\Users\%USERNAME%\AppData\Local\1C» «R:\%USERNAME%\Local\1C»
rem в Roaming находится список баз пользователя, поэтому удаляем только эти подпапки и создаем новые на RAM диске
mkdir R:\%USERNAME%\Roaming\1C\1cv8
rd /s /q «C:\Users\%USERNAME%\AppData\Roaming\1C\1cv8»
mklink /j «C:\Users\%USERNAME%\AppData\Roaming\1C\1cv8» «R:\%USERNAME%\Roaming\1C\1cv8»
mkdir R:\%USERNAME%\Roaming\1C\1cv81
rd /s /q «C:\Users\%USERNAME%\AppData\Roaming\1C\1cv81»
mklink /j «C:\Users\%USERNAME%\AppData\Roaming\1C\1cv81» «R:\%USERNAME%\Roaming\1C\1cv81»
mkdir R:\%USERNAME%\Roaming\1C\1cv82
rd /s /q «C:\Users\%USERNAME%\AppData\Roaming\1C\1cv82»
mklink /j «C:\Users\%USERNAME%\AppData\Roaming\1C\1cv82» «R:\%USERNAME%\Roaming\1C\1cv82»
k18k:
спасибо
Аноним:
на 10 почему то не работает.
мне помогает такой скрипт
rd /q /s «%userprofile%\AppData\Local\1C\1Cv82\»
rd /q /s «%userprofile%\AppData\Roaming\1C\1Cv82\»
rd /q /s «%userprofile%\AppData\Local\1C\1Cv8\»
rd /q /s «%userprofile%\AppData\Roaming\1C\1Cv8\»
robinsar:
Все помогло
ll:
Спасибо, было полезно.
После отключения электричества в процессе обновления не могла даже в конфигурацию зайти, пришлось прописать выбирать 8.2, стал запускать.
До того протестировала и исправила базу chdbfl, как обычно рекомендуют (чего-то исправлялось).
После запуска конфигурации тестировала средствами конфигуратора (тоже чего-то исправлялось).
После этого оказалось, что не срабатывает обновлятор.
Окончательно помогло удаление базы из списка и создание записи заново:)
Арабеска:
Спасибо!!!
Аноним:
Большое спасибо. Помог второй способ. остальные либо я делала неверно, либо в моем случае оказались не действенны.
Аноним:
Да после чистки оборудование отключилось и ккм и сканер не работают, 1с розница 8.3
Царапкин:
Очень помогли!В процесс обновления конфигурации комп. завис и перезагрузился. В итоге вылезла ошибка при повторном запуске 1с-«Ошибка формата потока». Чистка кэша не помогла ,а вот второй способ всё исправил! Программа загрузилась и сама обновилась. Большое спасибо!
Таня:
Спасибо! Помог 2 способ.
Nyoko:
Ребята зачем вы трогаете каталоги, просто удалить из списка базу и добавить заново. Это создаст новый кэш. Если ошибка не ушла структура данных значит нарушена.
Vadeus:
Спасибо !!!!
Аноним:
Удаляли каталоги в C:\Users\Пользователь\Application Data\Local\1C\1cv8
Не помогло
Удалили каталоги в C:\Users\Пользователь\AppData\Local\1C\1cv8
Помогло!
олена:
День добрый. Почистила. Удалила из кэша. Запускаю, а она появляется вновь : неверный формат хранилища данных ‘//С://Users//оna/AppData/Local/1c/1Cv82/74fa3adf-8770-40cc-a629-bf16586d3794/Config/RuntimeCasheStorage и не дает запустить базу(((
Denesis:
Кеш розницы в магазинах полностью не желательно удалять, т.к. в Ext лежат рабочие DLL. Предлагаю такой вариант, который чистит реально только папку-кеш, а не все подряд:
@echo off
If Exist %APPDATA%\1C\1cv8 (
@echo Очистка Roaming
for /d %%i in («%APPDATA%\1C\1Cv8\????????-????-????-????-????????????») do (
rmdir /s /q «%%i»
@echo «%%i»))
If Exist %USERPROFILE%\Local Settings\Application Data\1C\1Cv8 (
@echo Удаляем все каталоги
for /d %%i in («%USERPROFILE%\Local Settings\Application Data\1C\1Cv8\*») do (
rmdir /s /q «%%i»
@echo «%%i»)
Timeout /t 3
@echo Запуск базы
«C:\Program Files\1cv8\common\1cestart.exe» ENTERPRISE /F C:\Base
Аноним:
Лучше так.
@echo off
If Exist %APPDATA%\1C\1cv8 (
rem Очистка Roaming
for /d %%i in (%APPDATA%\1C\1Cv8\????????-????-????-????-?????????????) do (
rmdir /s /q %%i
@echo %%i))
If Exist %localappdata%\1C (
rem Удаляем все каталоги
for /d %%i in (%LOCALAPPDATA%\1C\1Cv8\) do (
rmdir /s /q %%i
@echo %%i))
СЛОВОГОСПОДА:
СПАСИИИИИИИИИБО!!!!!!!!!!!!
Ринат:
воспользоваться специальной программой (бат-файл) работает, спасибо
Ольга:
Нам помогло просто при запуске 1С удалить информационную базу ИЗ СПИСКА и добавить ЭТУ же базу,выбрав ее заново через локальную сеть.Ничего не чистили,ничего не переносили (потому как не получилось))
Аноним:
Спасибо тебе мил человек!!!!
Аноним:
Спасибо…
Аноним:
Большое спасибо! Помогло, база запустилась!!
Tiger:
Использую cmd-файл.
Работает На Windows 7 и выше только для пользователя, от имени которого запущен скрипт. Спасает от косяков при работе со структурой конфигурации.
———————————————————-
@echo Clearing APPDATA…
forfiles /P «%appdata%\1c\1Cv8» /M *cache* /S /C «cmd /c del /Q @path»
forfiles /P «%appdata%\1c\1Cv82» /M *cache* /S /C «cmd /c del /Q @path»
@echo Clearing LOCALAPPDATA…
forfiles /P «%localappdata%\1c\1Cv8» /M *cache* /S /C «cmd /c del /Q @path»
forfiles /P «%localappdata%\1c\1Cv82» /M *cache* /S /C «cmd /c del /Q @path»
Сергей:
Супер! Спасибо! Помогло!!!!!!
Аноним:
спасибо огромное)))
Vitalii:
Наверное пора и PS сюда добавить.
Вот что использую я, удаляю только папки кеша:
Remove-Item -Path «C:\Users\$env:UserName\AppData\Roaming\1C\1cv8\» -Exclude *.* -Recurse
Remove-Item -Path «C:\Users\$env:UserName\AppData\Local\1C\1cv8\» -Exclude *.* -Recurse
Аноним:
Спасибо, вроде побыстрее стало все
Татьяна:
Спасибо большое! Второй способ помог.
ОдинЭсниг:
Спасибо огромное, умничка, дорога ложка к обеду, переподключил базу и, о чудо, кэш новый и пустой -)))
Аноним:
Спасибо большое-пребольшое! Первый способ не помог, а вот вторым способом всё получилось!
Аноним:
Ура! Заработало! Удаление каталогов творит чудеса. Торговое оборудование отсутствует, 8.3.9.2233, УТ 10.3.3
Аноним:
Супер! Спасибо!!! О, чудо, все заработало!!!
Аноним:
Сделала как вы сказали, удалила все папки из кеша, а теперь появилось сообщение: список информационных баз пуст и добавить ее не удаётся, т.к. появляется сообщение: отсутствует файл базы данных. Ну и что теперь делать?
Сисадмин:
Для поша, выполнять из под админа
$users = get-childitem c:\users
echo $users
foreach ($user in $users){
$Roaming1C1cv82 = ‘C:\Users\’ + $user + ‘\AppData\Roaming\1C\1cv82’
echo $Roaming1C1cv82
Remove-Item $Roaming1C1cv82 -Recurse -Force
$Local1C = ‘C:\Users\’ + $user + ‘\AppData\Local\1C’
echo $Local1C
Remove-Item $Local1C -Recurse -Force
}