Восстановление файловой базы с помощью tools 1cd
Не умею хорошо писать. Но думаю, информация может быть полезной кому-нибудь, кто столкнулся с похожей проблемой.
Описание ситуации:
База Бухгалтерия предприятия 3.0, файловая, не хочет обновлять базу, выдает ошибку:
«В процессе обновления информационной базы произошла критическая ошибка по причине:
Ошибка СУБД:
Ошибка SQL: Таблица не найдена ‘_Document349_VT9553’
по причине:
Ошибка SQL: Таблица не найдена ‘_Document349_VT9553’
Выгрузка базы данных в файл dt тоже выдает ошибка, но менее подробная («Ошибка СУБД»)
Тестирование и исправление отправляло конфигуратор в дамп.
Утилита chdbfl показывала «Ошибок не обнаружено»
Утилита tools_1cd, по команде «Проверка состава таблица» нашла такие ошибки:
Проверка состава таблиц завершена с ошибками, и список из трех таблиц: _VT9553, _DataSeparationUse18106, _DataSeparationUse16595
При этом:
- конфигурация была рабочая и пользователи в ней спокойно работали.
- архивов свежих не было, были месячной давности, но они делались методом копирования файла 1cd, и при анализе они оказались с такой же ошибкой.
- файл конфигурации удалось сохранить, а также удалось сохранить файл конфигурации поставщика.
- конфигурация позволяла открывать себя на платформе версии 8.3.8. Это было важно потому, что программа Tools1CD не работает с более старшими версиями (или у меня старая версия программы).
Проблему удалось решить с помощью утилиты Tools1C (Огромное спасибо ее создателю)
Далее список шагов, которые привели к успеху:
- Определил с помощью метода ПолучитьСтруктуруХраненияБазыДанных что это за таблица, на которое ругается программа. Оказалась эта таблица «Документ.ПоступлениеИзПереработки.ВозвратнаяТара»
Выяснил, что таких документов в базе нету вообще, и можно просто заменить эту таблицу пустой таблицей. - Выгрузил конфигурацию поставщика, и создал новую базу на основании этой конфигурации. Замечание. Установил используемую платформу 8.3.8 из-за проблем совместимости с tools1C
- С помощью метода ПолучитьСтруктуруХраненияБазыДанных нашел название нужной таблицы в новой базе.
Название оказалось совсем другим: «Document452.VT13246» - Открыл новую базу утилитой tools1C, нашел нужную таблицу и выгрузил ее в файл.
5.Изменил название таблицы на название из старой базы
- В самой папке
- В файле descr
- Также поменял номер таблицы с 452 на 349 в полях ссылках, правда другие номера в ссылочных полях оставил такими, какие есть
6. открыл старую базу утилитой tools1C, и нажал создать таблицу из файла
7.После этого база позволила мне выгрузить ее в файл dt.
8.Ну а после я ее перезагрузил из dt файла. И эта уже была полностью рабочая база.
Автор — Роман Заболотин (rzabolotin)