Главная » Лаэрта - "Ошибка формата потока...", или как восстановить поврежденную базу?
Для пользователей и администраторов программ 1С

"Ошибка формата потока...", или как восстановить поврежденную базу?

Дмитрий Миронов Менеджер сайта
Если у Вас возникнут вопросы по теме статьи, или необходима помощь, позвоните нам по телефону:
(495) 221-09-80,
или напишите на e-mail:
sales@laerta.ru

Многие компании используют файловый режим хранения баз 1С. Он легок в настройке, не требует дополнительных вложений и удобен в работе с небольшой базой в небольшом отделе (3-5) человек.

Но есть у файлового режима и существенные минусы. Это невысокая скорость работы при серьезном увеличении базы данных (свыше 3 гигабайт) и увеличении количества одновременно работающих пользователей. Второй минус - "надежность" работы.

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

Из-за чего это происходит?

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

Что делать в такой ситуации?

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

    Чтобы скопировать базу вручную, нужно определить в какой папке она лежит.
    Для этого запускаем 1С, выбираем (1 клик левой кнопкой мышки) нужную базу и смотри внизу путь к папке (рис. 1.)
    picture-01.png
    Рисунок 1.

    На нашем примере мы видим, что база расположена на диске Z:, в папке «torg»

    Открываем мой компьютер, диск Z:, нажимаем правой кнопкой на папку «torg» и выбираем пункт «копировать» (рис. 2)

    picture-02.png
    Рисунок 2.

    Далее открываем любой другой диск, если есть возможность, то сетевую папку. Ну или папку «Мои документы», если нет других вариантов. Нажимаем на любое пустое место в открытой папке правой кнопкой мышки и выбираем пункт «вставить» (рис. 3)
    picture-03.png
    Рисунок 3.

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

  2. Воспользоваться утилитой chkdbfl.exe

    Открываем мой компьютер, диск С:, папку «Program files» (в 64-битных версиях windows - «Program filex (x86)»), 1Cv8x (где x — версия Вашей платформы (8.0, 8.1, или 8.2). Далее — папочку «bin» (если у Вас версия 1с 8.2, то номер последней версии платформы и уже там папочку «bin»), и там запускаем файл chkdbfl.exe (рис. 4)
    picture-04.png
    Рисунок 4.

    В открывшемся окне нажимаем на кнопку «...», затем открываем папку с базой, выбираем файл 1Cv8.CD (Рис. 5) и нажимаем на кнопку открыть.
    picture-06.png
    Рисунок 5.

    Потом ставим галочку «Исправлять обнаруженные ошибки и нажимаем на «выполнить».
    Проверка может длиться от 5 минут до часа, в зависимости от размеров базы и мощности компьютера (рис. 6)

    picture-07.png
    Рисунок 6.

    По завершению проверки, программа покажет журнал исправленных ошибок (рис. 7)

    picture-08.png
    Рисунок 7.
    В нашем случае ошибок не обнаружено!

    Теперь можно заходить в базу и проверять ее работоспособность.

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

Причиной повреждения базы могут быть:

  1. Сбой электропитания.

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

  2. Сбой жесткого диска/флешки.

    Они происходят либо из-за некорректного подключения флешек/внешних дисков, либо из-за устаревания внутренних жестких дисков. (средний срок использования жестких дисков в офисном компьютере - 2-3 года, на сервере 3-5 лет).

  3. Проблемы с сетью.

    Тоже частая причина повреждения баз. В перегруженной сети данные передаются намного медленнее положенного, а 1С к этому очень чувствительна. Также часто используется устаревшее оборудование, либо оно установлено в неподходящих местах, из-за чего перегревается и зависает.
    bad_sks10.jpg
    Плохо проложенные кабели тоже могут вызвать ошибки (отходящий коннектор/розетка, кабели проложены по полу и по ним ходят люди, ставят стулья и т.п., что приводит к повреждению и обрывам).

Как этого не допустить:

  1. Устанавливайте источники бесперебойного питания и на сервера и на сетевое оборудование.

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

  2. Корректно подключайте внешние носители.

    Если используете USB хаб, покупайте его со внешним блоком питания.
    USB_HUB.jpg
    Если у Вашего внешнего жесткого диска кабель с 2-мя концами USB подключайте их оба, по первому концу идет доп. питание, по второму — питание и данные.
    usb_HDD.jpg
    Проводите плановую замену жестких дисков раз в 2-3 года на компьютере/сервере с базой.

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

    good_sks.jpg
    Это избавит Вас от многих проблем, не только с 1С.

  4. Ну и последнее — обязательно делайте резервные копии!

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