И снова "Конфигурация узла распределенной ИБ не соответствует ожидаемой"

05.11.19

Интеграция - Перенос данных 1C

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

Затеял я переход своей РИБ (самописная конфигурация на базе одной из старых версий Управления Торговлей 10.3) на новую платформу 1С с 8.3.12.1685 на 8.3.15.1565. Новая платформа была установлена во всех узлах, базы нормально и без ошибок загрузились и все казалось бы закончилось удачно. Но при попытке произвести обмен с одной из периферийных баз выскочила ошибка "Конфигурация узла распределенной ИБ не соответствует ожидаемой". Ошибка встречалась мне и ранее и решалась выгрузкой конфигурации из главного узла с последующей загрузкой в периферийную. Эта же процедура была проделана и в этот раз, однако к восстановлению обмена не привела. Был произведен для проверки обмен и с другими узлами. Результат - обмен не идет ни с одним из периферийных узлов РИБ. После отката на старую версию платформы я приступил к решению возникшей проблемы.

Поиски решения на просторах интернета в целом ничего не дали. Основной способ был известен мне и уже опробован. Подмена содержимого тега v8de:Digest2, как и ожидалось работает только один раз для измененного файла с данными. Внесение незначительных изменений в конфигурацию главного узла и последующий перенос изменений в периферийный узел тоже ни к чему не привели. Некоторым помогла выгрузка конфигурации из периферийной базы с последующей загрузкой в главную, но тут возник вопрос, а из какой периферийной базы выгружать? Ключики то везде разные...

Выгрузка из главной базы платформа 8.3.12.1685:

<v8de:Config xmlns:v8md="http://v8.1c.ru/metadata/2005/08">

<v8de:Version>216.0</v8de:Version>

<v8de:Digest1>00000000000000000000000000000000</v8de:Digest1>

<v8de:Digest2 Extensions="0000000000000000000000000000000000000000" v2="0acf333b4a9b71e12b7a700523f78324">d41d8cd98f00b204e9800998ecf8427e</v8de:Digest2>

</v8de:Config>

 

Выгрузка из периферийной базы 1 платформа 8.3.12.1685:

<v8de:Config xmlns:v8md="http://v8.1c.ru/metadata/2005/08">

<v8de:Version>216.0</v8de:Version>

<v8de:Digest1>00000000000000000000000000000000</v8de:Digest1>

<v8de:Digest2 Extensions="0000000000000000000000000000000000000000" v2="f031ca95ff7c7c605797876924a6756e">d41d8cd98f00b204e9800998ecf8427e</v8de:Digest2>

</v8de:Config>

 

Выгрузка из периферийной базы 2 платформа 8.3.12.1685:

<v8de:Config xmlns:v8md="http://v8.1c.ru/metadata/2005/08">

<v8de:Version>216.0</v8de:Version>

<v8de:Digest1>00000000000000000000000000000000</v8de:Digest1>

<v8de:Digest2 Extensions="0000000000000000000000000000000000000000" v2="b4de455a6868c21ac38b1df13cb1e01f">d41d8cd98f00b204e9800998ecf8427e</v8de:Digest2>

</v8de:Config>

 

Остальные периферийные базы не приведены, однако там ситуация такая же: Атрибут V2 в ключе v8de:Digest2 отличается во всех базах, само же значение ключа на платформе 8.3.12.1685 одинаково. Обмен на платформе 8.3.12.1685 идет нормально. Вывод: для нормального обмена на 8.3.12.1685 требуется равенство значения ключа v8de:Digest2, равенство значения атрибута V2 необязательно. При попытке сделать обмен на под управлением платформы 8.3.15.1565 ситуация следующая:

Выгрузка из главной базы платформа 8.3.15.1565:

<v8de:Config xmlns:v8md="http://v8.1c.ru/metadata/2005/08">

<v8de:Version>216.0</v8de:Version>

<v8de:Digest1>00000000000000000000000000000000</v8de:Digest1>

<v8de:Digest2 Extensions="0000000000000000000000000000000000000000" v2="a95fe017232e121ab1ba6ea487df1159">9e53a3505803f5c8d6308556676851bb</v8de:Digest2>

</v8de:Config>

 

Выгрузка из периферийной базы 1 платформа 8.3.15.1565:

<v8de:Config xmlns:v8md="http://v8.1c.ru/metadata/2005/08">

<v8de:Version>216.0</v8de:Version>

<v8de:Digest1>00000000000000000000000000000000</v8de:Digest1>

<v8de:Digest2 Extensions="0000000000000000000000000000000000000000" v2="f7a858d651be406f8db57105a0fe8226">f80d570770ddb1c186e70e4bd5266c41</v8de:Digest2>

</v8de:Config>

 

Выгрузка из периферийной базы 2 платформа 8.3.15.1565:

<v8de:Config xmlns:v8md="http://v8.1c.ru/metadata/2005/08">

<v8de:Version>216.0</v8de:Version>

<v8de:Digest1>00000000000000000000000000000000</v8de:Digest1>

<v8de:Digest2 Extensions="0000000000000000000000000000000000000000" v2="07b705fe58126f57d4a5f3cec00a9f2d">9e53a3505803f5c8d6308556676851bb</v8de:Digest2>

</v8de:Config>

 

Из проведенного эксперимента следует сразу несколько выводов: Первое, ключи для сравнения в базе приемнике формируются динамически либо при открытии базы под той или иной платформой, либо перед процедурой загрузки выгрузки. Второе, для нормального обмена данными под управлением платформы 8.3.15.1565 требуется равенство не только значения ключа v8de:Digest2, но и атрибута V2, так как обмен не шел как с периферийной базой 1, так и с периферийной базой 2. Заметим, что именно в периферийной базе 1 была произведена загрузка конфигурации, выгруженной из главной базы, однако там отличаются оба ключа.

Так как ключи формируются динамически, условием восстановления обмена может быть только приведение в полное соответствие конфигураций главной и периферийных баз данных. Почему же загрузка конфигурации из главного узла и загрузка в периферийный узел не помогает? Базы у меня работают в режиме совместимости 8.2. В этом режиме многие возможности современной платформы 1С отключаются и доступа к ним нет. Было сделано предположение, что в файл конфигурации cf не попадают эти отключенные области, однако они участвуют в расчете ключей при обмене. Тут я вспомнил про возможность выгрузить конфигурацию в файлы и потом загрузить ее из этого набора файлов обратно. Понятно, что для обычных форм это бинарные файлы, но сравнить то мы их можем, и подменить отличающиеся. После выгрузки в файлы конфигураций главной и периферийной базы 1 и попытке сравнения файлов результат обескуражил: отличались по содержимому не только многие бинарные файлы, но и содержимое такого вполне читаемого файла как ConfigDumpInfo.xml.

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

 

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

Выгрузка из главной базы не изменилась и приведена выше.

Выгрузка из периферийной базы 1 платформа 8.3.15.1565:

<v8de:Config xmlns:v8md="http://v8.1c.ru/metadata/2005/08">

<v8de:Version>216.0</v8de:Version>

<v8de:Digest1>00000000000000000000000000000000</v8de:Digest1>

<v8de:Digest2 Extensions="0000000000000000000000000000000000000000" v2="b4de455a6868c21ac38b1df13cb1e01f">2ddd865649c831a87a4853bdad69bb3f</v8de:Digest2>

</v8de:Config>

 

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

 

 

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

После этого двухсторонний обмен восстановился:

Выгрузка из главной базы платформа 8.3.15.1565:

<v8de:Config xmlns:v8md="http://v8.1c.ru/metadata/2005/08">

<v8de:Version>216.0</v8de:Version>

<v8de:Digest1>00000000000000000000000000000000</v8de:Digest1>

<v8de:Digest2 Extensions="0000000000000000000000000000000000000000" v2="b4de455a6868c21ac38b1df13cb1e01f">2ddd865649c831a87a4853bdad69bb3f</v8de:Digest2>

</v8de:Config>

 

Выгрузка из периферийной базы 1 платформа 8.3.15.1565:

<v8de:Config xmlns:v8md="http://v8.1c.ru/metadata/2005/08">

<v8de:Version>216.0</v8de:Version>

<v8de:Digest1>00000000000000000000000000000000</v8de:Digest1>

<v8de:Digest2 Extensions="0000000000000000000000000000000000000000" v2="b4de455a6868c21ac38b1df13cb1e01f">2ddd865649c831a87a4853bdad69bb3f</v8de:Digest2>

</v8de:Config>

 

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

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

  1. Снимаем резервные копии всех баз данных
  2. Устанавливаем новую платформу и далее все манипуляции производим, загружая базы данных под новой платформой
  3. Из главной базы РИБ выгружаем файл конфигурации cf. Это у нас будет эталонный файл конфигурации.
  4. Из главной базы выгружаем файлы конфигурации. Так как в системе есть ограничения на длину наименования файлов, папку для выгрузки выбираем как можно с коротким именем (у меня было C:\1). Эта папочка тоже будет эталонной.
  5. Отвязываем периферийную базу от главной базы. Обработку не привожу, она тривиальна и содержит 5 строк кода. Кто не сможет написать на коленке, в интернете полно предложений по этому вопросу.
  6. В режиме конфигуратора в периферийную базу загружаются файлы конфигурации из главного узла (конфигурация - загрузить конфигурацию из файлов). Конфигурацию НЕ сохраняем, конфигурацию базы данных НЕ обновляем.
  7. Загружаем конфигурацию (cf файл) в периферийную базу (конфигурация - загрузить конфигурацию из файла).
  8. Сохраняем основную конфигурацию и обновляем конфигурацию базы данных периферийной базы данных.
  9. Привязываем периферийную базу к главной базе данных, предварительно закрыв конфигуратор.
  10. Повторяем пункты 5 - 9 для всех периферийных баз.
  11. Загружаем файл конфигурации главного узла в главный узел, ДА ВОТ ТАК ВОТ.
  12. Сохраняем основную конфигурацию и обновляем конфигурацию базы данных главной базы данных.

Далее, скрестив на всякий случай пальцы (с продуктами от 1С возможно все), пробуем сделать обмен в РИБ.

Вступайте в нашу телеграмм-группу Инфостарт

Конфигурация узла распределенной ИБ не соответствует ожидаемой РИБ Digest2 v2

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

Перенос данных 1C Программист 1С:Предприятие 8 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Перенос документов, начальных остатков и справочной информации из УПП 1.3 в ERP 2 | из УПП 1.3 в УТ 11 | из УПП в КА 2 | Правила конвертации (КД 2) | Более 360 предприятий выполнили переход с использованием этого продукта! | Сэкономьте время - используйте готовое решение для перехода! | Позволяет перенести из УПП 1.3 в ERP / УТ 11 / КА 2 всю возможную информацию | В переносе есть фильтр по организации и множество других опциональных параметров выгрузки | Есть несколько алгоритмов выгрузки остатков на выбор

58000 руб.

04.08.2015    186759    440    301    

449

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С:Предприятие 8 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена | Можно выполнить переход с УПП на БП 3 или запускать выгрузку данных за выбранный период времени | Переносятся документы, начальные остатки и вся справочная информация | Есть фильтр по организации и множество других параметров выгрузки | Поддерживается несколько сценариев работы: как первичный полный перенос, так и перенос только новых документов | Перенос данных возможен в "1С: Бухгалтерия 3.0" версии ПРОФ, КОРП или базовую | Переход с "1С: УПП1.3" / "1С:КА 1.1" на "1С:БП3.0" с помощью правил конвертации будет максимально комфортным! | Можно бесплатно проверить перенос на вашем сервере!

50050 руб.

25.02.2015    187778    358    288    

417

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С:Предприятие 8 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Россия Платные (руб)

Правила в универсальном формате обмена для ERP 2.5, КА 2.5, УТ 11.5, БП 3.0, Розница, УНФ, для последних версий конфигураций. Ссылки на другие конфигурации в описании публикации. Правила совместимы со всеми другими версиями конфигураций новыми и старыми, поддерживающими обмен и синхронизацию в формате EnterpriseData. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.

27633 руб.

12.06.2017    160111    963    317    

481

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С:Предприятие 8 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УПП 1.3 (1.3.267.x) и БП 3.0 (3.0.194.x). Правила подходят для версии ПРОФ и КОРП.

42000 37800 руб.

15.12.2021    33828    254    64    

193

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С:Предприятие 8 1С:Управление торговлей 10 Россия Управленческий учет Платные (руб)

Перенос данных из 1С:Управление торговлей 10.3 в 1С:Управление торговлей 11.5 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УТ 10.3 (10.3.88.x) и УТ 11.5 (11.5.25.x).

42000 37800 руб.

23.07.2020    67803    314    95    

252

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Программист 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Перенос данных из ERP в БП 3 | из КА 2 в БП 3 | из УТ 11 в БП 3 | из ЕРП в БП 3 | Сэкономьте время - используйте готовое решение для перехода! | Перенос разработан в формате КД 2 (правила конвертации данных) | Переносятся все возможные виды документов, начальных остатков и нормативно-справочная информация| Можно опционально выгружать каждую пару "номенклатура+характеристика" как отдельную номенклатуру | Есть выгрузка настроек счетов учета и зарплатных данных из ERP / КА 2 | Можно проверить на вашем сервере перед покупкой

58000 руб.

15.04.2019    83732    224    174    

161

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С:Предприятие 8 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Управление производственным предприятием Россия Платные (руб)

Регулярный обмен, выгрузка, перенос из КА 1.1, УПП 1.3, УТ 10.3 для обмена с любыми конфигурациями, поддерживающими обмен в формате EnterpriseData (КД3) - БП 3.0, ERP, КА 2, УТ 11, Розница 3, УНФ 3 и другими. Правила для старых и доработанных конфигураций не требуют синхронного обновления и совместимы с новыми и будущими конфигурациями. Обмен по расписанию, через папку, FTP, почту.

16531 руб.

18.02.2016    202606    672    543    

562

Внешние источники данных Кадровый учет Файловый обмен (TXT, XML, DBF), FTP Перенос данных 1C Программист 1С:Предприятие 8 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактическим удержаниям, НДФЛ, вычетам, страховым взносам из базы Парус 10 учреждений (далее Парус) в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (далее 1С) и начать с ней работать с любого месяца года.

84000 руб.

05.10.2022    13279    15    8    

16
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Senator_I 54 05.11.19 15:23 Сейчас в теме
Плюсанул из-за знакомой ситуации. Один месяц ну прям хронически было на базе.
2. rusmil 264 05.11.19 16:02 Сейчас в теме
Может это какая-то ошибка баг платформы? Не обращались в техническую поддержку 1С?
4. Kobra_RU 249 05.11.19 16:53 Сейчас в теме
(2) С самописной конфигурацией? на базе старой УТ 10.3? Вы определенно шутите... :))
3. jamirza 05.11.19 16:19 Сейчас в теме
Плюсанул за компанию с Кучмой.
5. petrov_2015 06.11.19 11:24 Сейчас в теме
Мы так же "влетели" с переводом дописанной УПП с 8.3.12.1685 на 8.3.13.1690. Помогла загрузка cf из периферийной в головную.
Спасибо за глубокое исследование Очень не типового случая и за краткие 12 пунктов "Что делать"!
adhocprog; Алексей_mir2mb; +2 Ответить
6. CERBER 20.11.19 01:50 Сейчас в теме
У меня сейчас как раз такая же ситуация.
Решил сервак обновить. Была версия платформы 8.3.9.2033, думаю, дай ка я обновлю ее до 8.3.15.1700.
Ну вот, напоролся на проблему, моя новая платформа не очень-то захотела дружить с PostgreSQL 9.5
Протрахался пол ночи, пока вспомнил, как под CentOS обновить 1С.
И утром меня ждал сюрприз.
После того как, зашли более 7-10 чел на сервак, база тупа стала подвисать на каждом тычке мыши в программе.
В итоге еще пол дня, что бы откатиться назад на платформу 8.3.9.2033
Но при этом, в одном магазине я успел обновить на компе клиента так же на 8.3.15.1700.

И вот из 11 РИБ узлов, этот как раз обновленный клиент не принимает файл выгрузки обмена.
Все ему не так.
А вот обратно обмен идет от клиента в ЦБ нормально.
База ЦБ затягивает файл как родной.

Спасибо за статью, буду пробовать ваши танцы с бубном.
7. CERBER 20.11.19 01:58 Сейчас в теме
Ха, прочитав, вашу статью, подумал, что бы ло бы неплохо, на клиентском компе в списке баз, для базы указать загрузку ее под платформой 8.3.9.2033.
И о боги, обмен завелся.
Я второй день голову ломаю, дайжесты в файле подмениваю, пытаюсь что-то сделать. Конфигурацию перезагружал в РИБ узел из центра.
Ничего не помогало.

Это жесть. Издевательство со стороны Москвы.

Не навижу, получать опыт через такие сложности. Опыт появился, а толку от него в жизни НОЛЬ.
В общем завелось.
Что будет, когда я все же обновлю везде платформу, пока не знаю.
Но однозначно, моя база Управление торговлей 10.3 к этому не готова.
8. ivanek 41 04.12.19 13:40 Сейчас в теме
9. ivanek 41 04.12.19 14:10 Сейчас в теме
В структуре БД 1с есть служебная таблица "Config" - где хранятся изменения конфигурации (когда нажимаем на кнопку применить изменения), по-видимому она принимает участие в расчете ключа, это объясняет пункт "11. Загружаем файл конфигурации главного узла в главный узел, ДА ВОТ ТАК ВОТ." Чтобы последние записи были идентичны в узлах.
Прикрепленные файлы:
10. Mr Roudyk 27.12.19 09:23 Сейчас в теме
Спасибо за статью! После двух дней танцев с бубном всё получилось именно по Вашей инструкции.
adhocprog; +1 Ответить
11. Sandmansss 26 18.06.20 11:08 Сейчас в теме
Спаситель!
Спасибо за рецепт! Две недели бился с обменами...
12. Land1966 11.08.25 12:30 Сейчас в теме
Огромное спасибо!
Переносил самописную конфу с 8.0.18 (!) сразу на 8.3.19. Бился несколько дней. Chat GPT не помог, помогла эта статья. Ситуация была немного проще - всего одна периферийная база. Поэтому операции с выгрузкой-загрузкой файлов конфигурации не понадобились. Ключевой момент - обратная загрузка конфигурации периферийной базы в главную. Просто и гениально. Ни я ни Chat GPT не догадались.
Для отправки сообщения требуется регистрация/авторизация