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

Один из многих вариантов решения ошибки "Нарушена целостность структуры конфигурации".
Если Вам довелось столкнуться с этой ошибкой обратитесь к специалисту 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 не будет опубликован. Обязательные поля помечены *