Как в 1С восстановить поврежденную базу «1С:Предприятие 8» (бесплатная статья по Программированию в 1С)

О чем эта статья

Эта статья является продолжением цикла статей «Первые шаги в 1С». В ней рассмотрены типовые приемы восстановления базы 1С на платформе «1С:Предприятие 8» после сбоев. Предполагается, что база работает в файловом режиме работы. Восстановление базы в клиент-серверном режиме работы не рассматривается, т.к. данный вопрос явно выходит за рамки “первых” шагов начинающего специалиста.

Материал статьи детально раскроет ответы на следующие вопросы:

  • Что нужно делать до начала всех работ по восстановлению? (копию, Карл!)
  • Какие тонкости есть при использовании утилиты проверки?
  • Какие средства для восстановления есть в конфигураторе?
  • Когда и зачем нужно делать выгрузку/загрузку в формат *.dt?
  • Если все вышеописанное не помогло, что можно еще попробовать?

Применимость

Статья написана для платформы «1С:Предприятие» версии 8.3.4.496, но не переживайте, если вы работаете с более старшей версией! Весь материал является абсолютно актуальным.

Как в 1С восстановить поврежденную базу «1С:Предприятие 8»

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

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

Причины возникновения критических ошибок бывают разнообразными. Чаще всего проблемы возникают из-за сбоев электропитания.

С уверенностью можно сказать, что при клиент-серверном режиме работы база более устойчива к возникновению ошибок.

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

Итак, главное не пугаться и перед попыткой восстановления базы сделать ее копию.

Например, можно сначала скопировать всю папку, в которой размещена база, а затем в этой папке оставить только файл 1Cv8.1CD (файл базы) и папку 1Cv8Log (журнал регистрации событий).

Путь к информационной базе

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

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

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

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

Первым делом удалите все файлы и папки, которые в заданной директории окружают файл базы (1Cv8.1CD). Да, это некие служебные файлы, обеспечивающие полноценную работу, но точно отмечено, что иногда в работе этих файлов возникает некоторое рассогласование.

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

Теперь используем самое эффективное, но еще далеко не последнее, средство. В директории C:\Program Files\1cv82 (для платформы 8.3 – 1cv8)\(далее номер релиза платформы)\bin запустите утилиту chdbfl.exe.

Внимание! В каждом релизе платформы есть своя утилита chdbfl.exe. Целесообразно использовать утилиту из того релиза платформы, с которым использовалась данная база. В большинстве случаев – это последний установленный релиз платформы.

Здесь стоит сказать об одной особенности, если момент повреждения базы примерно совпадает с моментом обновления платформы, то утилита chdbfl.exe предыдущей платформы зачастую дает лучшие результаты в поиске и исправлении ошибок.

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

Особенность данной утилиты – если при первом проходе исправленных ошибок не было (утилита не смогла исправить ни одной ошибки), то повторно ее запускать, можно сказать, бесполезно.

Однако если ошибки исправлены не все, но при этом отмечается уменьшение количества ошибок, то имеет смысл запустить утилиту еще раз.

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

Утилита chdbfl.exe

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

Тестирование и исправление ошибок в конфигураторе

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

Параметры тестирования и исправления

Улучшение результатов тестирования при повторном использовании данного средства не отмечено.

Следует еще сказать о средстве проверки конфигурации. По опыту, ошибки, отмечаемые данным средством, не отличаются особой критичностью. Скорее они просто замедляют работу самой базы. Что, по сути, для баз размером свыше 4 Гб пользователем может расцениваться тоже как повреждение базы.

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

Проверка конфигурации

Настройки проверки конфигурации

В данной форме также без абсолютно четкого понимания никаких настроек менять не стоит.

Следует сказать еще об одном не совсем очевидном методе. Дело в том, что при выгрузке базы в файл с расширением dt существует крайне низкая вероятность, что загрузить его обратно не удастся.

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

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

Выгрузка производится в конфигураторе через меню Администрирование, пункт Выгрузить информационную базу.

Выгрузить информационную базу в конфигураторе

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

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

Путь выгрузки

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

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

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

Информационная база без конфигурации

Загрузка производится через меню Администрирование, пункт Загрузить информационную базу.

Загрузить информационную базу

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

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

Иногда помогает удаление базы из списка в окне информационных баз с последующим добавлением в список той же существующей информационной базы (восстановление пути к ней).

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

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

В следующей статье рассмотрим возможности по настройке списка информационных баз.

PDF-версия статьи для участников группы ВКонтакте

Мы ведем группу ВКонтакте – http://vk.com/kursypo1c.

Если Вы еще не вступили в группу – сделайте это сейчас и в блоке ниже (на этой странице) появятся ссылка на скачивание материалов.


Статья по программированию - в PDF-формате

Статья в PDF-формате

Вы можете скачать эту статью в формате PDF по следующей ссылке:
Ссылка доступна для зарегистрированных пользователей)

Ссылка доступна для зарегистрированных пользователей)
Ссылка доступна для зарегистрированных пользователей)
Ссылка доступна для зарегистрированных пользователей)

Если Вы уже участник группы – нужно просто повторно авторизоваться в ВКонтакте, чтобы скрипт Вас узнал. В случае проблем решение стандартное: очистить кеш браузера или подписаться через другой браузер.

6 комментариев к “Как в 1С восстановить поврежденную базу «1С:Предприятие 8» (бесплатная статья по Программированию в 1С)

  1. Escander сказал:

    Статья полезная, но есть 2 небольших замечания:
    1.шаг №0 – делаем копию каталог базы!
    2.размер 4Г – это максимально допустимый размер не самой базы а таблицы в базе. Как правило какой-нибудь регистр растёт значительно быстрее остальных. Для контроля размера таблиц можно использовать утилиту Tool_1CD. Ну хотя-бы изредка. При опасном приближении к предельному размеру нужно или выполнять свёртку базы или перевод на платформу клиент-сервер (сервера есть бесплатные(postgre, sql-expres) но серверный ключ приобрести нужно).

    • Ольга Трикоз сказал:

      Добрый день! Спасибо за замечания, информацию добавим.

  2. Natalie сказал:

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

    • Евгений Гилев (Мастер-тренер) сказал:

      Спасибо, Наталья!

  3. progr-2008 сказал:

    Полезно для новичка.
    “… перед попыткой восстановления базы сделать ее копию.” – уточнить, что именно копировать.

    “Первым делом удалите все файлы и папки, которые в заданной директории окружают файл базы (1Cv8.1CD).” – лучше посоветовать сделать новый каталог для 1Cv8.1CD, особенно, если копировали только этот файл.
    Иногда помогает и удалить базу из списка, а потом восстановить этот путь.

    • Ольга Трикоз сказал:

      Добрый день, спасибо, замечание учтем.

Комментарии закрыты

Мы используем файлы cookies, чтобы сделать сайт удобнее.
Продолжая просмотр сайта, Вы соглашаетесь с их использованием.
Подробнее