"Файл базы данных поврежден" - мой опыт восстановления файла 1CD

04.10.12

Задачи пользователя - Корректировка данных

Хочу поделиться собственным опытом восстановления базы 1С. Кое-какие знания по проблеме я получил из форумов на Инфостарте, но кое-что пришлось додумывать самому. Но в результате база, которая не открывалась ни в Конфигураторе, ни во внешней утилите chdbfl, ни в программе Tool_1CD (первые четыре скриншота), в итоге была в моем случае ПОЛНОСТЬЮ ВОССТАНОВЛЕНА.

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

Итак, изложу перечень своих проделанных действий по шагам:

1) Установил и запустил программу HxD, которая имеется в свободном доступе в Интернет, на русском языке (она очень удобна для очень больших баз, работает достаточно быстро);

2) В программе открыл битую базу, а также базу из бэкапа (к сожалению, довольно старого), разместил их мозаикой для удобства;

3) Нахожу смещение 00004000, где хранится параметр локализации, см. скриншот 5, исправляю его так, как в бэкапе;

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

5) В строке 00004020 видно, что таблица CONFIG (в которой хранится описание базы данных), начинается с строки 00005000 (скорее всего у всех так), а вот заканчивается она у всех по разному. Чтобы узнать, где она заканчивается, в строке 00004020 надо считать 9,10,11,12 группу чисел-букв слева направо и прочитать эту группу чисел-букв справа налево. У меня выглядит вот так: 84 22 00 00, см. скриншот 6, 7. Это означает, что таблица CONFIGSAVE (следующая за таблицей CONFIG) начинается со строки 02284000 (таблица CONFIGSAVE не должна обязательно начинаться со слова CONFIGSAVE);

6) Копирую таблицу CONFIG со строки 00005000 по строку 02284000 (не включая эту самую строку, поскольку она принадлежит уже следующей таблице CONFIGSAVE) бэкапа в битую базу таблицы CONFIG со строки 00005000 по строку 02284000 (в редакторе: "скопировать и потом "вставить с заменой"). Результат изменений сохраняю;

7) Захожу в режим 1С Предприятие и открываю базу, как обычно.

 

P.S. Несмотря на то, что исправленная база прошла без ошибок "Тестирование и исправление базы" в Конфигураторе, я все же подстраховался и выгрузил из нее нужные мне данные обработкой ВыгрузкаЗагрузкаДанныхXML81(82).epf, которая входит в комплект поставки конфигурации Конвертация данных, а затем загрузил эти данные в бэкап, получив рабочую базу.

P.P.S. Конечно, лучше избегать подобных проблем путем регулярного сохранения бэкапов...

См. также

Корректировка данных Зарплата Бухгалтер Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры бюджетного учреждения 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет НДФЛ Платные (руб)

Обработка исправляет технические ошибки по НДФЛ, взаиморасчетам с сотрудниками в 1С:ЗУП (1С:ЗКГУ) на начало года. Фактически все ошибки, которые проявляются в ведомостях на выплату, расчетных листках, при заполнении ведомостей на выплату и отчетах 6-НДФЛ и т.д. нужно начинать исправлять с начала расчетного года. Это позволит быть уверенными, что после завершения расчетов предыдущего года, начали работать с «чистого листа» без ошибочных остатков.

60000 руб.

06.10.2023    5434    38    20    

46

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтер Пользователь Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14400 руб.

29.04.2020    34959    112    152    

77

Корректировка данных Системный администратор Программист Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

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

3600 руб.

10.02.2017    112366    680    175    

718

Корректировка данных Программист Бухгалтер Пользователь Платформа 1С v8.3 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет НДС Платные (руб)

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

6000 руб.

22.01.2025    1071    3    0    

5

Корректировка данных Бухгалтер Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бухгалтерский учет Налоговый учет Налог на прибыль Платные (руб)

Обработка служит для: выравнивания бухгалтерского и налогового учета на определенную дату по выбранным счетам; закрытия остатков по выбранным счетам; обнуления налогового учета (ПР, ВР также будут обнулены)

2880 руб.

05.05.2024    885    13    0    

9

Корректировка данных Ценообразование, анализ цен Мастера заполнения Пользователь Платформа 1С v8.3 1С:Управление торговлей 11 Россия Управленческий учет Платные (руб)

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

2400 руб.

27.06.2023    2872    3    0    

3

Банковские операции Корректировка данных Бухгалтер Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

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

4200 руб.

23.12.2021    15764    10    26    

15

Кассовые операции Корректировка данных Бухгалтер Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 11 Бухгалтерский учет Платные (руб)

Создание, редактирование и удаление документов "Выемка ДС из Кассы ККМ" в конфигурации 1С:Управление торговлей 11. Групповая обработка Выемок. Редактирование регистра накопления "Денежные средства в кассе ККМ".

2000 руб.

20.11.2018    30151    16    2    

16
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. root901 04.10.12 19:33 Сейчас в теме
2. Agema 04.10.12 21:10 Сейчас в теме
Спасибо! буду иметь ввиду такой вариант восстановления базы. Сегодня прислали базу, с припиской, что ничем не могут исправить выгрузку, хотя и работает и обновляется, НО не выгружается и не тестируется (вылетает). Помог chdbfl.exe.
Кстати, вот Страница загрузки HxD v1.7.7.0 (03 Apr 2009)
6. CXY 403 06.10.12 04:44 Сейчас в теме
(2) Да, утилиты типа chdbfl и Toll_1CD несомненно облегчают решение проблем в лечении баз, но бывают случаи, когда они просто не могут открыть битую базу, как в моем случае. Конечно, моя ситуация - это частный случай, но если бы проблемы не были бы до конца решены, то конечно далее я бы использовал именно эти утилиты.
3. CXY 403 05.10.12 05:07 Сейчас в теме
Забыл указать еще один нюанс. В битом файле и файле бэкапа могут быть разные размеры таблицы CONFIG. Это может быть связано с тем, что были внесены изменения в конфигурацию. Тогда, если в битом файле будет возможно определить конец таблицы CONFIG (т.е. в смещении 4020 информация не будет затерта, и ее можно будет считать, в моем случае это было сделать нельзя), то при копировании таблицы CONFIG из бэкапа может остаться место до конца таблицы в битом файле. Так вот эти оставшиеся биты до конца таблицы надо ЗАПОЛНИТЬ НУЛЯМИ. В этом случае при запуске 1С: Предприятие конфигурация будет такая же, как в бэкапе, но с последними данными.
4. KliMich 05.10.12 10:42 Сейчас в теме
Спасибо! Приму "на вооружение"
5. пользователь 05.10.12 16:49
Сообщение было скрыто модератором.
...
7. Spas12 06.10.12 17:56 Сейчас в теме
За тему спасибо. Былабы эта тема немного на месяц пораньше пораньше тогда б быллобы всё гуд.
8. Shade 2 07.10.12 15:48 Сейчас в теме
Спасибо за ценный опыт :)
А точно ничего этим не портится?
9. CXY 403 08.10.12 02:38 Сейчас в теме
(8)После всех своих манипуляций я проверил базу через "Тестирование и исправление" в Конфигураторе - никаких проблем не выявлено. Но чтобы уж точно подстраховаться от всех неожиданностей, я выгрузил из битой базы то, что мне нужно и загрузил в бэкап. Это действие, если проходит без ошибок, точно гарантирует беспроблемность последующей работы.
10. awa 2613 08.10.12 14:01 Сейчас в теме
Первые три скриншота с ошибками явно указывают на отсутствие в самом начале файла базы сигнатуры "1CDBMSV8", однако восстановление почему-то начинается с адресов 0x4000.
Либо часть лечения просто пропущена, либо скриншоты ошибки вообще от другого случая.


Вынужден извиниться, я поспешил с выводами.
11. CXY 403 08.10.12 15:56 Сейчас в теме
(10) Прилагаю скриншот сравнения двух баз, начало файла. Выводы делайте сами...
Прикрепленные файлы:
12. awa 2613 08.10.12 16:22 Сейчас в теме
(11) Сорри, был не прав. Сообщение Tool_1CD "База не является информационной базой" означает, что в базе нет ни одной из таблиц CONFIG, CONFIGSAVE, PARAMS, FILES и DBSCHEMA, а не об отсутствии сигнатуры.
13. CXY 403 08.10.12 16:31 Сейчас в теме
(12) Начал я лечение базы с адреса 0x4000 потому, что здесь и нашел параметр локализации (ru_ru), а именно этот параметр 1С не нашла при запуске и выдала сведения об ошибке.

P.S. Вам большой респект за утилиту Tool_1CD, очень полезная утилита, теперь держу постоянно при себе,
на всякий случай...
14. vde69 925 09.10.12 00:06 Сейчас в теме
Открытый проект по сабжу

кто хочет (и имеет опыт и желание) может присоеденится :)
15. vde69 925 09.10.12 08:31 Сейчас в теме
(0) данный способ я-бы не стал рекламировать, поднимать из копии фрагмент корневого - это не правильно (хотя в данном случае и прокатило), правильно будет полная перегенерация корневого. Для этого ищутся все внутрение файлы и по ним строим.... Даже если мы поднимем "мусорную" таблицу - это не страшно, выгрузка хмл будет нормально работать и при переносе в чистую выгрузится только то что нужно.


(0) кстати я эту базу получил от Романа, соответсвенно начало моего ответа (13 числа):

>>>у тебя забит нулями небольшой кусочек каталога корневого обьекта, с 4000h по 4040h
>>>
>>>это точно подлежит востановлению

Как я понимаю Вы знакомы :)))
Кстати по моему мнению сама 1с не могла испортить так корневой


(12)Tool_1CD без корневого не работает, кстати давай собери волю в кулак и доделай описание формата (про индексы), а то сейчас у меня только одна стратегия - грохать индексы :)
16. CXY 403 09.10.12 15:01 Сейчас в теме
(15) Здравствуйте, vde69. Ваш комментарий меня заинтересовал в таком ключе:

"(0) кстати я эту базу получил от Романа, соответсвенно начало моего ответа (13 числа):

>>>у тебя забит нулями небольшой кусочек каталога корневого обьекта, с 4000h по 4040h
>>>
>>>это точно подлежит востановлению

Как я понимаю Вы знакомы :)))
Кстати по моему мнению сама 1с не могла испортить так корневой"

На самом деле база была разрушена 28 сентября 2012 года в одном розничном магазине, последний раз
я проводил профилактическое обслуживание 8 сентября 2012 (и все там было нормально). Затем наша фирма прекратила обслуживание данного магазина из-за денежных разногласий. Вместо меня действительно пришел
на обслуживание магазина Роман, но мы с ним абсолютно незнакомы. Но Роман ничего с базой сделать не смог, в итоге вызвали меня. В результате 4 октября в 14-00 база мною была восстановлена (до этого ночью пришлось как следует поработать, потому что я далеко не такой специалист, как Вы в части восстановления баз 1С :). Но у меня теперь к Вам такой вопрос: что же Вы могли обсуждать с Романом 13 числа?
17. vde69 925 09.10.12 15:27 Сейчас в теме
(16)видимо единичка примазалась, мое письмо было 3 октября 2012, 14:302

кстати про "финансовые разногласия" - охотно верю, владельцы базы явно "экономные"

Но и с другой стороны если Вы обслуживали, то должны понимать что если база 1.6 гига жмется до 200 метров в архиве - то нужно обслуживание, да и отсутствие свежих бекапов это то же Ваша вина :)

А за то, что не потерялись и востановили - однозначно Вам респект.

зы
и все-же я остаюсь при своем мнение "сама 1с не могла так испортить корневой"
18. CXY 403 10.10.12 03:41 Сейчас в теме
(17) Бэкапы были, система их автоматического создания была настроена. Вот только последний бэкап был создан 10 сентября, а потом похоже на сервере был просто "убит" процесс, который за это и отвечал. 3 октября, когда я в магазине забирал базу для восстановления, так оно и было...
Что касается изменений в корневом - Ваше неоднократно высказанное мнение мне понятно... Я тоже задаюсь этим вопросом (у меня несколько версий). Для расстановки всех точек над "i" скажу, что например мне подобное сделать даже в голову не придет (я думаю, Вы понимаете, почему).
19. angele 10.10.12 10:45 Сейчас в теме
Очень полезный опыт. Когда-то была такая ситуация, но как лечил не помню, поэтому и опытом поделиться не могу. +1
20. Spartyxa 08.06.17 17:06 Сейчас в теме
Всем здравствуйте!

Если есть желающие повторить подвиг автора (ему вроде бы личным сообщением отправлял тоже запрос) с нашей "умершей" базой за разумное вознаграждение, будем неимоверно рады
Оставьте свое сообщение