gifts2017

Популярные ошибки РИБ и способы их исправления. Часть 1. Конфигурация узла распределенной ИБ не соответствует ожидаемой

Опубликовал Константин Хрипков (mbreaker) в раздел Администрирование - Распределенная БД (УРИБ, УРБД)

Конфигурация узла распределенной ИБ не соответствует ожидаемой. Одна из самых популярных ошибок РИБ. Приведены стандартная методика устранения (уже публиковалась ранее) и расширенная (для сложных случаев).

Для начала привожу список используемых мной сокращений:

  • РИБ - распределенная информационная база
  • ЦБ - центральная база, корневой узел РИБ
  • УБ - удаленная база, БД удаленного узла РИБ

По собственному опыт могу сказать, что сталкивался с двумя причинам возникновения ошибки:

  1. во время приёма файла сообщения в УБ "упала" база, в связи с чем, видимо, и произошла разсинхронизация между конф. ЦБ и УБ;
  2. под MSSQL клиент загрузил копию рабочей базы и не выключил в копии регл. задания автообмена, в результате часть сообщений в удаленные узлы формировалась из рабочей БД, а часть из копии, что и привело рассинхронизации конфигураций

Есть также мнение, что к этой ошибке приводит использование механизма динамического обновления базы. Здесь есть сомнения, потому как с одной стороны динамическое обновление никогда не затрагивает структуры БД, а механизмы РИБ всё-таки работают именно со структурой БД, а не с прикладной её частью, тем не менее в РИБ используется механизм формирования цифровой подписи  версии конфигурации (в дальнейшем буду называть её для сокращения хэшем), и при изменении прикладной части хэш естественно обязан пересчитаться. Не буду ни отрицать этого, ни утверждать, т.к. если и сталкивался с этой ситуацией, то явных доказательств этого не нашел.

Для исправления использую 2 методики, в зависимости от ситуации.

ПЕРВАЯ МЕТОДИКА

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

Последовательность действий:

  1. выгружаем из ЦБ cf-файл;
  2. отвязываем УБ от РИБ (метод УстановитьГлавныйУзел, готовую обработку можно найти в приложении или в других публикациях);
  3. заменяем конф. УБ на выгруженный в первом шаге cf-файл, для этого пользуемся меню "Загрузить конфигурацию из файла" (а не сравнением-объединением!!!);
  4. восстанавливем признак РИБ для УБ.

В большинстве случаев этих действий более чем достаточно, что восстановить обмен, но не всегда...

ВТОРАЯ МЕТОДИКА

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

Предыстория: у клиента настраивали каскадную РИБ и ошибка возникла в первом уровне каскада (второй уровень всё это время работал безупречно). Разработка конфигурации велась совместно с IT-службой клиента и с момента возникновения ошибки конфигурация ЦБ успела несколько раз поменяться. Вариант с откатом изменений не рассматривался даже в принципе, т.к. потеря части данных и остановка работы нескольких подразделений были совершенно неприемлимы. Первый вариант исправления ошибки каких-либо ощутимых результатов не дал. В связи со чем пришлось искать другие пути решения.

Пришла мысль попробовать подменить хэши файлов конфигураций непосредственно в XML-файлах обмена. Описание структуры файла обмена из книги "Профессиональная разработка в системе 1С:Предприятие 8" дало слабое представление о формировании цифровых подписей конфигураций и изменений в них, но определило направление поиска: значения Digest1 и Digest2. Всё остальное выяснял чисто эмпирическим путём (то бишь методом проб и ошибок), но закономерность установить таки получилось.

Тестовые эксперименты прошли удачно. На рабочих базах тоже всё прошло благополучно.

Итак, последовательность действий: 

  1. выполняем действия 1 - 4 первой методики;
  2. выгружаем из УБ файл обмена, но не загружаем его в ЦБ;
  3. выгружаем из ЦБ файл обмена, но не загружаем его в УБ;
  4. в файле обмена из ЦБ заменяем блок, содержащий информацию об изменениях конфигурации и хэши (Digest1 и Digest2), на блок хэшей из файла УБ (пример см. ниже)
  5. производим загрузку файла из 4-го пункта в УБ;
  6. обязательно перезаписываем файл обмена из УБ (2-й пункт)! этот файл не должен быть загружен при обмене в ЦБ!
  7. для проверки делаем несколько последовательных обменов.

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

Блок файла обмена из ЦБ

            <v8de:Config xmlns:v8md="http://v8.1c.ru/metadata/2005/08">
               <v8de:Version>106.0</v8de:Version>
               ...здесь идут блоки описания изменений конфигурации...
               <v8de:Digest1>1cf680807e97a5dc0d1ed7f901b07392</v8de:Digest1>
               <v8de:Digest2>038211651cf680807e97a5dc0d1ed7f9</v8de:Digest2>
           </v8de:Config>

нужно заменить на блок файла обмена из УБ (обратите внимание Digest1 у файла из УБ всегда равен "00000000000000000000000000000000"!!!)

            <v8de:Config xmlns:v8md="http://v8.1c.ru/metadata/2005/08">
<v8de:Version>106.0</v8de:Version>
<v8de:Digest1>00000000000000000000000000000000</v8de:Digest1>
<v8de:Digest2>11651cf680807e97a5dc0d1ed7f901b0</v8de:Digest2>
</v8de:Config>

Перечисленные действия необходимо выполнять с предельной осторожностью, некорректная последовательность чревата полной неработоспособностью РИБ. Поэтому перед этими действиям создание резервных копий ОБЯЗАТЕЛЬНО!

В остальном могу только пожелать удачи!

Скачать файлы

Наименование Файл Версия Размер
УстановкаГлавногоУзлаРИБ.epf 2272
.epf 6,19Kb
09.02.10
2272
.epf 6,19Kb Бесплатно

См. также

Подписаться Добавить вознаграждение
Комментарии
1. Сергей Кучеров (СергейКа) 09.02.10 12:05
Решил даже сохранить.
До второго метода не додумывался.
2. Константин Хрипков (mbreaker) 09.02.10 12:10
(1) завсегда пожалуйста ;)
3. Константин Хрипков (mbreaker) 09.02.10 21:33

:!: При редактировании статьи сбилось форматирование блоков файла обмена.
Если кто-то в этот промежуток времени видел "искорёженные блоки", прошу прощения за невнимательность...
4. Сергей Карташев (Elisy) 10.02.10 12:08
А можно ли программно из 1С получить хэши (Digest1 и Digest2) и версию (Version)? Или это информация для внутреннего использования в 1С?
5. Евгений jhj (Mantis) 10.02.10 13:39
Молодец! оба способа рабочие сам делал когда то :)
6. Сергей Рудаков (fishca) 10.02.10 16:33
http://partners.v8.1c.ru/forum/thread.jsp?id=535324#535324 - если у кого есть доступ на партнерский форум, можно еще посмотреть тутачки :)
7. Константин Хрипков (mbreaker) 10.02.10 21:05
(4) Напрямую - нет, только если сэмулировать запись блока обновления РИБ в файл сообщения, а оттуда уже "выкусить"
8. Константин Хрипков (mbreaker) 10.02.10 21:09
(6) да, к своему великому сожалению наткнулся на эту ветку уже после описанных в статье событий... хотя в то время перелопатил в поиске решения почти всю "партнёрку"... сэкономил бы часов 6 своего рабочего времени... :(

там, правда, Андрей предлагает удалять/восстанавливать узел (на мой взгляд, чтобы сбросить регистрацию проще воспользоваться обработкой "РегистрацияИзмененийДляОбмена"), что в моём случае было совершенно неприемлемо (все изменения должны были дойти до своих адресатов)...
9. Виталий Kor (Vitalk) 12.02.10 14:37
Спасибо за доходчивое объяснение)))!
10. Владимир (NewNick) 26.02.10 22:39
(8) достаточно просто было бы создать обработку которая бы копировала зарегистрированные изменения из узла в узел некий резервный узел и обратно. далее думаю все понятно.

11. Константин Хрипков (mbreaker) 26.02.10 23:09
(10) нет, не совсем понятно про "далее все понятно"... можно поподробнее, что дает копирование изменений в "некий резервный узел"? а дальше-то что? перевыгружать узлы и добивать их зарегистрированными изменениями? а если каждый узел "весит" 4-5Гб или больше? а узлов 20-30 штук?
12. Владимир (NewNick) 27.02.10 11:30
(11) у меня под рукой доступа на партнерский форум нет в чем там суть я могу только догадываться. но я отреагировал на вашу фразу
>>что в моём случае было совершенно неприемлемо (все изменения должны были дойти до своих адресатов)...

для того что бы не потерять регистрацию в случаи неких манипуляций с узлом достаточно создать еще один узел как хранилище изменений - перелить из нужного узла регистрацию изменений. далее сделать все с ним что нужно и перелить регистрацию обратно.
если узлов много можно процесс автоматизировать.
13. Константин Хрипков (mbreaker) 02.03.10 20:06
(12) суть понял... там другой случай... в партнерской ветке Андрей Чичерин предлагал на первых шагах:

1. в центральной ИБ удалить узел плана обмена, соответствующий удаленному узлу (при этом все записи о регистрации изменений для удаленного узла будут потеряны);

2. в центральной ИБ создать новый узел плана обмена, соответствующий удаленному узлу (код узла должен соответствовать удаленному на первом шаге);


суть - очистить таблицу регистрации изменений... для чего это нужно - для меня так и осталось загадкой (потом же хлопот не оберешься чтобы синхронизировать узлы), а в своем комменте я просто предложил более простой вариант проведения этой операции...
14. drkahir (drkhaired) 17.06.10 07:48
У меня в последнее время постоянные проблемы с этим, но разработку мы ведем используя хранилище. Может ли хранилище являться причиной данного трабла?
15. Константин Хрипков (mbreaker) 20.06.10 13:34
(14) Использование хранилища - нет не может... Хранилище - тупой (но очень полезный) инструмент для синхронизации действий при групповой разработке...

А вот хаотичные динамические обновления из-за несогласованного регламента применения изменений на рабочей базе вполне могут быть такой причиной. Особенно если узлов много, а вы не следите за тем, что подтверждения о принятии изменений с узлов доходят до центральной БД.

Устанавливайте жёсткий регламент наката изменений на рабочую базу, и по возможности включайте в настройках узлов галочку "Выгружать только при успешной загрузке".
16. Василий Теркин (Radik44) 08.09.10 09:51
Попробовал - помог способ №2, но при последующем обмене, как в одну так и в другую сторону, снова сталкиваюсь с той же ошибкой, выходит каждый раз нужно править файл обмена. Розница 1.0.10.4
17. Константин Хрипков (mbreaker) 14.09.10 15:21
(16) Проверьте точное выполнение рекомендованной последовательности действий... Возможно просто не выполнили пункт 6, вот у вас и циклится ошибка...
18. Женя Мохин (mevgenym) 23.11.10 22:05
(16) сегодня такое было, первый способ знал и сразу его попорбовал, непомогло, второй способ тоже сделал помогло точно также на один обмен хватило. Вечером уже руки опустились, "звонок другу" помог:) Суть: изменить конфу главного узла и сделать обмен, в дочерний узел просто примет изменения от главного, обновляем дочерний. Все просто и тупо и сработало, я в шоке.
19. Max Kom (1C8) 20.04.11 11:09
Блин...все мозги мне это несоответствие проело! Один раз месяц назад мне первый способ помог. Теперьуже руки опускаются...Второй способ не могу пименить т.к. после проделывания пунктов 1-4 1С просто тупо вываливается с руганью на basic.dll
Уже пробовал в ЦБ выгрузить начальный образ для этого узла, перенес, при первом же обмене опяь ошибка не соответствие ожидаемой!
Что делать????!!!!
20. Анна Полозенко (AnnaSehrGut) 16.09.11 21:59
Спасибо. Полезная статья
21. Игорь Маслов (mas2) 03.10.11 18:03
Использовал по необходимости . Спасибо
22. Паха (VapPaha) 11.10.11 07:32
23. николай 1 (trad72) 29.11.11 02:41
вот и провел весь вечер за решением этой проблемы хорошо что к вам забрел первый вариант помог))
24. Дмитрий Ташланов (Necytij) 11.12.11 08:50
Ну первый метод очень много где описывается, а вот можете второй пояснить.. приемом из ЦБ сообщения с его хещем - меняет хеш УБ? И тем самым синхронизирует единственный параметр, присутствующий в обоих сообщениях, так?и после того обмен(по идее) опять идет "как по маслу"?
Отдельное спасибо NewNick, интересный способ насчет узла с копированием регистрации изменений.
25. Ann Post (annhv) 20.12.11 08:37
Хорошо, что есть такой сайт и его участники. Мне обработка тоже помогла. При обмене обновлений в подчиненный узел глюк произошел...
26. Андрей Асеев (Zergos) 20.12.11 12:51
Попробовал запустить обработку для установки главного узла.
Получил:
{Форма.Форма.Форма(6)}: Ошибка при вызове метода контекста (УстановитьГлавныйУзел): Недопустимое значение параметра (параметр номер '1')
ПланыОбмена.УстановитьГлавныйУзел(ГлавныйУзел);
по причине:
Недопустимое значение параметра (параметр номер '1')

Что делаю не так?
27. Андрей Асеев (Zergos) 20.12.11 12:54
Разобрался: надо было оставлять поле незапоненным...
28. Максим Богословский (ulen) 22.12.11 21:09
(17) mbreaker,

Вот у меня тоже абсолютно уникальная ситуация, один узел УБ работает нормально, создал еще один, и при первом же обмене пишет такую чушь. Все проведенные действия спасали только на один раз загрузить в УБ и все потом опять по новой. Заного создаю образ, загружаю конфу, вообще ничего не помогает, пишет о несоответствии и в Уб и в ЦБ...
29. Dmitiry (ndacoder) 22.12.11 22:07
(4)
Elisy пишет:
А можно ли программно из 1С получить хэши (Digest1 и Digest2) и версию (Version)? Или это информация для внутреннего использования в 1С?

всё возможно, но для этого нужно знать алгоритм вычисления :) а Version - та что хранится в конфигурации ?
её можно для этого можно использовать различные инструменты например EI, или доработать мою обработку, которая сохраняет cf из бд.
30. Екатерина Мифтахова (lux17) 17.01.12 12:29
а у меня обмен работает через раз после обновления конфигурации, хоть убей...
31. Иван Иванов (jko) 19.01.12 07:12
Сохраним.
Спасибо большое.
32. aaa aaa (a_a) 25.01.12 13:58
Полезная статья, во время очередного сбоя РИБ очень помогла быстро восстановить систему. А так даже не знал куда копать.
33. Дмитрий Трифонов (Dimkasan) 03.02.12 14:09
Ох, спасибо огромное, реально мне помогли
34. Александр Кузяшин (white125) 05.03.12 10:44
Обработка не работает в 1с 8.2 УТ 11.
Может кто-нибудь поделиться обработкой для данной версии для снятия признака Подчиненного узла и восстановления его.
35. Игорь Фрунзэ (gorodok11) 07.06.12 17:33
Включение метода УстановитьГлавныйУзел в Попытку приводит к тому что не выводятся описания ошибок. Например когда в распределенной базе присутствуют дополнительные сеансы. Правильно определить ошибку установки главного узла смог только после закомментирования строк попытки. Вот такие грабли :).
36. Андрей (dascon) 11.07.12 13:30
Похоже, я единственный, у кого первый метод не сработал :)

В конфигураторе пункт меню "Загрузить конфигурацию из файла" неактивен, хотя конфигурация открыта. Как убедиться, что метод УстановитьГлавныйУзел сработал? Может в этом дело?
37. Андрей (dascon) 11.07.12 13:47
Разобрался: надо было оставлять поле незапоненным...

аналогично...
38. Luck (Luck_DMST) 13.07.12 00:21
Огромное спасибо! Мне помогло!!
39. PONOM Пономарев (PONOM) 29.08.12 07:19
А база скульная или файловая? У нас SQL. Первым способом всегда пользовался и всегда помогало на 8.1. А вот случилось на 8.2 и ни в какую. Второй способ только первый раз помог. Причем он как-то странно помог. Был обмен в фоновом режиме на серваке настроен, так он при обмене продолжал нам сообщать что "Конфигурация узла распределенной ИБ не соответствует ожидаемой". А вот локально делаешь обмен и все проходит. Сначала подумали на проблемы с серваком и его нужно переставлять. Первым делом перезагрузили и 1с-сервер и сервер-SQL - не помогает. Сделали переферийной базе выгрузку-загрузку данных и в копии обмен спокойно прошел(!). Ну взяли приатачили в скуле эту базу на старый адрес и обмен снова не работает!?! И вот здесь уже понял, что нужно просто переподключить базу в 1с-сервере!!! И все спокойно заработало, как буд-то ничего не было. Конечно у пользователей после этого почистили в "Documents and Settings" весь мусор в папке "1С". Так что, если скульная базка попробуйте сначала просто переподключить базу в 1с-сервере.
Banka86; UnsavedSoul; vdolynsky; stal76; rsalab; +5 Ответить 1
40. Виктор (nvrobin2002) 04.09.12 14:02
Решил данную проблему по посту http://infostart.ru/public/116477/ Помогло с первого разочка
41. Елена Иванова (helenchik) 17.09.12 15:38
Честно говоря не понимаю проблемы в данной теме. Да когда конфа обновляется в главной базе,то в подчиненную передаются данные о изменении и главная видит , что конфа подчиненная не обновилась, поэтому и пишет Конфигурация узла распределенной ИБ не соответствует ожидаемой. Хорошо загружать ,выгружать если 1 подчиненная , а если их 10, то целый день только и сидеть перезагружать конфигурации. По моему тут 2 способа. 1 способ писать батник, который должен периодически обновлять конфу на переферии. 2 способ когда конфа в перефирии вываливается с ошибкой чтения мы используем команду ПрекратитьРаботуСистемы(Истина, " CONFIG /UpdateDBCfg ");

Все конфигурация сама обновляется.
У меня , например, запуск 1с стоит на расписание под событием обмен при запуске под определенным пользователем.
В главной конфа обновилась. На перефирии конфа вывалилась, но перед этим обновилась и далее конфа уже запустилась обновленная.
42. Ламия 21.09.12 10:20
Решила такую же проблему по описанию автора, ко второму способу даже не пришлось прибегать, все заработало, огромное спасибо!
43. Павел Заикин (zztalker) 27.09.12 13:19
Была такая же проблема. С ходу по инструкции Первой и Второй не получилось, на втором обмене опять ничего не грузится. Решили так: внесли в центральную базу еще изменение (константу добавили) - и дальше по инструкции с подменой Digest1 и Digest2. Вуаля! Базы подвязались, обмен пошёл!
MsDjuice; +1 Ответить
44. Евгений Гайдайчук (evgaid) 12.10.12 08:06
Подскажите, после первого способа - ноль результата, а после второго пишет "искажены изменения конфигурации". Блин помогите!!!
46. Евгений Гайдайчук (evgaid) 12.10.12 10:49
Блин заработало, просто взял в Цб добавил константу и обмен пошел сразу!!!!
47. Валерий Гайдабура (director04) 07.12.12 01:14
Спасибо автору за его методу. Хотелось бы поделиться своим опытом.
Сперва позволю себе процитировать вот эти строки автора статьи:

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


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

РЕШЕНИЕ: Испробовал метод №1 - ранее помогал безотказно - НЕ помогло!
Долго танцевал с бубном примеряя на себя метод №2 - результат не утешителен: нижестоящие базы стали кушать входящие данные, а вот Центральный узел - обратно обмены не принимал.

МОЕ РЕШЕНИЕ:
1. Снял ЦБ с поддержки.
2. Взял cf-ник ЦБ, который был "до динамического обновления". Загрузил его в конфигурацию ЦБ.
Обновил конфигурацию БД ЦБ
3 Произвел выгрузку из ЦБ
4. Произвел повторную загрузку в Распределенный узел. (прошел на ура!!!)
5. Далее.... .все пошло по накатанной.
6. Все действия 1-4 повторил для остальных узлов.

ps: данному методу не помешали даже предыдущие танцы со способом №1 и №2.
48. alnovin (alnovin) 04.03.13 05:33
Ну если совсем ничего не помогает, тогда следующий вариант, не менее геморройный, но 100% рабочий.
1. Создаем новую базу идентичного релиза.
2. Переносим в него СРАВНЕНИЕМ И ОБЪЕДИНЕНИЕМ доработки из ЦБ.
3. переносим с помощью Универсальной выгрузкой загрузкой XML все данные.
4. Старую базу в архив. Работаем в новой. Узлы создаем заново.

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

Всем удачи!
49. Александр Иванов (ls300) 18.06.13 13:13
Большое спасибо, второй способ прям открытие! =)
50. Пётр Граблюк (grap) 02.07.13 12:49
Понятно как решать проблему. А вот из-за чего она случается не очень понятно... У меня такая ситуация возникла после обновления конфигурации БП ред. 2.0.47.7 (типовая, на поддержке). Причем пробовал обновлять и через конфигуратор, и через 1сПредприятие, в пользовательском режиме. Написал в 1с - жду ответа...
51. Сергей Атучин (wanderer100) 09.07.13 20:06

50.grap
Понятно как решать проблему. А вот из-за чего она случается не очень понятно... У меня такая ситуация возникла после обновления конфигурации БП ред. 2.0.47.7 (типовая, на поддержке). Причем пробовал обновлять и через конфигуратор, и через 1сПредприятие, в пользовательском режиме. Написал в 1с - жду ответа...


Добрый день! У нас та же проблема с ред.2.0.47.7 -причем у нас несколько разных юр.лиц с РИБами -и везде обмен перестает работать после обновления ЦБ на 2.0.48.9. Мы-простые ,скромные пользователи :))) и никак не можем решить эту задачку. Помогите, пожалуйста, по-шагово!!!
52. Пётр Граблюк (grap) 18.07.13 14:53
(50) grap, вот кстати и официальный ответ от 1с подошел:

Ваше обращение зарегистрировано под номером SW782187 / 3. Пожалуйста, в тексте следующих обращений на эту же тему ссылайтесь на этот номер.
Это ошибка платформы. По предварительным данным исправлена в версии 8.2.18.108.
53. Андрей - (Motor24) 01.08.13 13:06
(47)Спасибо - помог только этот метод. Запишу на будущее!
54. Noor -- (noor) 06.08.13 19:50
55. Евгений Довольский (dovolsky) 15.08.13 21:07
2 метод не помог, из УБ в ЦБ упорно не выгружалось.

3 метод.

1.В ЦБ выгрузить конфигурацию.
2.Снять ЦБ с поддержки.
3.В ЦБ "Загрузить конфигурацию из файла", (только что выгруженную.)

ну а дальше по 2 методу.

Только таким способом все заработало.
cleaner_it; +1 Ответить 3
56. Максим Горбачев (Tangram) 30.08.13 09:42
на Бухгалтерия предприятия 3 не получится "Загрузить конфигурацию из файла...". нельзя снять с поддержки следующие объекты:
Прикрепленные файлы:
57. Максим Горбачев (Tangram) 30.08.13 09:44
На Бухгалтерия предприятия 3 не получится "Загрузить конфигурацию из файла...". Нельзя снять с поддержки объекты, относящиеся к учету по подразделениям (это видимо только в КОРП версии).
58. Максим Горбачев (Tangram) 07.09.13 17:10
Добавлю к предыдущему: на БП3 конфигурацию из центра загрузить получилось, но обмен не заработал. Почистил кэш ЦИБ, повторил выгрузку, все заработало.
59. kurmanov.marat (kurmanov) 11.09.13 06:45
А у меня был такой случай, сделал первый метод, не помогло, потом заметил, обмен по расписанию выполняется, а интерактивно нет - выдает "Конфигурация не соответствует ожидаемой". Проверил настройки обмена - в УБ не стояла галка интерактивного обмена "Выполнять под полными правами". Хорошо что не стал сразу делать второй способ )
60. kurmanov.marat (kurmanov) 11.09.13 11:43
И еще: если способ получения данных "Через каталог обмена", иногда помогает изменить директорию...
61. Alexandr SmirnOFF (Sph1nX) 18.09.13 20:02
Метод 1 не дал результатов.
Метод 2 после попытки загрузки на УБ выдает: "Искажены изменения конфигурации"
62. Александр Воронов (ya.Avoronov) 24.10.13 09:05
Метод 1 помог)
Прекрасно помогла обработка, спасибо!
63. @Lexandr Zubov (@lexandr) 03.11.13 11:54
Пишу сюда, так как это самая часто встречающаяся ссылка по данной ошибке. Мне не помогли те действия, что были описаны в 1 и 2 вариантах, не помогли и действия описанные на просторах интернета. Пробовал вариант с тестированием базы, очисткой кеша, перезагрузки в периферийную конфигурации базы данных. Даже после создания новой распределенной базы ошибка оставалась и в вновь созданную базу обмен не проходил, ошибка оставалась "Конфигурация узла распределенной ИБ не соответствует ожидаемой". Поэтому еще один вариант, который мне после трех дней изысканий все-таки помог, это простое снятие конфигурации с поддержки в главной базе. После этого прошел обмен и периферийная база запросила обновить конфигурацию. Может кому описанный мной способ поможет, так как по моей ситуации я решений в интернете не нашел.
64. Денис Луцик (NAKIS) 23.12.13 15:59
Спасибо огромное!! Уже не раз эта статья помогла!!)) (методом 1 постоянно)
65. Константин Хрипков (mbreaker) 24.12.13 15:47
66. Алексей Мусихин (AlexLM75) 19.04.14 19:38
Спасибо! Второй способ помог)
67. Nikita Bal' (Buхter) 28.08.14 06:59
Поднимем ветку.

Когда узлов обмена много, можно по первой схеме откатить конфу главного узла, если конечно изменения позволяют.
Это избавит от необходимости ковырять каждый дочерний узел.
68. Константин Хрипков (mbreaker) 28.08.14 13:46
(67) Buхter, боюсь такой подход не будет гарантировать идентичность конфигурации на всех узлах...
69. Андрей Трифанов (Trifan) 03.09.14 10:12
Метод 1 не подходит для специализированных конфигураций, т.к. в них присутствуют закрытые общие модули, которые нельзя снять с поддержки, а значит загрузить внешнюю конфигурацию из файла не получится.
Метод 2 к большому сожалению также не помогает. Возникает исключение: "Искажены изменения конфигурации". Приведенный здесь пример касается весьма древних версий платформы 8.2, а может даже 8.1. На платформах 8.3.4 и выше фрагмент с хешами сейчас выглядит несколько иначе:
<v8de:Version>216.0</v8de:Version>
<v8de:Digest1>9302179fce9fe03be9b969e3f7a499f1</v8de:Digest1>
<v8de:Digest2 v2="46af761f437758f52340173bf43dceca">d114d6a71e1406c7de2e38­2aa9045e13</v8de:Digest2>
Отсюда видно, что версия метаданных, используемая сейчас, вдвое старше, чем в примере. Кроме того узел Digest2 выглядит также иначе. В настоящее время с учетом вышесказанного решение аналогичной проблемы у нас зашло в тупик. И поэтому мы склоняемся в третьему варианту. Это выгрузить через универсальный обмен данными из УБ то что нужно в ЦБ, а затем просто заново выгрузить образ периферийной базы и перезаписать её.
EMelihoff; windows98a; MsDjuice; vdolynsky; valex1c; +5 Ответить 1
70. valex1c (valex1c) 10.09.14 15:45
У меня РИБ : ЦУ на сервере , узлы файловые (20 шт), 1С 8.2.18.102
После обновления вылезла ошибка "Конфигурация узла распределенной ИБ не соответствует ожидаемой"
Шаги из первого метода не помогли ,
Шаги из второго метода - тоже , удалял секции с изменениями конфигурации, менял уже Digest'ы как только мог, чистил кеш и т.д.

Решение которое помогло следующее:

1.выгружаем из ЦБ cf-файл;
2.отвязываем УБ от РИБ (метод УстановитьГлавныйУзел, готовую обработку можно найти в приложении или в других публикациях);

ВАЖНО ***
Перед заменой конфигурации в УБ сделал незначительные изменения (добавил примечание в первом попавшемся документе) , применил эти изменения, а затем уже следующие шаги.

3.заменяем конф. УБ на выгруженный в первом шаге cf-файл, для этого пользуемся меню "Загрузить конфигурацию из файла" (а не сравнением-объединением!!!);
восстанавливем признак РИБ для УБ.

После всего - обмен пошел
71. Ростислав Пуме (Millet) 21.10.14 12:18
72. Алексей Грищенко (rodger) 24.02.15 21:22
73. Александр Перевислый (sashapere) 17.03.15 15:12
Столкнулся с такой-же проблемой. ни 1 ни 2 способ не помог. После всяких экспирементов, оказалось что в УБ после полной загрузки и подключения главного узла отличалась конфигурация (незнаю наверно какойто баг в платформе). Через сравнение конфигураций увидел что отличие в справочнике который недавно рекдактировался. Отключил в УБ центральный узел, просто добавил реквизит на форму того справочника где были отличия, обновил УБ. Потом заново загрузил cf из рабочей базы, подключил главный узел. Сравнил в конфигураторе УБ cf из ЦБ , теперь уже отличий небыло!!!. Попытался загрузить файл обмена, и опачки! он загрузился.

платформа --- 1С:Предприятие 8.3 (8.3.5.1248)
74. Андрей Тарлыков (Tarlich) 24.03.15 23:13
(16) Radik44, такая же проблема. как решилась?
75. Ольга Пеймер (Olga_Peymer) 06.04.15 11:53
76. Сергей Карташев (Elisy) 27.04.15 08:21
В 8.3 1C себя ведет странным образом
Шаги идут стандартно:
1. Отключить Главный Узел
2. Загрузить конфигурацию
Если на этом этапе сравнить конфигурации - они будут идентичными
3. Подслючить Главный Узел
Если на данном этапе сравнитьь конфигурации - они будут отличаться

PS. Удалось выяснить, что в 8.3.5.1248 нормальным образом не работает "Загрузить конфигурацию из файла..." в части создания новых объектов. Поэтому процедура видоизменяется примерно так. Точность не гарантирую, потому что воспроизвести не могу после исправления
1. Отключить главный узел
2. Сравнить, объединить с конфигурацией из файла... - создаются новые объекты из-за ошибки в Загразить концигурацию
3. Обновить конфигурацию базы данных
4. Загрузить конфигурацию из файла...
5. Обновить конфигурацию
6. Подключить главный узел
77. Дмитрий Прытков (UnsavedSoul) 13.05.15 22:36
(39) PONOM, совершенно верно, хэш конфигурации сохраняется еще и в кэше приложения. Если система ориентируется на этот "мусор", то даже после создания нового узла и загрузки его через .dt в старую базу, проблема сохранится. И дайджесты конфигурации из УБ в ЦБ будут выгружаться те же, что привели к появлению ошибки о несоответствии конфигураций:) Поэтому не лишним будет первым делом почистить кэш в подобной ситуации, может сэкономить уйму времени. Думаю, очень многие сталкивались, например, с рассинхроном основной конфигурации с конфигурацией поставщика, которая также лечилась очисткой кэша приложения.
78. Евгений Игронов (cj512) 27.05.15 13:07
(55) dovolsky, способ рабочий.

Немного присмотревшись понял, что при снятии конфы с поддержки и проведения выгрузки информации, то тот кусок кода, который необходимо менять во втором пункте самостоятельно обнуляется. Т.е. регистрация изменения конфигурации к конфигурации поставщика сбрасывается.
79. Настя (Nasty_d) 24.06.15 13:11
Спасибо! Очень помогла статья и обработочка)
80. sergik_nsk sergik (sergik_nsk) 16.07.15 09:54
сталкивался с подобной проблемой, методика первая правильная, но пропущен пункт в самом начале перед радикальными методами нужно почистить кэш в users. вот после чистки пробовать грузить cf в уд из цб и далее по методе.
81. Незнайка Незнайка (ytpyfqrf) 19.07.15 03:38
1-я методика помогла. Перед выгрузкой пришлось отредактировать номер загрузки и номер выгрузки.
82. Юрий Семенчук (MsDjuice) 20.07.15 00:28
(69) Trifan, Первых два пункта не помогли, добавил в ЦБ Константу и все заработало. Версия 8.3.
83. Alex Alex (g_b) 03.09.15 10:17
Супер, спасибо, уже два раза пользовался за последний год , причем двумя способами, в первый раз помог 2 способ , а вчера с первым на ура)))
84. pavel ev (pavelyar) 15.09.15 01:08
Да все проще ,
1.добавьте в в конфигураторе в ЦУ любой комент к любому документу
2.Запустите ЦУ в режиме предприятия с параметром ЗапуститьОбновлениеИнформационнойБазы
3.Сделайте обмен в ЦУ
4.Сделайте обмен в УБ
5.УБ запросит обновление базы,обновите
6.Сделайте контрольные обмены
Все ОК
85. Константин Хрипков (mbreaker) 17.09.15 14:09
(84) pavelyar, бесплатный совет: не стоит изображать профессора, просто надев очки, нацепив мантию и взяв в руки указку...
То, о чём вы говорите - это первое, что пытаются сделать все, когда возникают проблемы с РИБ...
А в контексте данной статьи - это даже не первый, а "минуспервый" шаг, потому что нулевой - это чистка кэша (как недавно справедливо заметил коллега sergik_nsk).

Так что, коллега, поскромнее немного будьте, в этой жизни не всё так просто, как кажется на первый взгляд...
86. pavel ev (pavelyar) 22.09.15 23:47
(85) Да я и не изображал собственно из себя никого..
Просто написал что помогло мне,если Вас обидели слова "Да все проще" то я относил это к тому что если возникает ошибка "Конфигурация не соответствует ожидаемой" что бы не парится с остальными способами...
Как бы такого совета я тут не увидел и даже в коментах, где там он как минус первый указывается я тоже не нашел..
Дак вот все шаги я от и до прошел, не один не помог, помог только мой(с) способ,попутно очищая сбойную отправку Digest1 и Digest2 блоков из ЦУ в УБ в тот момент когда "Конфигурация не соответствует ожидаемой"..
87. Константин Хрипков (mbreaker) 23.09.15 09:09
(86) pavelyar, на ИС не принято вступать в беседу в стиле "ща я вас, салаги, тут всех жизни научу". Это просто считается моветоном и к моим чувствам (обиды) никак не относится.

Теперь про озвученный совет:
  • добавить "любой комент к любому документу" - это значит просто инициировать обмен накопительных изменений метаданных между узлами РИБ;
  • параметр "ЗапуститьОбновлениеИнформационнойБазы" вообще не относится к платформенным параметрам, а просто запускает в пользовательском режиме последовательность процедур обновления ИБ в пользовательском режиме из набора функций БСП, соответственно и исправить в обменных механизмах он ничего в принципе не может, и отработает только на конфигурациях, написанных под БСП.
А всё остальное - обычные действия, которые делает админ РИБ при возникновении проблем с обменами.

Резюме: всё описанное не более чем "танцы с бубном", непонятно за счет чего приведшие к какому-то положительному результату. По такой же логике древние шаманы вызывали дождь.
88. pavel ev (pavelyar) 23.09.15 23:36
1.параметр "ЗапуститьОбновлениеИнформационнойБазы" - рекомендует сделать сама 1С перед обменом с узлом РИБ в ЦБ, ну да Вам виднее,я просто салага..который цитирует саму платформу..
2.инициировать обмен накопительных изменений метаданных между узлами РИБ; - помойму это и надо сделать когда УБ не может принять сбойный Digest1 и Digest2 и ручное ковыряние файла обмена приводит к ошибке обмена "файл обмена был некорректно изменен", да и ковыряние скажем в 800 метровом файле не представляется возможным..
3.А всё остальное - и есть все остальное которые делает админ РИБ при возникновении проблем с обменами.
Резюме: помойму все выше описанное с самого начала и есть "танцы с бубном"
В стиле "ща я вас, салаги, тут всех жизни научу" ого это уже фантастика...
Перед кем мне еще надо извинится что бы Вы не выдумывали за меня мои выражения?
P/S Спасибо Вам за советы ,статья действительно очень познавательна! не в коем разе не хотел что либо очернить в выше описанном.
89. Роман Булкин (windows98a) 27.10.15 21:45
90. Олег Шалимов (CaSH_2004) 18.12.15 16:15
Подскажите пожалуйста по 2-й методике решения проблемы "Конфигурация узла распределенной ИБ не соответствует ожидаемой" не понял пункт:

6. обязательно перезаписываем файл обмена из УБ (2-й пункт)! этот файл не должен быть загружен при обмене в ЦБ!

Т.е. до этого пункта все сработало и УБ приняло файл из ЦБ на который раньше ругалось, а вот теперь формирую файл в УБ и при его загрузке в ЦБ та ругается так же. А написано что файл "не должен быть загружен в ЦБ" - а какой файл в ЦБ тогда грузить чтобы она следующие файлы обмена корректно формировала?
91. Константин Хрипков (mbreaker) 22.12.15 19:35
(90) CaSH_2004, подразумевается, что выгруженный на втором шаге файл из УБ не загружается в ЦБ (его вообще лучше удалить сразу перед третьим шагом).
В ЦБ должен попасть пакет обмена, получившийся после 5-го шага, т.к. именно он будет содержать квитирующий блок об идентичности версий конфигураций в УБ и в ЦБ.
92. GenaK Komurbaev (GenaK) 31.01.16 21:38
(55) dovolsky,
Спасибо за совет.
Помог только такой вариант:
1. В ЦБ выгрузить конфигурацию.
2. Снять ЦБ с поддержки.
3. В ЦБ "Загрузить конфигурацию из файла", тот же файл, сделанный в шаге 1. Добавить константу в конфигурацию.
4. Сделать выгрузку из ЦБ в УБ;
5. Загрузить в УБ. Применить обновление. Снова запустить в УБ обмен (выгрузить).
6. В ЦБ сделать обмен (загрузить) .

В 3 шаге добавил константу в конфигурацию ЦБ. Возможно, это излишне, но не пробовал иначе.
93. Саша Коновалов (profisasha) 01.02.16 13:46
Первое , что нужно проверить если ошибка "Конфигурация узла распределенной ИБ не соответствует ожидаемой" это версию платформы в центральном узле РИБ и периферийных.
Если версии платформ отличаются, то привести к той версии платформы, что и в центральном узле, либо версию выше чем в центральном узле.
94. Роман Осадченко (cleaner_it) 08.02.16 16:01
(55) dovolsky, сейчас помог только ваш вариант.
В УБ каждый день практически загружал конфигурацию - надоело до чертиков.
По поводу причины: уверен, что это динамическое обновление: в один день обновился динамически в ЦБ раза четыре, ошибка появилась в момент обновления конфигурации информационной базы в УБ. До этого обмен работал без сбоев.
95. Alister (Alister) 21.03.16 22:44
Спасибо автору за статью - пришлось воспользоваться первым вариантом. Единственное на что хочу обратить внимание: у меня стоит платформа 8.3.6, после отвязки от главного узла в УБ надо еще раз запустить базу, конфа выдает сообщение о том, что была отвязка от главного узла и предлагает ее восстановить, надо отказаться и только после этого загружать cf.
96. Баярто Раднаев (Radnaev) 31.03.16 08:05
Спасибо большое автору! решил проблему 1 вариантом. Ошибка возникла после восстановления SQL сервера.
97. Alister (Alister) 03.04.16 00:23
Спасибо автору за статью - пришлось воспользоваться первым вариантом. Единственное на что хочу обратить внимание: у меня стоит платформа 8.3.6, после отвязки от главного узла в УБ надо еще раз запустить базу, конфа выдает сообщение о том, что была отвязка от главного узла и предлагает ее восстановить, надо отказаться и только после этого загружать cf.

Хочу добавить: так не сработало на более поздних релизах УТ 11.1, пришлось сделать так - главный узел отключил, потом сразу загрузил cf, потом запустил конфу и разрешил восстановить главный узел, потом была ошибка отсутствия идентификаторов метаданных, сделал на главном узле для узла УБ в "составе отправляемых данных" -> "Зарегистрировать данные для восстановления подчиненного узла РИБ", после чего выгрузил из ЦБ, перезагрузил УБ и согласился с синхронизацией УБ, после синхронизации УБ продолжила обновление.
98. Андрей Анищенко (CERBER) 21.07.16 15:06
У меня такой вот случай.
Платформа 1С:Предприятие 8.2 (8.2.17.153)
Конфигурация "Управление торговлей", редакция 10.3 (10.3.16.1)

Работаем через Хранилище.
В один момент, внесли изменения в печатную форму и модуль документа Перемещение товаров.
В базе имеются 7 РИБ узлов.
В 5-ть узлов обновления дошли прекрасно, конфигурация обновилась и обмен продолжил свою работу по расписанию.
А 2 узла начали писать, что ИБ не соответствует ожидаемой.
Первый способ не помог.
Второй тоже.

В других местах видел в статьях, люди писали, что нужно изменить объект, который последним был изменен. Якобы причина может быть в нем. Делал внесение левой константы, переименовывал печатные формы, правил код.
Не помогло.

На второй день, тупо сидел и повторял второй способ, пытаясь разобраться, что же узлу не нравится в файле выгрузки из ЦБ.
В конце концов, выгрузил в очередной раз свежий конфиг из ЦБ, и решил его не загружать, а запустить в режиме сравнения. Проверить, загрузился ли этот конфиг в прошлый раз и вот. Вижу есть расхождения.
Отменил - загрузил конфиг. Снова запустил в режиме сравнения. Вижу не помогло.
Ну фиг с ним с конфигом. Значит сделал сравнение - объединение.
Затем повторил процесс после окончания первого, снова сравнение. На этот раз вижу конфиги идентичны. Ура. Перезапустил конфигуратор и сделал просто загрузку конфига.
Привязал главный офис для обмена, запустил загрузку файла выгрузки из ЦБ. Файл заехал на отлично. Обмен был восстановлен между узлом и ЦБ.
Через пол часа кладовщики наткнулись на проблему, не открывается печать одного макета. Смотрю в конфигураторе. Макет есть. А вот функция к нему осталась старой. Выходит, восстановление обмена еще не есть гарантия восстановления работоспособности всей базы.
Пока появилась мысль внести изменения в функцию и снова растолкать обмен по узлам. Например написать в начале функции комментарий
// С этим доком я протрахался двое суток!

Ну и еще впереди такая же пляска с 7-мым узлом. Так что, буду отлаживать метод восстановления.
Раньше говорили - хочешь трахаться - купи мопед.
Сейчас и мопед не нужен, секса с 1с и так хватает.

Всем удачи, в сражении с ветряными мельницами.
Донкихот живет и процветает.
99. Максим Литвинов (maksa2005) 12.08.16 13:23
ПОМОГ ПЕРВЫЙ ВАРИАНТ. СПС
100. Maxim Omelchenko (AskezaMax) 03.10.16 15:02
Может быть кому-то поможет:
Столкнулся с описанной проблемой в нетиповой конфигурации. Выполнил обычные шаги по решению проблемы, но после загрузки конфигурации возникла ошибка при запуске предприятия с отсылкой к SQL таблице справочников (ругалось на одинаковые значения). Как оказалось, проблема решилась банальной остановкой служб SQL и 1С и их повторным запуском. Может быть кто-то сэкономит время и нервы :)