Как сделать очистку кэша в 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)

3.jpg

Рис.1 Вызов окна поиска при помощи клавиатуры

3.jpg

3.jpg

4.jpg

5.jpg

Таким образом, проводится очистка кэша от лишних данных в памяти информационного буфера.

Если очистка кэша в 1С не помогла увеличить скорость работы, рекомендуем обратиться к специалистам. Они проверят техническое состояние вашей системы и устранят неполадки.

Читайте также: