Имя: Пароль:
1C
1С v8
Ко мне пришла ошибка "Нарушена целостность структуры конфигурации"
0 Юрий Лазаренко
 
19.02.13
16:30
Самописка на базе БСП, пилится потихоньку уже полтора года. Размер cf 7.7 мега, размер 1Cv8.1CD 10.5 мегов, база файловая, на поддержке не стоит. В какой-то момент появилась ошибка из сабжа при попытках загрузить выгружаемый из рабочей базы dt в пустую базу. Конфигуратор рабочей базы при этом открывается нормально, без ошибок, в режиме предприятия работает тоже замечательно.
Сразу после появления ошибки прочекал ее chdbfl, ошибок не было. Сделал ТИИ, нашлись битые ссылки, вместо них создались новые (всего 2 штуки). Начал делать проверку конфигурации - в определенный момент падает с такой же ошибкой. Отловил в строке состояния, на каком объекте метаданных падает, обнаружил кривой общий макет из поставки БСП. Удалил его. Обратил внимание, что размер 1Cv8.1CD стал около 100 метров, то есть увеличился в 10 раз. Почистил электронные письма (там два документа, Электронное письмо входящее и исходящее, тоже функционал БСП). Еще раз провел ТИИ, ошибок не было, база уменьшилась до нормального размера - 10 метров. Попробовал выгрузить-загрузить dt - все пучком. Возрадовался я, тем более что выходные начались.

Спустя два дня радость улетучилась при следующей попытке загрузить dt в резервную базу. Та же фигня - "Нарушена целостность структуры конфигурации". Посмотрел размер базы - 105 метров. Набить столько инфы руками в ней было невозможно, увеличение могло быть разве что за счет входящих писем, но и их было около 300, в основном текст без вложений, на 90 метров никак не насобирать инфы.
Сделал chdbfl - все ОК. Сделал ТИИ - ошибок нет. Проверка конфигурации тоже показала, что все в норме, ни кариеса ни одышки, температура и давление в норме.
Порылся в инете, потанцевал с бубном: пробовал удалить базу из списка, чистить кэш, выгружать в голый cf и загружать его в пустую базу на другом (только что собранном) компе - при загрузке выдает ту же ошибку. Пробовал выгрузить в cf конфигурацию БД и загружать ее - то же самое.
Нарыл Tool_1CD.exe, открыл базу ей. Показывает, что 50% базы занимает таблица документа "Электронное письмо входящее" и еще 40% ее индекс. Попробовал объединить с cf-ником БСП, загрузил этот документ с заменой - не помогло.

В итоге у меня есть конфа с ошибкой и вот такие мысли:
1. Вряд ли проблема с данными в базе, потому что пустой cf при загрузке в пустую базу тоже падает с ошибкой, то есть трабла скорее всего в метаданных.
2. Скорее всего все связано с документом "Электронное письмо входящее", потому что (как мне показалось) база разбухла именно после загрузки входящей почты.

Ну и вопросы: как лечить? Есть, в принципе, бэкапы с живым cf-ником, можно объединиться с ним, но потеряется часть наработок в конфе, хотелось бы как-то найти, какой именно объект все ломает.
1 Maxus43
 
19.02.13
16:38
всякое такое пробовал? http://help1c.com/faq/view/604.html

там кучу даёт вариантов борьбы гугл по  запросу "Нарушена целостность структуры конфигурации", ничего не помогает?
2 Юрий Лазаренко
 
19.02.13
16:39
(1) Конкретно эту ссылку уже открывал и все делал, что в списке есть. Гуглил - ничего не помогло.
3 Maxus43
 
19.02.13
16:40
платформа то какая?
4 Юрий Лазаренко
 
19.02.13
16:41
8.2.16.352, пробовал обновлять до последней - пофигу...
5 vde69
 
19.02.13
16:44
6 Юрий Лазаренко
 
19.02.13
16:46
(5) Это что?
7 Юрий Лазаренко
 
19.02.13
16:47
(6) Ага, понял, спс
8 Юрий Лазаренко
 
04.03.13
19:46
Если кому интересно, вылечил так.
Поскольку конфа это по сути БСП + некий набор своих объектов конфигурации, то вполне логично попробовать объединить конфу с БСП: если битыми были какие-то объекты из поставки БСП, то все поправится. Попробовал - и все получилось: ошибка пропала, выгрузка-загрузка проходит без проблем, проверка конфигурации и ТИИ тоже никаких отклонений не показывает.
При этом изначально попробовал пойти обратным путем: выгрузил битую конфу в cf, взял пустую базу БСП, попробовал объединить ее с битой конфой - выходит ошибка "нарушена целостность".