Сбой с сообщением «Проверка конфигурации... - Неисправимая ошибка» — одна из самых серьезных проблем, с которой может столкнуться администратор или разработчик на платформе «1С:Предприятие 7.7». Опасность этой ошибки заключается в том, что она прерывает работу штатного механизма тестирования и исправления (ТИИ) в самом начале, не позволяя системе провести диагностику. Более того, стандартные архивы базы данных могут содержать ту же ошибку, если повреждение метаданных произошло задолго до обнаружения проблемы.
В этой статье мы подробно разберем природу этого сбоя, проанализируем причины его возникновения на физическом уровне и рассмотрим несколько пошаговых методов восстановления работоспособности конфигурации.
Для того чтобы эффективно бороться с неисправностью, проанализируем, как устроена конфигурация 1С 7.7. Главный файл метаданных 1cv7.md представляет собой структурированное хранилище формата Microsoft OLE Structured Storage (составной файл или Compound File). Внутри него развернута виртуальная файловая система со своими папками (storages) и файлами (streams). Здесь хранятся модули, диалоги форм, шаблоны печатных форм (MXL) и служебные файлы описания дерева метаданных.
Критический сбой «Неисправимая ошибка» происходит в тот момент, когда Конфигуратор пытается построить дерево метаданных, но натыкается на поврежденную структуру Compound-файла. Это может быть связано со следующими факторами:
Container.Contents, которые связывают объекты метаданных между собой.Перейдем к практическим методам решения проблемы.
---
Использование сторонней специализированной утилиты MDDiags — это наиболее быстрый и технологичный способ выявления поврежденных участков в файле 1cv7.md. Программа сканирует внутреннюю структуру составного файла OLE и указывает на конкретные сбойные потоки.
Разберем процесс по шагам:
MDDiags.exe и укажем путь к исследуемому файлу 1cv7.md.ЖурналОрдер);ПомощникПереходаНа8);MDDiags, и полностью удалим их.---
Если специализированных утилит под рукой нет, локализовать проблему можно встроенными средствами Конфигуратора с помощью «метода исключения». Этот способ требует времени, но гарантирует стопроцентный результат.
Рассмотрим алгоритм действий:
F7) и пробуем запустить проверку или восстановление данных.---
Иногда ошибка проверки конфигурации вызвана рассогласованием между структурой метаданных в файле 1cv7.md и физическим описанием таблиц в файле словаря данных 1cv7.dd (в случае SQL-версии — 1cv7.dds).
Для исправления этой ситуации выполним следующие действия:
1cv7.md.1cv7.dd.1cv7.dd с тем, который находится в нашей рабочей «сбойной» базе данных. Для сравнения можно использовать любую утилиту сравнения текстовых файлов (например, WinMerge).Помимо этого, полезно выполнить сброс индексных файлов. Закроем Конфигуратор, зайдем в каталог базы данных и физически удалим все файлы с расширением *.cdx. При следующем монопольном запуске системы индексы будут перестроены заново автоматически.
---
Утилита GComp позволяет декомпилировать закрытый двоичный файл 1cv7.md в набор обычных текстовых файлов, скриптов и XML-описаний, а затем собрать его обратно. В процессе сборки GComp автоматически исправляет многие внутренние системные ошибки Compound-файлов.
Рассмотрим этот процесс подробнее:
1cv7.md с помощью командной строки.Важное ограничение: Если модули вашей конфигурации зашифрованы сторонними утилитами класса КЗК, декомпиляция может пройти некорректно. В этом случае перед использованием GComp потребуется предварительно расшифровать защищенные модули.
---
В платформе 1С 7.7 заложен механизм защиты на случай аварийного завершения работы во время сохранения метаданных. При сохранении изменений система создает в каталоге базы данных временную папку NEW_STRU, куда помещает промежуточную версию файла 1cv7.md.
Если сбой «Неисправимая ошибка» произошел непосредственно во время обновления конфигурации или сохранения изменений разработчиком, велика вероятность, что в каталоге базы осталась папка NEW_STRU. Проанализируем ее содержимое. Если внутри нее находится работоспособный файл конфигурации, мы можем просто скопировать его в корень каталога базы с заменой старого поврежденного файла 1cv7.md.
---
Если у вас нет сторонних утилит, а база падает сразу при нажатии кнопки проверки, можно использовать встроенный инструмент глобального поиска, чтобы заставить систему саму указать на поврежденное место:
Процедура или КонецЕсли).1cv7.md система либо выдаст информационное сообщение с именем конкретного поврежденного файла/потока (например, Ошибка чтения потока...), либо аварийно завершит работу именно на этом объекте. Запомнив, на каком объекте прервался поиск, мы сможем оперативно локализовать неисправность.---
Чтобы минимизировать риски повторного появления критических ошибок конфигурации, рекомендуем придерживаться следующих правил:
Мы подробно разобрали все возможные варианты диагностики и восстановления конфигурации. Применяя данные методы последовательно, вы сможете восстановить работоспособность базы данных 1С:Предприятие 7.7 даже в самых сложных случаях.