Как сделать очистку кэша в 1с
Добавил пользователь Валентин П. Обновлено: 04.10.2024
В статье рассматривается, что такое кэш, зачем он нужен, и в каких случаях его приходится очищать. Также предлагается три рабочих способа как очистить кэш.
Содержание
Что такое кэш 1С и зачем он нужен?
Простыми словами – кэш это служебные файлы и папки, которые содержат данные, к которым наиболее часто обращается платформа в процессе работы. Это необходимо для повышения быстродействия программы, чтобы не извлекать одни и те же данные из базы и уменьшить количество обращений к СУБД.
Платформа кэширует пользовательские настройки, настройки торгового оборудования, файлы конфигурации, и другие часто используемые программой данные.
Кэш 1С делится на две части – клиентский и серверный. В случае, если используется файловая база данных, сервер, а соответственно и серверный кэш, будет отсутствовать.
Ложка меда в бочке дегтя
Механизм кэширования не всегда работает корректно. При динамических обновлениях, аварийных завершениях работы, сбоях работы сети, кэш может повреждаться или рассинхронизироваться.
Это может привести к самым разным ошибкам – от достаточно “невинной” – например, на форму добавили кнопку, но она не отображается в пользовательском режиме, так как платформа использует форму из кэша, так и к гораздо более серьезным, таким как “Ошибка формата потока”, “Ошибка разбора XML” и др. В этом случае база с поврежденным кэшем вовсе может не запускаться.
Причем сбой может быть трудно диагностируемым – например, на одном из компьютеров отчет работает с ошибкой, а на остальных – корректно. Или сбой может проявляться под конкретным пользователем ОС на одном и том же компьютере, а под другими учетными записями ошибка не будет воспроизводиться.
Что делать?
В одном из двух извечных вопросов “Кто виноват?” и “Что делать?” мы уже разобрались – случается так, что виноват кэш 1С. Теперь разберемся со вторым вопросом – что со всем этим делать?
Чаще всего выручает очистка этого самого кэша для сбойной базы. И сделать это можно несколькими способами
1. Удаление базы из списка и повторное добавление
С пользовательской точки зрения – это самый простой способ очистить кэш 1С. Достаточно просто удалить базу из списка баз в окне запуска программы, и добавить ее заново. В этом случае создастся новый идентификатор базы, а следовательно, новые папки и файлы кэша.
Недостаток этого метода проявляется со временем – старые папки и файлы никуда не деваются, а продолжают занимать место на диске, но уже не привязанные к базе. По сути это файловый мусор, который со временем будет накапливаться, и рано или поздно придется его удалять. А в этом как раз поможет следующий метод. э
2. Удаление файлов и папок кэша 1С
Следующий способ очистки кэша в 1С 8. Предварительно нужно закрыть программу 1С. Далее в проводнике или в файловом менеджере следует открыть рабочий каталог пользователя:
Следует учесть, что по умолчанию эти папки могут быть скрыты, и необходимо включить отображение скрытых папок.
В папке “1cv8” вы увидите папки с нечитаемыми названиями – 32-битными идентификаторами баз. Каждой базе, которая была когда-либо прописана у пользователя в списке баз, будет соответствовать отдельная папка кэша. Т.е. даже если у вас в списке баз всего одна база, но ранее вы неоднократно добавляли / удаляли ее, то каталогов кэша 1С может быть много (см. первый пункт).
Если вы пользуетесь несколькими базами, и кэш нужно удалить только у одной из них – вам может помочь отображение папки в виде таблицы – так вы сможете по времени изменения папки определить нужный каталог.
Но в целом эти каталоги можно безболезненно удалять, вреда не будет.
3. Запуск с параметром "/ClearCache"
Это тоже достаточно простой метод очистки кэша 1С. В списке баз в окне запуска 1С выбираем базу, в которой хотим очистить кэш. Жмем кнопку “Изменить”, жмем “Далее”, и в последнем окне мастера редактирования информационной базы в поле “Дополнительные параметры запуска” пишем параметр “/ClearCache”.
Минус у этого способа тоже есть – кэш будет очищаться, и каждый раз создаваться заново при каждом запуске. А это может привести к довольно ощутимым тормозам, если база достаточно тяжелая.
Кроме того, этот способ работает только при запуске тонкого клиента.
Немного автоматизации
Чтобы не переходить по папкам и не удалять их вручную, можно написать скрипт и сохранить в .bat файле
Самый простой и грубый способ “грохнуть кэш 1С” – всего четыре строчки
del “%AppData%\1C\1cv8\*.*” /S /Q
del “%LocalAppData%\1C\1cv8\*.*” /S /Q
rmdir “%AppData%\1C\1cv8” /S /Q
rmdir “%LocalAppData%\1C\1cv8” /S /Q
Есть более “точечные” способы очистки кэша, в интернете можно отыскать множество скриптов, которые удаляют кэш выборочно, оставляя настройки пользователей.
Серверный кэш 1С
В случае, если используется клиент-серверный вариант работы, очистка кэша на клиентском компьютере не всегда устраняет ошибку. В этом случае можно попробовать остановить службу сервера 1С и вручную очистить ряд файлов серверного кэша.
Серверный кэш 1С находится на центральном сервере кластера в папке
/ / reg_1541/SNCCNTX
Удалять в этой папке можно далеко не все, поэтому будьте внимательны. Ниже – список файлов, которые можно удалять безболезненно:
Не редко мы встречаем такие ситуации, что после обновления конфигурации 1С у некоторых пользователей начинают появляться необъяснимые ошибки работы программы. На одном компьютере может работать обновленный код, а на другом старый. Для решения данной проблемы в первую очередь необходимо очистить кэш 1С в 8.3.
Дело в том, что в процессе работы большинство программ, в том числе и 1С автоматически создает временный буфер для быстрого доступа с наиболее часто используемой информацией. В случае с 1С, файлы конфигурации подгружаются из кэша, что существенно ускоряет работу с программой. При возникновении каких-либо сбоев кэш обрабатывается не правильно, что и приводит к некорректной работе программы.
Помимо прочего, очистка кэша является одним из первых способов устранения ошибки формата потока данных.
Самые быстрые и простые способы очистки кэша
Важно знать, что перед очисткой кэша необходимо выйти из 1С!
После очистки кэша автоматически сбросятся введенные ранее имена пользователей во всех информационных базах. В режиме конфигуратора будет необходимо заново открывать конфигурацию базы данных.
1 способ — выполнить скрипт
Данный способ очистки кеша будет в первую очередь полезен администратором и сотрудникам технической поддержки, к которым часто обращаются пользователи с различными проблемами.
Вам будет необходимо создать в блокноте файл с текстом:
и сохранить его в файл с форматом .bat. Особо ленивые могут скачать его тут (замените расширение файла с .txt на .bat).
Перед запуском bat-файла для очистки кэша 1С не забудьте выйти из 1С.
Данный способ хорош тем, что он подходит для операционных систем Windows XP и Windows 7, а так же для всех версий технологической платформы 8.х, ведь кэш у них находится в разных местах.
2 способ — вручную
Если вы хотите почистить кэш вручную, то сначала необходимо определить, где он находится в файловой системе. Вам необходимо очистить сразу 2 папки, которые находятся в разных местах в зависимости от операционной системы и версии технологической платформы 1С.
В Windows XP:
%userprofile%\Local Settings\Application Data\1C\1Cv82
%userprofile%\Application Data\1C\1Cv82В Windows 7:
%userprofile%\AppData\Roaming\1C\1Cv82
%userprofile%\AppData\Local\1C\1Cv82Всерверныхоперационныхсистемах Windows 2008
C:\Users\ \AppData\Local\1C
C:\Users\ \AppData\Roaming\1C
Получите понятные самоучители по 1С бесплатно:
Так же вы можете узнать адрес хранения временных файлов в форме настройки из окна списка информационных баз.
В данном случае получен адрес такого типа:
При очистке кэша 1С вручную будьте осторожны и не удаляйте ничего лишнего!
3 способ — директива ClearCache
К недостаткам данного метода можно отнести снижение производительности работы и доступность только на тонком клиенте.
Смотрите также видео по очистке временных файлов в 1С:
Буду рассматривать всё очень упрощенно, не вдаваясь в подробности, чтобы как можно больше людей дочитали эту заметку до конца
Что такое кэш баз 1С?
Это файлы, которые 1С создаёт при работе с базой и в дальнейшем использует для ускорения своей работы.
Куда сохраняется кэш баз 1С?
Кэш сохраняется в папки пользователя.
Для современных ОС и для 1С 8.3 и выше это папки:
- c:\Users\ \AppData\Roaming\1C\1cv8\
- c:\Users\ \AppData\Local\1C\1cv8\
Где вместо нужно подставить имя вашего пользователя в операционной системе.
Кэш сохраняется в специальных подпапках вот такого вида:
Каждой такой подпапке соответствует кэш определенной базы.
В каких случаях нужно удалять кэш баз 1С?
Имеет смысл удалить кэш в том случае, если у вас появились ошибки при работе с базой, которые ничем другим объяснить нельзя.
Например, часто из-за повреждений файлов кэша появляется ошибка формата потока.
Также имеет смысл периодически очищать кэш всех баз на компьютере, если вы очень активно работаете с разными базами, причём эти базы всё время меняются. В этом случае очистка кэша освободит вам не один гигабайт дополнительного пространства на жёстком диске.
Насколько безопасно удаление кэша баз 1С?
Удаление кэша (жёлтых папок на рисунке выше) не может привести к повреждению базы или потере данных, но есть нюансы о которых читайте ниже.
Папки с кэшем помимо самого кэша содержат в себе так называемые профайлы пользователей (файлы с расширением *.pfl).
Профайлы содержат информацию о расположении окон, текущих позициях, состоянии диалогов и других настройках, позволяющих пользователю работать наиболее комфортно. Различные конфигурации могут хранить в профайлах и другую информацию, которая может быть полезной, но не является необходимой.
Вот как выглядят профайлы на жёстком диске:
Их удаление при очистке кэша нежелательно. Если их удалить - ничего страшного не произойдёт, так как в современных конфигурациях использование профайлов для сохранения настроек пользователей практически сведено к минимуму.
Но без надобности лучше их не удалять. Не исключено, что у вас именно тот самый случай, когда сама конфигурация или доработки к ней (например, программа для работы с торговым оборудованием) сохраняют в эти файлы важную информацию и при их очистке всё перестанет работать и потребуется повторная настройка.
Именно поэтому я рекомендую для очистки кэша использовать не ручной метод, а возможности обновлятора.
Как чистит кэш обновлятор?
Чтобы запустить очистку кэша из обновлятора нажмём на значок "метёлочка" на панели слева от списка баз:
Откроется диалог очистки кэша:
Пробежимся по его настройкам.
Базы для очистки кэша
Если мы выбираем какую-то конкретную базу (выделенная), то очищается кэш только этой базы.
Под кэшем мы понимаем только сам кэш. Никакие профайлы или другие файлы, имеющие отношение к настройкам пользователей не удаляются.
Если мы выбираем все базы, то чистится кэш вообще всех баз, которые когда-либо запускались.
Пользователь компьютера
По умолчанию выбран текущий пользователь. Это тот пользователь, под которым мы сейчас работаем в операционной системе Windows.
Возможность "все пользователи этого компьютера" полезна для терминального сервера, когда база подключена сразу у многих пользователей компьютера и нужно почистить кэш им всем (вы ведь помните, что кэш сохраняется в индивидуальные папки пользователей компьютера, то есть у каждого пользователя он свой).
Внимание! Чтобы стала возможной очистка кэша баз у других пользователей необходимо:
- чтобы пользователь, под которым запущен обновлятор обладал соответствующими правами на папки других пользователей (например, был администратором)
- при включённом UAC, обновлятор нужно запускать правой кнопкой, выбирая пункт "Запуск от имени администратора"
А если вы хотите очистить у всех пользователей кэш конкретной базы, то:
- у всех пользователей эта база должна быть прописана по одинаковому пути, потому что обновлятор считывает список баз у другого пользователя и ищет в нём текущую базу по пути, по которому она добавлена в обновлятор
- если используются сетевые диски и у разных пользователей эта база добавлена под разными дисками, то следуют прописать оба этих варианта добавления базы в обновлятор
Очистить также настройки пользователей между сеансами
Эта галка отвечает за очистку тех самых профайлов, о которых шла речь выше. Очищайте их только, если больше ничего не помогает. И возможно имеет смысл удалить их не на совсем, а в корзину. Чтобы в случае чего можно было восстановить обратно. Об удалении в корзину читайте ниже.
Метод очистки
Можно выбрать тестовое удаление - без самого удаления. Это полезно, если вы не уверены в возможностях обновлятора и хотите посмотреть - что он вообще собрался удалять
Можно выбрать удаление в корзину. Очень хорошая возможность и она стоит по умолчанию. В этом случае вы можете после удаления убедиться, что всё в порядке и только потом удалять файлы из корзины.
Ну и, наконец, третий вариант очистки "удалить насовсем".
Что произойдёт при очистке кэша, если с базой работают пользователи?
Ничего страшного не произойдёт. 1С блокирует файлы кэша от удаления, если они используются.
Поэтому обновлятор просто напишет в отчёте, что не смог удалить эти папки.
С уважением, Владимир Милькин (преподаватель школы 1С программистов и разработчик обновлятора).
Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.
Автор: Ксения Нурмугамбетова
Прочитав статью, вы узнаете:
Кэш или кэширование – это информационный буфер, хранящий в себе память данных программы, которые используются с меньшей скоростью передачи. Говоря простым языком, кеш это временная область, выделяемая компьютером, для хранения данных которые используются чаще других.
Для чего нужна очистка кэша 1С?
Очистка кэша позволит:
Вызовите окно поиска при помощи клавиатуры: значок Windows + R (Рис.1)
Рис.1 Вызов окна поиска при помощи клавиатуры
Таким образом, проводится очистка кэша от лишних данных в памяти информационного буфера.
Если очистка кэша в 1С не помогла увеличить скорость работы, рекомендуем обратиться к специалистам. Они проверят техническое состояние вашей системы и устранят неполадки.
Читайте также: