Неспецифицированная ошибка работы с хранилищем кэша виртуальной системы ресурсов

Обновлено: 07.07.2024

В статье рассказывается что такое Кэш 1С и как его можно самостоятельно очистить несколькими способами. В конце публикации расположена подробная видеоинструкция.

Что же такое Кэш вообщем и Кэш 1С в частности. В переводе с английского cashe означает тайник либо хранилище. Впервые данный термин в компьютерном слэнге был использован в 1967 году во время подготовки стать для журнала «IBM Systems Jornal» (ссылка на статью в векипедии) . Векипедия дает данному термину следующее определение Кэш – промежуточный буфер с быстрым доступом, содержащий информацию, которая может быть запрошена с наибольшей вероятностью. Процесс кэширования используется как при работе, самого компьютера, так и при работе отдельных программ, 1С не является исключением. Кэшом 1С называется область на компьютере, куда платформа в процессе работы записывает наиболее часто используемую информацию для более быстрого доступа к ней, это может быть служебная информация пользователей, список отборов, шрифтов, расположение окон. При возникновении каких-либо сбоев Кэш начинает обрабатываться неправильно, и программа начинает работать некорректно. Это может произойти в случае аварийного завершение работы программы, например при отключении питания компьютера, динамического обновления программы, обновления без завершения работы пользователей и др.

В случае возникновения таких сбоев необходимо произвести чистку Кэша 1с, данную процедуру рекомендуется делать не только при возникновении сбоев, но и в рамках регламентного обслуживания программы, ведь часто в КЭШе хранятся данные, которые программа уже не использует и они только занимают место на компьютере, замедляя при этом работу 1с.

Существует несколько способов чистки Кэша 1С, давайте разберем подробно каждый из них

окно редактирование информационной базы

Первый и самый простой это удалить из списка базу, запомнив и сохранив ее путь и добавить ее туда снова. Сохранить путь проще всего следующим образом: выделить базу в списке, нажать на кнопку «изменить», откроется окно редактирование информационной базы, в котором нам нужно выделить строчку, которая находится в поле «каталог информационной базы». Кликнуть по ней правой кнопкой мыши и нажать копировать, записывать тем самым путь к базе в буфер обмена вашей операционной системы, его можно либо оставить там, до момента добавления базы, либо сохранить в любой текстовый редактор, например в Microsoft Word. И нажать на кнопку отмена, закрыв тем самым окно редактирование информационной базы

После этого в окне конфигурации жмем на кнопку «Удалить» и утвердительно отвечаем на вопрос программы

удаление информационной базы из списка баз 1с

Базу из списке мы удалили, теперь необходимо ее добавить, для этого в окне платформы жмем на кнопку «Добавить», устанавливаем переключатель в «Добавление в список существующей информационной базы» и жмем «Далее»

добавление в существующей базы 1с в список

В открывшемся окне в поле «Укажите название информационной базы» руками пишем название нашей базы, в поле «Каталог информационной базы» копируем пусть нашей базы, который мы сохранили на предыдущем шаге и жмем «Далее»

указание название и прописывание пути базы 1с

На следующем шаге оставляем все по умолчанию и жмем «Готово»

последний шаг добавления базы 1с

База в список у нас добавлена, Кэш для нее очищен

список информационный баз 1с в окне платформы

Данный способ хоть и является самым простым, но имеет ряд недостатков, во-первых при нем файлы Кэша не удаляются с компьютера, а лишь отвязываются от базы при ее удалении, оставаясь в компьютере и засоряя тем самым его память, во-вторых если в Вашем списке не одна база а несколько, такую процедуру придется проделывать для каждой базы. Этим способом рекомендуется пользоваться в тех случаях, когда необходимо быстро восстановить работу базы и нет времени разбираться или ждать программиста. Например, программа дала сбой, а Ваш программист в данный момент занят и не может Вам помочь и чтобы не останавливать работу, Вы чистите Кэш этим способом, но в дальнейшем будет необходимо провести его чистку другим способов с удалением файлов Кэша, о котором я рассажу далее.

Второй способ это вручную удалить файлы Кэша с компьютера. Чтобы это сделать, для начала нужно определить их местонахождение. Кэш 1C в Windows хранится в следующих папка профиля пользователя это Roaming и Loсal. Данные папки расположены в пути: C:\Users\ИмяПользователя\AppData. Причем папка AppData по умолчанию скрыта. Попасть в нее можно двумя способами: это либо включить отображение скрытых папок, перейдя в Панель управления→Параметры папок→Вкладка «Вид»→Показывать скрытые файлы, папки и диски

включение отображения скрытых папок

Либо в проводнике вручную, после имени пользователя написать строчку \AppData и нажать на клавиатуре Enter

вход в папку AppData

Либо если мы вдруг не знаем имя пользователя в проводнике можно написать следующую строчку: %userprofile%\AppData, нажать Enter и мы также попадем в эту папку

вход в папку AppData через проводник

Попав в папку AppData, поочередно заходим в папки Local и Roaming и переходим в каждой из них в папку 1С, а в ней в 1Cv8 и если есть 1Сv82 то в нее тоже

папки в которых хранится кэш 1с

В этих папках (1cV8, 1Cv82) мы видим множество папок с непонятным называнием, это и есть Кэш 1С. Все эти папки необходимо выделить и удалить, обязательно закрыв перед этим 1С, удалять можно смело, никакие данные из Вашей базы при этом не пострадают, а все необходимые папки платформа вновь создаст при очередном запуске

кэш 1с

Данный способ является самым эффективным, но немного трудоемким. Его можно упросить, создав специальный файл, который будет проделывать все эти процедуры автоматически, вам лишь необходимо будет запустить его под именем администратора. Это файл будет иметь расширение.bat, в народе такие файлы называется «батник». Создать его можно следующим образом, открываем блокнот Windows и пишем в нем следующие команды:

содержимое файла Чистка Кэша 1С

Далее выбираем Файл→Сохранить как→выбираем место куда сохраняем, пишем название файла (например «cashe») и в названии меняем расширение с .txt на .bat, должно получиться как на картинке ниже, и жмем сохранить

сохраняем файл Чистка Кэша 1С

Если вдруг не получается создать такой файл или Вам лень это делать, но можете скачать его готовый по следующей ссылке . Данный способ чистки Кэша 1С является самым простым, не требует никаких специальных знаний и навыков и выполняется за считанные секунды. Вам лишь необходимо запустить данный файл

И в заключении расскажу еще об одном способе очистки Кеша 1С - это установить дополнительный параметр запуска информационной базы. У данного способа есть свои плюсы и минусы, к плюсам я бы отнес, то, что Кэш очищается при каждом запуске 1С, к минусам – снижение общей производительности 1С. Еще отмечу, что данный способ подходит только для режима запуска Тонкий клиент. Данным способ рекомендуется использовать, тогда, когда ошибки базы связанные с Кэшем появляются систематически. Чтобы выставить данный параметр запуска, необходимо в окне платформы выбрать нужную информационную базу, нажать на кнопку «Изменить», в открывшемся окне ничего не меняя нажать «Далее»

окно редактирования базы 1с

Откроется окно редактирования информационной базы, где в дополнительных параметрах запусках необходимо написать строчку /ClearCache и кликнуть «Готово»

дополнительный параметр запуска 1С Предприятие "/ClearCache"

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

Если остались вопросы, можете задать их в комментариях, если же не хотите тратить свое время и доверить чистку Кэша 1С профессионалам, можете написать нам через форму обратной связи или позвонить по телефону который указан на сайте. будет рады Вам помочь.



skype: live:di-sem

@programmist_1C


Перед тем как начать исправлять базу обязательно сделайте резервную копию!

1. Через конфигуратор

Тестирование и исправление информационной базы в 1С 8.2 и 8.3.
Нужно войти в конфигуратор администрирование - тестирование и исправление.

2. Утилита chdbfl.exe

Если в конфигуратор войти нет возможности можно воспользоваться утилитой chdbfl.exe. Ее скачивать не нужно, она находится в папке, где установлена 1С.

Например в C:\Program Files (x86)\1cv8\8.3.10.2561\bin\chdbfl.exe , где 8.3.10.2561 - номер релиза платформы.

У меня утилита chdbfl.exe находится тут

Нужно ее запустить, выбрать файл 1Cv8.1CD в папке базы 1с, поставить галочку "Исправлять обнаруженные ошибки" и запустить.

3. Очистить кэш (более подробно смотреть тут) .

Бывают такие глюки\сбои которые очень хорошо исправляются очисткой кэша.

Например один пользователь входит в базу 1с и работает без проблем, а другой или войти не может или при входе у него куча ошибок и т.п.

Способ очень простой.

Нужно подключиться к компьютеру этого пользователя, запустить 1с чтобы появился список баз.

И сделать так:

1 Выбрать в списке нужную базу

2 Удалить ее из списка, сама база не удалится. Главное запомните или запишите где она лежит.

3 Заново ее пропишите.

Сейчас у одного из моих клиентов ситуация в которой не помог ни один из этих способов.

Клиент новый, поэтому я еще не до конца разобрался как у него все устроено.

База файловая, находится на вирт машине, 1с без сервера запускается с другой вирт. машины.

Возможно 1с просто не хватает ресурсов.

Базу скачал себе, запущу и попробую поработать в ней, если ошибка не появится, то проблема точно не в 1с, а в системном администрировании.

Тогда буду перенастраивать.

Скачал базу себе, тестировал ее весь день - ни одной ошибки.

Узнал что ресурсов на компьютере клиента достаточно.


Решено. Проблема была в платформе.

Переустановка платформы и удаление старых версий полностью решило проблему. :)

Нередко на линию технической поддержки компании «Числа» поступают обращения о невозможности запуска программ 1С.

Одну, наиболее распространённую, причину подобного инцидента мы рассмотрим в этой статье.

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

Скорее всего причина кроется в так называемом КЭШе 1С.

Что же такое кэш?

Случается, что платформа 1С не правильно отрабатывает кэширование файлов конфигурации (программные ошибки, сбой компьютера, выключение питание и пр.) и в результате мы получаем ошибки при запуске 1С или при работе с конфигурацией.
Как быть?

Способ первый:

1. Необходимо найти каталог, в котором хранятся временные файлы 1С. Адрес каталога можно посмотреть в настройках:

1.jpg

мы получили каталог:

C:\Users\User\AppData\\Roaming\\1C\1Cv8\tmplts

Папки с кэшем расположенные в каталоге:

2.jpg

C:\Users\User\AppData\Local\1C\1Cv82

Папки с «непонятными» именами, это и есть «наш» кэш.

3.jpg

Все выделенные папки являются кэшем 1С, их можно смело удалять. Перед удалением необходимо выйти из 1С. После процедуры удаления желательно перезагрузить компьютер.

Способ второй (для «продвинутых» пользователей, системных администраторов):

Этот способ является наиболее быстрым и автоматизированным. На компьютере, где необходимо почистить кэш просто запускается готовый файл-программа Очистка кэша. Можно скачать как с нашего сайта, так и написать самим:

Способ третий:

Для того, чтобы почистить кэш необходимо удалить из списка нашу базу данных, перезапустить 1С и заново добавить исходную базу с тем же каталогом. Но при этом временные файлы также остаются на жёстком диске компьютера.

Способ четвертый:

Если ошибки с кэшем возникают постоянно, то можно попробовать использовать дополнительные параметры запуска информационной базы. Но этот способ снижает производительность системы.
При дополнительных параметрах запуска (в списке кнопка «Изменить», последняя закладка) необходимо прописать команду «/ClearCache».

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

Речь пойдет о файловом варианте работы с хранилищем.

1. Ошибка аутентификации в хранилище конфигурации


Самая понятная из возможных ошибок. Данная ошибка возникает при вводе неверного логина и пароля.

Изменить логин и пароль может пользователь с административными правами на вкладке "Пользователи" окна "Администрирование хранилища конфигурации"

2. Пользователь существующей связи отличается от текущего


Тут важно понимать принцип работы хранилища конфигурации. Хранилище используются для коллективной разработки, т.е. у каждого разработчика есть своя база для разработки, есть свой пользователь хранилища, и все под своими логинами подключаются в свои базы. На практике бывает, что существуют общие базы, например на сервере для тестирования, и если она подключается к хранилищу, для нее необходимо заводить также отдельный логин и заходить в нее под ним (для удобства, в качество логина общей серверной базы можно использовать имя самой базы). Девиз хранилища: на каждую базу свой логин в хранилище.

Данная ошибка возникает, когда текущая база уже подключена к хранилищу под каким-то логином, а вы пытаетесь ввести другой логин. Это может быть по разным причинам:

  • вы зашли в общую базу и пытаетесь войти под своим логином хранилища. Необходимо выяснить логин этой конкретной базы, и заходить под ним, но не переподключать под своим. Посмотреть, под каким логином подключена каждая база может пользователь с административными правами в хранилище, на вкладке "Подключения" окна "Администрирование хранилища конфигурации"
  • вы развернули базу, которая уже была подключена к хранилищу. Необходимо отключить конфигурацию от хранилища и подключить заново.

3. Пользователь уже аутентифицирован в хранилище


Данная ошибка возникает, когда любая другая база уже подключена к хранилищу под логином, который вы вводите в текущей базе. И с ней работают под этим логином в данный момент.

При такой ошибке вы не сможете подключиться под введенным логином. Необходимо подключиться в хранилище под другим логином, либо найти того, кто подключился в другой базе под этим логином и договориться о том, кто использует этот логин.

4. Для данного пользователя уже имеется конфигурация связанная с данным хранилищем конфигурации


Предупреждение похоже на ошибку из предыдущего пункта, но есть небольшое отличие.

Данная ошибка возникает, когда любая другая база уже подключена к хранилищу под логином, который вы вводите в текущей базе. Но с ней не работают под этим логином в данный момент.

Предупреждение позволяет подключиться под введенным логином, но нужно понимать последствия. Если вы подключитесь под эти логином, то у другого пользователя рано или поздно возникнет ошибка из предыдущего пункта или аналогичное предупреждение. Рекомендую подключиться в хранилище под другим логином, либо найти того, кто подключился в другой базе под этим логином и договориться о том, кто использует этот логин.

5. При получении данных из хранилища или захвате объекта: Не удалось зафиксировать таблицу для чтения "Versions"


Данная ошибка возникает, когда вы уже длительное время подключены к хранилищу и за период работы были разрывы соединения.

Чтобы избавиться от ошибки, необходимо закрыть конфигуратор и зайти заново.

6. При подключении к хранилищу: Не удалось зафиксировать таблицу для чтения "Users"

Данная ошибка может возникать:

  • когда вы уже длительное время подключены к хранилищу и за период работы были разрывы соединения.

Чтобы избавиться от ошибки, необходимо закрыть конфигуратор и зайти заново.

  • когда в этот самый момент другой пользователь помещает большой объем данных в хранилище

Необходимо подождать, пока другой пользователь закончит помещение объектов в хранилище.

7. Файл не является файлом базы данных

Ошибка соединения с хранилищем конфигурации по адресу:
\\Server\Repository\project1
по причине:
Файл не является файлом базы данных '//Server/Repository/project1/1cv8ddb.1CD'

Данная ошибка может возникать при подключении к хранилищу:

  • если есть зависший фоновый процесс к этой базе.

Необходимо зайти в диспетчер задач и принудительно снять зависший фоновый процесс, после этого повторно попробовать подключиться к хранилищу. Если база серверная, то этот процесс может быть зависшим у кого-то, кто работал с базой ранее. Необходимо найти, кто последний работал и попросить почистить у себя в диспетчере зависший процесс.


  • если есть зависший сеанс другой базы, подключенной к этому хранилищу на этом компьютере

Так бывает, что одновременно приходится работать с разными базами в одном хранилище. Если про одну базу надолго забыть, и в ней будет появляться ошибка №5, то другую базу с этим хранилищем вы открыть не сможете. Необходимо завершить "забытые" сеансы.

8. Файл базы данных поврежден.

Ошибка соединения с хранилищем конфигурации по адресу:
\\Server\Repository\project1
по причине:
Файл базы данных поврежден '\\Server\Repository\project1\//1cv8ddb.1CD'

Данная ошибка может возникать:

  • когда разработчики, подключенные к одному хранилищу, работают на разных версиях платформы и один из них поместил что-то из новой версии платформы.
  • когда файл базы данных был действительно поврежден (отключение электричества, скачки напряжения и т.п.)

1. Всем разработчикам закрыть все конфигураторы, подключенные к хранилищу

2. Почистить кэш хранилища

3. Одному запустить конфигуратор от имени администратора

4. Подключиться к хранилищу

Если указанные действия не помогли, можно воспользоваться утилитой chdbfl.exe, но в моей памяти мне она ни разу не помогла и единственным выходом было создание хранилища с нуля.

9. Неклассифицированная ошибка работы с хранилищем конфигурации


Данная ошибка может возникать, когда к хранилищу подключаются разными версиями платформы. Например: 8.3.10.2667 и 8.3.12.1529

1. Всем разработчикам закрыть все конфигураторы, подключенные к хранилищу

2. Очистить глобальный кэш хранилища

3. Синхронизировать версии платформ.

10. Ошибка "База данных не открыта"


Данная ошибка может возникать при подключении к хранилищу:

  • если есть зависший фоновый процесс к этой базе;
  • если есть зависшие блокировочные файлы в каталоге хранилища.

1. Если причина в зависших фоновых процессах на локальном компьютере, то лечение как в п.7.

2. Если п.7 не помог, то необходимо всем закрыть конфигураторы, зайти в каталог хранилища, и удалить блокировочные файлы размером 0 байт.

11. Ошибка "Ошибка совместного доступа к хранилищу конфигурации"

При получении данных из хранилища возникает ошибка:

---- Начало операции с хранилищем конфигурации ----
Повтор попытки получения объектов из хранилища конфигурации
Повтор попытки получения объектов из хранилища конфигурации
Повтор попытки получения объектов из хранилища конфигурации
Повтор попытки получения объектов из хранилища конфигурации
Повтор попытки получения объектов из хранилища конфигурации
Повтор попытки получения объектов из хранилища конфигурации
Ошибка совместного доступа к хранилищу конфигурации:

\\Server\Repository\project1
Не удалось заблокировать таблицу 'OBJECTS'
---- Операция с хранилищем конфигурации отменена ----

Данная ошибка может возникать при получении данных из хранилища:

  • если в этот момент с другого компьютера запущен процесс оптимизации хранилища;

1. Дождаться окончания оптимизации хранилища

2. Повторно запросить получение данных из хранилища.

Это, конечно, не весь список ошибок, который может возникать при работе с хранилищем. Я привёл те ошибки, с которыми я лично не раз сталкивался и решал указанными мной способами. Если у вас есть ошибка, которая не описана, и вы знаете способ ее решения, пишите в комментарий, я с удовольствием добавлю информацию в общую статью.

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