Ошибка "Нарушена целостность структуры конфигурации"

Один из многих вариантов решения ошибки "Нарушена целостность структуры конфигурации".
Если Вам довелось столкнуться с этой ошибкой обратитесь к специалисту 1С однозначно. Вариантов решения много, но от ситуации и источника проблемы — решения совершенно разные.

Один из многих вариантов решения ошибки «Нарушена целостность структуры конфигурации».
Если Вам довелось столкнуться с этой ошибкой обратитесь к специалисту 1С однозначно. Вариантов решения много, но от ситуации и источника проблемы — решения совершенно разные.

 

Предлагаю вашему вниманию одну из таких ситуаций.
Описание задачи:
Обновление конфигурации произошло автоматически. При запуске 1С режиме конфигуратор имеем сообщение «Нарушена целостность структуры конфигурации». При автообновлении конфигурацию поставщика обновить корректно не получилось. Запуск в пользовательском режиме выдает ошибку ссылаясь на модуль в конфигурации.
Во первых необходимо очистить кеш. В ОС Windows 7 находиться C:UsersАдминистраторAppDataRoaming1C1Cv82 и C:UsersАдминистраторAppDataLocal1C1Cv82 (Win7x64). После очистки кеша 1С запуститься в режиме конфигуратора. При попытке открыть конфигурацию 1С вылетает. Выгрузить информационную базу в файл для подстарховки. Тестирование и исправление не помогает. Утилита проверки файловой базы говорит, что ошибок нет. Пункты меню загрузки, выгрузки конфигурации, поддержки и т.п. без открытой конфигурации не активны. Доступна сохранение конфигурации данных — это значит что данные не уничтожены, что является главным..
Так же из конфигуратора в пользовательский режим в режиме отладки может запуститься, а возможно и нет, это не влияет на ситуацию.
Попытка загрузить информационную базу в SQL не приведет к положительному результату.

И тут появляется мысль что можно было бы поставить крест на базе… подняться из древнего бекапа если таковой имеется… и напрягаться с восстановление данных вручную. 

Решение:
1. Необходима чистая конфигурация той же версии — рабочая.
2. Очиста кеша полная (указано выше).
3. Запускаем чистую базу в режиме конфигуратора и открываем конфигурацию. При этом 1С создает ее кеш в C:UsersАдминистраторAppDataLocal1C1Cv82 (набор файлов и папок в папке с ID конфигурации.) так же нам нужен кеш C:UsersАдминистраторAppDataRoaming1C1Cv82. Можно просто переименовать данные папки после закрытия 1С.
4. Запускаем наш не рабочую базу в режиме конфигуратора и смотрим кеш. И в результате имеем две папки с ID конфигурации (Живой и Мертвой).
5. Закрываем все и подменяем кеш мертвой конфы на живую полностью. Т.е. удаляем текущую и заменяем ранее переименованной папкой.
6. Запускаем не рабочую базу в режиме конфигуратора И ВОТ первый успех —  дерево конфигурации открыто, разделы меню управления конфигурацией активны.
7. Идем в управление поддержкой, и снимаем с поддержки полностью. сохраняем, обновляем. Можно обновить через файл конфигурацией рабочей базы.
8. Удалем кеш полностью. 
9. Запускаем не рабочую базу в режиме конфигуратора, пытаемся открыть конфигурацию — все открывается, ошибки нет.
10. Запускаем 1С. Все доступно. Данные на месте. 

Вот еще вариант спасения предложенный пользователем инфостара Tavalik:

1. «Конфигурация» — «Конфигурация базы данных» — «Вернуться к конфигурации БД» 
2. «Конфигурация» — «Обновить конфигурацию баз данных»

http://olenant.ru

60 Comments

  1. Yashazz

    А что, делать свежие бэкапы — уже совсем не модно? Мне вот за одну фразу «подняться из древнего бекапа, если таковой имеется» — уже хочется прибить тяжёлым предметом.

    Reply
  2. Bukaska

    (1) Yashazz, Программистов две категории: бекапники и безбекапники))) Вот для вторых и делают)))

    Reply
  3. ediks

    (1) Бекап — это акт проявления трусости. :).

    ЗЫ. Совсем не хочу принизить ценности публикации. Любой вариант успешного восстановления имеет право на жизнь.

    Reply
  4. Tarlich
    Необходима чистая конфигурация той же версии — рабочая.

    а если не знаю?

    Reply
  5. 13jaguar

    Я считаю, что перед восстановлением из бекапа все-же следует попробовать иные варианты восстановления текущей информации БД. Автору респект!

    Reply
  6. olenaNT

    (4) Tarlich,

    [IS-QUOTE]Необходима чистая конфигурация той же версии — рабочая.

    а если не знаю?[/IS-QUOTE]

    По любому существуют бекапы хоть какие нибудь хоть полугодовой давности. И еще вариант, Вы можете обратиться к специалисту 1С, у которого найдется типовая конфигурация +7(3435)370307. Выгрузить конфигурацию в файл. Создать новую пустую конфигурацию и загрузить т.е. заменить конфигурацией из файла.

    Reply
  7. EvilDoc

    Интересный момент. Запомню =-)

    Reply
  8. FullMoon

    1сники делятся на тех, кто делает бэкапы и тех, кто будет их делать))

    Reply
  9. Bukaska

    (8) FullMoon, о чем я и сказала в предыдущем посте)))

    Reply
  10. FullMoon

    (9) Bukaska, я имел ввиду, что те кто не делают бэкапы всё равно будут их делать после падения базы.

    Reply
  11. EugeneR1c
    Во первых необходимо очистить кеш. В ОС Windows 7 находиться C:UsersАдминистраторAppDataRoaming1C1Cv82 и C:UsersАдминистраторAppDataLocal1C1Cv82 (Win7x64). После очистки кеша 1С запуститься в режиме конфигуратора. При попытке открыть конфигурацию 1С вылетает. Выгрузить информационную базу в файл для подстарховки. Тестирование и исправление не помогает. Утилита проверки файловой базы говорит, что ошибок нет.

    Помогло: (при условии возможности выгрузить данные)

    В режиме Конфигуратора -Администрирование-Выгрузка данных, и сразу «Загрузка данных» — этого же файла.

    Reply
  12. natarezn

    а если я накатываю обновления с 53,6 до 55,7 ? и она пишет вот эту табличку ?

    Reply
  13. olenaNT

    (12) natarezn, вернитесь к бекапу. Тестирование и исправление ошибок. Если такого нет восстанавливайте согласно статье.

    Reply
  14. galinka1c8

    Спасибо очень помогло. Сообщение об ошибке стал выдавать при обновлении. и то через раз( при попытке обновить с типовой пару раз выбивал, затем вроде пошло, но при запуске в режиме предприятия выбил насовсем). Чистка кеша спасла ситуацию, дальше вроде дело не пошло). А по поводу копий не каждый клиент их делает(хорошая мысль приходит как говорится опосля, когда все слетело и наученные горьким опытом, все начинают выгружать арх копии). Но даже у тех у кого это поставлено на автом. архивирование ночью периодически архив не формируется — чисто человеческий фактор- забыли на ночь правильно закрыть программу при рабоче по удаленке)) Так что тоже может пригодится.

    Reply
  15. nance

    СПАСИБО!!! Очень выручило! Помимо этой ошибки — были также «Ошибка формата потока» и ошибка при создании архива — заверщение работы 1С Предприятие. От всего помогла замена кеша, универсальный метод)

    Reply
  16. Korvinfromamber

    а у меня тепо не обновлялась ИБ .. залил конфу версия поддержки обновилась, а конфигурации нет (( .. вот и думаю получится нет ? … ну .. думаю получится конечно же .. ))

    Reply
  17. Korvinfromamber

    вот только не понял — смысл от чистки кэша то ?

    Reply
  18. Korvinfromamber

    Спасибо други .. все работает ..

    Reply
  19. Dnki

    Только что случилась описанная ситуация. Рад бы разделить эйфорию коллег, но метод не сработал. Мой случай:

    — обновлял базу конфигурацией с флэшки. («Загрузить .. из файла»)

    — Основная конфигурация загрузилась, и выдала «Страшное Сообщение». БД не обновилась.

    — В режиме «1С Предпр.» запускается и работает, только выдает предупреждение о несоответствии.

    — Удаляю кэши. В обоих папках: Roaming1C1Cv82, Local1C1Cv82. Затем, вставляю (копирую) кэши (оба) из работоспособной базы, как и рекомендует автор.

    — Ан нет! Сразу при запуске Конф.опять Сообщение.

    Но статья все-же натолкнула на мысль:

    — Просто очистил кэш

    — Конф. открылся, без дерева, т.е. конфигурация закрыта.

    — Пункт меню: Конфигурация/ Конфигурация БД/ Вернуться к конф-ии БД вернула к жизни.

    Выводы:

    1) Наверное не получилось из-за отсутствия гарантированной идентичности с конфигурацией «древнего бэкапа».

    2) Причина возникновения проблемы в моем случае — «битый» файл на флэшке. Другую базу испортил так-же. Как «неприличную болезнь» передал.

    3) Отсюда и третий вывод, про архивы. Про них много сказали. Согласен со всеми. Как факт скажу: за последние 10 лет сотни/тысячи обновлений, своими руками и коллег, и всегда только после сохранения БД. Даже если торопишься, даже если недавно обновляли и т.п. Сегодняшний случай подтверждение правильности правила. Моя БД была отладочная, интерес представляла сама борьба с проблемой.

    Осталось только прочувствовать ситуацию «на будущее». У меня пока мало статистики о самопроизвольной порче баз просто в ходе работы. Помню, портились файловые БД первых релизов 8.2 (до 15-го) просто гарантированно, за 1-2 месяца. Сейчас, на 17-19 за год ни одного случая. С SQL проработал 1,5 года — нет вопросов. И, выходит, обновление — самый вероятный вариант появления проблемы. Если у кого есть информация по порче БД — поделитесь.

    Reply
  20. dnk-71

    А почему про chdbfl.exe забыли?

    Утилита предназначена для автономной проверки и исправления файлов базы данных.

    Бывает, вызывают на ремонт БД.

    После сбоев всяких (в т.ч. и после неудачного обновления) обычно помогает:

    1. Переиндексация

    2. Данная утилита

    Reply
  21. olenaNT

    (20) dnk-71,

    Это статья как раз для таких случаев что ничего не помогает тем более chdbfl.exe.

    Каждый специалист даже новичок знает об этом файле в платформе 1С, это первый инструмент после Тестирования и Исправления ошибок (ТИО).

    Reply
  22. 7OH

    Спасибо огромное.

    Пользовательсикй кеш менял, когда отчеты скд вылетали, а вот до этого догадаться — ммм- класс.

    Помогла загрузка конфигурации целиком.

    Reply
  23. It-developer

    прикольно. а я знаю как 3-мя строками убить все конфигурации подчиненных узлов :)))))

    Reply
  24. Tavalik

    Мне, к сожалению, трюк с подменой кэша не помог, как и не помогло тестирование и исправление ИБ.

    А помогло следующее:

    1. «Конфигурация» — «Конфигурация базы данных» — «Вернуться к конфигурации БД»

    2. «Конфигурация» — «Обновить конфигурацию баз данных»

    Reply
  25. Kotyara

    (24) Tavalik, Да, тоже выручил именно этот способ. Подмену кэша даже не пробовал. Но надо сразу заметить, что:

    1. Необходимо очистить кеш.- смотри выше. 2. Зайти в конфигуратор и выполнить ваши 2 пункта:

    1. «Конфигурация» — «Конфигурация базы данных» — «Вернуться к конфигурации БД»

    2. «Конфигурация» — «Обновить конфигурацию баз данных»

    Большое спасибо.

    Reply
  26. CERBER

    В моем случае, произошла такая ошибка при перепрыгивании через 3 обновления в базе «Бухгалтерия предприятия, ред 2.0», сразу после объединения, при запуске получил такую же ошибку.

    База крутится на линуксе Цент ОСь + Постгрии SQL 9.1

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

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

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

    Спасибо автору за подробный пошаговый вариант спасения данных.

    Reply
  27. Bukaska

    (26) CERBER, 8.2.17.153 — не древнюю ли вы платформу юзаете?))))

    Reply
  28. Terve!R

    (26) CERBER,

    — бэкапы не делает перед обновлением.

    — перепрыгивает через несколько релизов, не понимая что творит.

    — не задумываясь, загружает в рабочую базу неизвестный бэкап.

    — использует старючую платформу от 19.12.2012г, на которой последняя Бухгалтерия 2.0 работать не должна.

    — слово «лениво» в каждом предложении 🙂

    Как можно настолько безответственно относиться к своей работе? Жуть 🙂

    Reply
  29. Chaotic

    Еще можно попробовать удалить базу из списка баз и добавить в список, например, с другим названием… Мне как-то помогло…



    По поводу бэкапов вообще — бэкапы делаются, люди работают. Сие недоразумение возникло во время очередного обновления, во время текущей работы людей никак не проявлялось. А находить ту копию, на которую обновление бы нормально установилось — это терять наработанную за это время информацию…

    Reply
  30. Terve!R

    (29) Chaotic, удалить базу из списка и добавить заново — это фактически очистка кэша получается 🙂

    Reply
  31. ss4ss

    Чего мудрить, удаляешь базу из списка, и заново добавляешь, открываешь все норм. Старый и давно известный баг! Все прекрасно работает.

    Reply
  32. apostal86

    (31) ss4ss, да, мне помогло в подобной ситуации. Ошибка возникала при обновлении не типовой конфигурации КА

    Reply
  33. vevd

    Мне помогло:

    1. Очистка кеша;

    2. Переименование каталога БД;

    3. Переименование базы данных в выборе баз данных.

    Reply
  34. zoytsa

    Для клиент-серверной базы, которая установлена на SQL сервере можно попробовать воспользоватся запросом «delete * from configsave»

    Reply
  35. Новичок1с

    Добрый день.

    Ошибка такая же возникает.

    пробовала:

    -очистить кэш- (не помогло)

    -переименовать папку с базой- переименовала, подкинула 2.0.65.35 версию- в итоге запускаю из папки- при входе- оновление на версию 2.0.65.29 и далее при входе других пользователей- такая же ошибка.

    -тестировала базу данных- не помогло

    удалила/ создала профиль пользователя системы.

    Reply
  36. Новичок1с

    Всё же помогло- удалить базу из списка, а потом заного добавить..

    (не ту базы вставляла в список баз)

    +тестирование,

    +очистка кэша

    Благодарю за нужную и полезную информацию.

    Reply
  37. juricher

    Не помогло. Конфигурация чуть изменена, а значит включено разрешение изменения конфигурации

    Reply
  38. progr-2008

    Несколько раз помогало удалить из списка, добавить в список.

    Reply
  39. progr-2008

    И все-таки, в чем причина нарушения структуры?

    Reply
  40. Anchoret

    У меня такая ошибка возникла после того, как перезагрузился комп во время обновления.

    Так как это была копия базы, не задумываясь накатил бэкап, но, к моему удивлению, конфигуратор так и не запустился.

    Помогла очистка кэша.

    Reply
  41. semina-2016

    Спасибо, база в работе. Просто очистка кэша и перерегистрация базы не помогли. Помогла именно подмена кэша на рабочий.

    Reply
  42. M-Mark-76

    Сработало, спасибо за статью, все остальные варианты были бесполезны, единственное что от себя — снятие с поддержки вызывало ошибку, так что пришлось грузить конфу сразу

    Reply
  43. bursvit

    к сожалению ничего из описанного в статье не помогло. Помогл метод из статьи по ссылке — http://1c-kod.ru/index.php?t_id=108

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

    Delete From [MyDB].[dbo].[Config]

    и заполнил ее всеми записями из пустой базы:

    INSERT INTO [MyDB].[dbo].[Config] SELECT * FROM [test].[dbo].[Config]

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

    Reply
  44. olenaNT

    Согласна.

    Reply
  45. emorozova

    Спасибо! Помогло! У клиента бэкапов не было вообще!!!

    Reply
  46. Nicholas

    Сегодня столкнулся с такой же проблемой. Обновлял конфигурацию, при сохранении не хватило места на диске. В результате конфигурация поставщика стала нового релиза, а основная — осталась старого.

    Перепробовал разные варианты.

    В итоге, нашел вот такой рецепт:

    1. Конфигурация — Сохранить конфигурацию в файл

    2. Конфигурация — Поддержка — Настройка поддержки — Снять с поддержки

    3. Конфигурация — Сравнить, объединить с конфигурацией из файла

    При объединении должно предложить поставить на поддержку, соглашаемся и вуаля!

    Reply
  47. user650748_irt.sashok

    Странно, удалил только кэш и уже заработало .-.

    Reply
  48. Sam13

    спасибо, помогла очистка кэш

    Reply
  49. slawanix

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

    Reply
  50. user646592_Dzhinne

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

    Reply
  51. Denic_01

    (1)

    по таким рассуждениям сразу видно человека который не работал с крупными базами

    что значит древний — утренний это древний или нет если в базе n сотен народу ?

    Reply
  52. Yashazz

    (51) Насмешили) Вы мне ещё про разницу Full и Simple для скуля расскажите) Я, батенька, лет 15 с такими базами работаю, от которых порой и Оракл кряхтит)

    Reply
  53. Denic_01

    (52)

    ну раз оракл кряхтит, то конечно стоит напомнить нам убогим о бэкапах, а то мы не знали

    просто в такие темы заходят люди с реальной проблемой, которым не до шуток и желающих вставить свои 5 копеек не по теме, увы, не в тему — в такие моменты раздражают

    впрочем тоже не буду засорять, потому прекращаю диалог

    чтобы привнести пользу отпишусь:

    мне в итоге помогла очистка таблицы ConfigSave — на рабочих базах в ней 0 записей, на рухнувшей же было 11

    вероятно, стоит это проверить

    поведение было такое же как в теме, конфигуратор открывался, при попытке открыть конфигурацию падало

    Reply
  54. 24specialist

    Встретился с такой ошибкой.

    Помогла чистка кэша (пункт 2 у автора), больше ничего не пришлось делать.

    Симптомы были такие:

    • база файловая, с отключенной возможностью изменения (типовая)

    • конфигуратор открывается, конфигурация открывается, но она непримененная к базе данных

    • версия основной конфигурации выше, чем версия поставщика (!), т.е. что-то случилось с конфигурацией поставщика, якобы.

    • падение с такой ошибкой при попытке применения к базе данных, даже если сравнять поставщика с основной

    После чистки кэша конфигурация поставщика сказала, что версия ее теперь совпадает с версией основной конфигурации. Т.е. всё само починилось после чистки кэша.

    Reply
  55. shegarka

    Ошибка произошла при динамическом обновлении конфигурации УПП.

    Чиста, подмена кеша не помогала.

    Решить проблему удалось только подменой таблицы [Config] от предыдущего бекапа.

    Reply
  56. CratosX

    (43) ох как выручил.

    В моём случае было отключение света, ИБП нет.

    Reply
  57. ziman

    Ничего из вышеперечисленного не помогло.

    Сделал по топорному.

    Взял чистый файл *.cf этого же релиза и через Конфигурация—Загрузить конфигурацию из файла (конфа стандартная без дописок).

    После этого пошли обновления. И никакого вуаля.

    Reply
  58. slavaso

    (53) Друг, ты мегаадекватен. От «кряхтящих» глаза текут уже. Спасибо, твой вариант простой и рабочий.

    Reply
  59. dynamicsystems

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

    Помог именно этот совет, база на SQL не лечилась ТИИ, не помогало передобавление базы в список, сравнение конфы с эталонным CF файлом говорило что базы идентичны. Но стоило загрузить CF файл без сравнения — тут же нашлись какие-то отличия от «конфигурации БД», больше проблема не вылезала.

    Reply
  60. human_new

    Ошибка загрузки документа.

    по причине:

    Ошибка подключения внешних метаданных

    по причине:

    Нарушена целостность структуры конфигурации.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *