Содержание
Автор статьи:
Сергей Лунев
Руководитель ЦР Получить консультацию Актуальность статьи проверена:
23.08.2018
Иногда при открытии программы 1С возникает сообщение об ошибке компоненты dbeng8. Что это значит, что делать и как поправить – рассмотрим в этой статье.
К такому сбою в компоненте приводит нарушении структуры БД, например, из-за внезапного выключения электричества или отключения от локальной сети, неисправности компьютера или нехватки оперативной памяти, произошло некорректное завершение работы программы, то есть 1С была закрыта в аварийном режиме.
Рис.1 Окно нашей ошибки
Данное сообщение может появиться как при открытии программы, так и при работе в ней. Рассмотрим варианты ее исправления, но перед этим обязательно сделаем архивную копию базы.
Очистка временных файлов 1С
Один из самых простых способов исправления ситуации – очистка временных файлов. Это просто, но не очень правильно, поскольку если удалить конфигурацию с ошибкой из списка и подключить заново, указав путь к базе, кэш очистится, но файлы, от которых мы хотели избавиться, все-таки останутся на жестком диске.
Рис.2 Запуск программы
Тест и исправление через конфигуратор
Заходим в режиме конфигуратора в «Администрирование-Тестирование и исправление», отмечаем галочками необходимые пункты и жмем выполнить.
Рис.3 Возможности конфигуратора
Рис.4 Напоминание о необходимости резервной копии
Рис.5 Возможности теста
Реиндексация таблиц – это абсолютное перестроение индексов для таблиц БД, для повышения быстродействия программы.
Проверка логической и структурной целостности нужна, поскольку при создании новых объектов в 1С в БД формируются новые таблицы, в которых указываются связи с другими таблицами базы. Поэтому необходимо проверить этот пункт.
Проверка «битых ссылок» позволит проверить все ссылки на разрушенные или уже не существующие объекты. При этом есть несколько вариантов действий – формировать объекты, зачищать ссылки или не изменять. Оптимальным будет первый из них.
Пересчет итогов. После любого сбоя в программе данный параметр не будет лишним. Итоги хранятся в отдельных таблицах и используются для быстрого вычисления остатков или оборотов. В ходе работы возникает большое количество ненужных, лишних записей в итогах, что приводит к замедлению выполнения запросов. Также в результате сбоя система может неверно отображать итоги.
Сжатие таблиц. Данные, помеченные на удаление, все-таки продолжают находиться в базе. Путем сжатия мы удалим их окончательно.
Реструктуризация таблиц. Процесс, когда пересоздаются абсолютно все таблицы с той же структурой БД, поэтому эта операция самая длительная. Это действенное средство в борьбе со сбоями в программе.
Жмем «Выполнить» и ждем результатов.
Тест с помощью утилиты «chdbfl.exe»
Утилита «chdbfl.exe» ставится вместе с «Предприятием». Она лежит в папке Bin (каталог установки).
Рис.6 Окно «Мой компьютер» — папка bin и файл утилиты «chdbfl.exe»
- Старт утилиты;
- В окне указать расположение ИБ в поле «Имя файла БД» и выбирать файл с данными 1Cv8.1CD;
- Отметить исправление галочкой.
Рис.7 Окно запуска утилиты «chdbfl.exe»
Результаты наших действий будут отображены в служебном сообщении.
По выполнению каждого действия надо смотреть, «ушел» ли сбой. Когда перечисленные способы не помогли, стоит попробовать переустановку платформу 1С или же заменить файл «dbeng8.dll». Но зачастую перечисленных способов хватает, чтобы сбой компоненты dbeng8 в 1С 8.3 был исправлен.
Тестирование и исправление в 1С
Зачастую способ с обновлением платформы помогает не всегда, так как ошибка кроется в самой БД. В таком случае, с очень большой вероятностью, вам поможет тестирование и исправление.
Средствами конфигуратора
Решение проблемы данным способом производится из конфигуратора. Перейдите в меню «Администрирование» и выберите пункт «Тестирование и исправление…».
В появившейся форме предварительных настроек снимем флаги с пунктов «Реиндексация таблиц информационной базы» и «Пересчет итогов». Данные надстройки не сыграют роли в исправлении нашей ошибки, а лишь увеличат время обработки данных.
После нажатия на кнопку «Выполнить», программа запустит процесс тестирования и исправления информационной базы, который может занять довольно длительное время. По завершении вам будет представлен полный отчет.
Утилита «chdbfl.exe»
Данная утилита является аналогом тестирования и исправления и предназначена для файловых информационных баз. Не нужно искать в интернете, где ее скачать. Данная утилита включена в состав поставки самой платформы 1С и располагается в той же папке, что и библиотека, на которую ссылается исправляемая нами ошибка.
Кроме этого вам необходимо узнать, где расположена та информационная база, в которой вам выдалась ошибка. Выберите ее в списке информационных баз, и в самом низу окна, данная информация вам будет доступна.
Теперь откроем саму утилиту «chdbfl.exe» и в поле «Имя файла БД» выберем файл «1Cv8.1CD» из того каталога, адрес которого только что выяснили.
Нам нужно не только провести диагностику, но и восстановить работоспособность информационной базы. В связи с этим в данной ситуации необходимо установить флаг на пункте «Исправлять обнаруженные ошибки».
Эти и некоторые другие способы рассмотрены также в этом видео:
Внутренняя ошибка компоненты dbeng8 – как исправить
Внимание!!! Прежде всего, нужно создать резервную копию базы 1С 8.3.
В первую очередь необходимо определить местонахождение информационной базы 1С 8.3:
Открываем каталог, где находится наша база, и копируем файл 1CD на другой диск, компьютер или внешний носитель:
Так же можно информационную базу выгрузить в dt файл. Только данным методом разработчики 1С не рекомендуют пользоваться для создания резервной копии. Так как бывали случаи, когда не получалось обратно загрузить dt файл.
Более подробно о резервном копировании Вы можете ознакомиться в статье Резервное копирование базы в 1С 8.3
Для исправления ошибки можно воспользоваться следующими способами:
- Произвести обновление технологической платформы. Данную тему можно изучить в статье Как установить 1С 8 самостоятельно. После заходим в информационную базу в пользовательском режиме и проверяем устранена ли проблема – внутренняя ошибка компоненты dbeng8.
Подробнее как выполнить обновление технологической платформы смотрите в следующем видео:
Если не помогло, тогда:
- Запустить тестирование и исправление базы данных. Данная операция выполняется при монопольном доступе к базе данных.
Выбираем меню Администрирование – Тестирование и исправление:
Выставляем все флажки и нажимаем на кнопку Выполнить:
При наличии ошибок, возможно, понадобиться еще раз произвести данную операцию. После завершения запускаем базу 1С 8.3 в пользовательском режиме и проверяем устранена ли ошибка.
Если не помогло, тогда:
- Проверить физическую целостность файла базы данных утилитой chdbfl.exe, которая находится в каталоге bin установленной платформы. Путь: C:\Program Files\1cv8\8.3.8.1652\bin, где 8.3.8.1652 – версия платформы.
Запускаем приложение chdbfl.exe:
Необходимо указать месторасположение 1Cv8.1CD файла:
При выполнении данной операции убедитесь, чтобы конфигуратор и пользовательский режим были закрыты.
Внимание! Утилита chdbfl.exe удаляет поврежденные записи. Данная операция не обратима. Убедитесь, что у Вас есть резервная копия 1С 8.3.
Если список выявленных ошибок большой, то есть вероятность потери некоторых данных. Так что после этого желательно произвести Тестирование и исправление. И сверить остатки, например, с помощью сформированного отчета. После завершения запускаем базу 1С в пользовательском режиме и проверяем устранена ли ошибка.
Если не помогло, тогда:
- Проверить жесткий диск на наличие ошибок:
Либо запустить утилиту chkdsk через командную строку.