Игра с кешем или как реанимировать файловую базу при ошибке Нарушена целостность структуры конфигурации
Вариант решения ошибки "Нарушена целостность структуры конфигурации"
- Описание
- Подробнее
Описание
Вот и мне пришлось сталкнуться с этой злосчастной ошибкой. Естественно первым делом курение темы в гугле. Вариантов решения масса, но практически все под SQL версию… с файловой версией подходящего решения не нашел.
Итак приступим к описанию.
Все случилось после того, как конфигурация (Бухгалтерия для Украины 1.2.5.3) пожелала автоматически обновиться из тырнета до версии 1.2.6.5. Обновление закочилось ошибкой, в результате при попытке открыть конфигуратор имеем сообщение «Нарушена целостность структуры конфигурации». Из разбора логов стало понятно, что злаполучное автообновление не смогло обновить конфигурацию поставщика, точнее оно ее просто убило. Запуск в пользовательском режиме приводил к крашу программы. Да, кстати, платформа версии 8.2.15.289.
Первым делом решил очистить кеш тут C:\Users\Администратор\AppData\Roaming\1C\1Cv82 и тут C:\Users\Администратор\AppData\Local\1C\1Cv82 (Win7x64). После очистки кеша удалось запуститься в режиме конфигуратора. Попытки открыть конфигурацию приводили к падению. Выгрузить в ДТ удалось. Тестирование и исправление не помогает. Утилита проверки файловой базы говорит, что ошибок нет. Пункты меню загрузки, выгрузки конфигурации, поддержки и т.п. без открытой конфигурации не активны.
Так же из конфигуратора удалоь запуститья в пользовательский режим в режиме отладки. Просмотр данных показал, что данные живы.
Попытка загрузить DT файл в SQL приводила к падению.
Светлую мысль подсказал гугл — создать узел подчиненной базы и выгрузить все туда… не помогло — при выгрузке узла имеем такую же ошибку…
Все, в принципе, на этом можно было бы поставить крест на базе… подняться из древнего бекапа… и напрягаться с восстановление данных вручную (3 месяца работы бухгалтерии). НО!
Как оказалось эту ошибку можно обойти и уничтожить. Итак вот оно — решение:
1. Необходима чистая конфа той же версии, что и работающая база (в моем случае Бухгалтерия для Украины 1.2.5.3 ).
2. Очиста кеша полная.
3. Запускаем чистую базу в режиме конфигуратора и открываем конфигурацию. При этом 1Ска создает ее кеш в C:\Users\Администратор\AppData\Local\1C\1Cv82 (набор файлов и папок в папке с ID конфигурации.) так же нам нужен кеш C:\Users\Администратор\AppData\Roaming\1C\1Cv82.
4. Запускаем наш «трупп» в режиме конфигуратора и смотрим кеш. Имеем две папки с ID конфигурации (Живой и Мертвой).
5. Закрываем все и подменяем кеш мертвой конфы на живую полностью.
6. Запускаем мертвую конфу в режиме конфигуратора и…. ап, дерево конфигурации открыто, разделы меню управления конфигурацией активны.
7. Идем в управление поддержкой, и снимаем с поддержки полностью. сохраняем, обновляем.
8. Удалем кеш полностью.
9. Запускаем Битую базу в режиме конфигуратора, пытаемся открыть конфигурацию — все открывается, ошибки нет.
10. Берем CFку текущей версии конфигурации и делаем полную загрузку, сохраняем, обновляем, в результате получаем конфу снова на поддержке.
11. Для верности очистим кеш и попробуем запустить все сначала и открыть конфигурацию… все должно работать, по карйней мере у меня все получилось.
Вывод из всего этого — нет ничего не выполнимого, и непоправимого, главное не паниковать и включать мозги и фанатазию 🙂
Удачи вам, дорогие читатели, и делайте по-чаще бекапы 🙂

