Популярные ошибки РИБ и способы их исправления. Часть 2. Ошибка преобразования данных XML

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

Ошибка преобразования данных XML. Типичная ошибка при нарушении последовательности принятия периферийным узлом данных от центрального узла. Методы диагностики ошибки и способ устранения.

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

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

Тем не менее, перед тем, как приступать к глубокому анализу файла сообщения, проверьте не открывается ли этот ларчик гораздо проще: на узле-отправителе проблемного сообщения откройте обработку ВыгрузкаЗагрузкаДанныхXML.epf (из состава конфигурации "Конвертация данных", находится в каталоге шаблона конфигурации после её установки), нажмите в самом низу кнопку "Недопустимые символы в плане обмена" и выберите узел-получатель. Если проверка выдаст ошибки, то вам достаточно будет устранить их непосредственно в указанных объектах и проблема будет решена.

Если недопустимых символов не найдено - копаем дальше. Откройте XML файл сообщения (лучше всего открывать прямо в 1С:Предприятие 8) и посмотрите по указанному номеру строки, на каком объекте остановился прием.

Если чисто визуально с ним всё в порядке - имеет смысл сравнить сериализованный объект, на котором "затыкается" чтение, с каким-нибудь аналогичным объектом БД получателя. Для получения сериализованного представления объекта можно воспользоваться обработкой СериализацияОбъектаВXML.epf в приложении этой статьи. Сравнение нужно производить по структуре объекта! Т.е. проверить, чтобы все элементы метаданных сравниваемых объектов были одинаковы и был соблюден порядок их следования (это важно!). В случае структурных различий поступаем одним из 2-х способов: или разбираемся, почему не произошло обновление конфигурации периферийного узла и устраняем причину; или обращаемся к первой методике из публикации http://infostart.ru/public/65456/.

Удачных Вам обменов!

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

Наименование Файл Версия Размер
Сериализация объекта
.epf 7,30Kb
11.02.10
593
.epf 7,30Kb 593 Скачать

См. также

Добавить вознаграждение
Комментарии
1. Александр Зубцов (iov) 358 09.02.10 13:10 Сейчас в теме
Все просто и понятно. Минимум слов максимум полезности. :idea: :!:
Образцовое оформление.
2. Александр Зубцов (iov) 358 09.02.10 13:13 Сейчас в теме
(0) Я так полагаю что все статьи будут по очереди и потом все вместе одним файлом? ;)
Авансом плюс.
3. Константин Хрипков (mbreaker) 1047 09.02.10 13:35 Сейчас в теме
(1) Спасибо, эту серию постараюсь выдерживать в таком же стиле...

(2) Насчет "мемуаров" ala "всё-и-сразу" подумаю... Спасибо за идею... А серию - да, планирую дополнять по мере возникновения ошибок... Благо в них - то недостатка не испытываю... практически каждый день что-то новенькое...

Параллельно, кстати, запустил ещё менее серьёзную серию http://infostart.ru/public/65470/ , но думаю, что и она своего читателя найдёт...
4. direktorSan (direktorSan) 253 10.02.10 18:15 Сейчас в теме
Спасибо за статьи!
Очень нужны и оказались очень вовремя!
Несомненно +!
5. Константин Хрипков (mbreaker) 1047 10.02.10 21:01 Сейчас в теме
(4) Рад, что статьи пришлись "в пору"... :)
6. Ю П (molot_off) 15.03.11 12:50 Сейчас в теме
Поймали вчера данную ошибку. Узел обмен принимает нормально, а вот центр от узла нет. Обработка ВыгрузкаЗагрузкаДанныхXML.epf показала что все норм. Отловить на какой строке хмл валится 1с не получается,просто вываливается сообщение "Ошибка преобразования данных XML" без указания номера строки. Проверили конфигурации узла и центра..идентичные,прогнали тестирование и исправление баз-все нормально,проверили хэши в файлах обмена-все нормально. Что ещё может быть?
7. Валера (val1979) 20.09.11 19:12 Сейчас в теме
8. Александр (f14s15) 21.09.11 13:02 Сейчас в теме
9. Алексей Мартьянов (_aLF) 22.09.11 18:04 Сейчас в теме
10. NeoRomeo 17.11.11 16:04 Сейчас в теме
Спасибо за, то что поделились опытом.
Помогло =)
11. deadman66 (deadman66) 21.12.11 10:08 Сейчас в теме
спасибо, надо протестировать. как раз такие грабли появились.
12. Dragon Ago (DragonAgo) 6 21.12.11 11:02 Сейчас в теме
Кратко, понятно и актуально
13. Сергей Куркин (Kneo) 01.02.12 21:05 Сейчас в теме
14. Мария Ремнёва (Velva) 59 13.11.12 08:54 Сейчас в теме
вчера тоже словила эту ошибку, что только не делала, ни чего не помогало. В итоге решила удалить временные файлы 1с в папке, которая указана в ошибке, и обмен пошел нормально
15. Мария Ремнёва (Velva) 59 15.11.12 13:29 Сейчас в теме
и еще, если не помогает удаление файлов, или это сделать проблематично (работает много пользователей) берем создаем в указанной папке текстовый файл, сохраняем его с именем, как указано в ошибке ( к примеру v8_B_1a.xml) и удаляем его. и обмен работает. Вот только интересны причины возникновения этой ошибки. я довольна часто вношу изменения в конфигурацию, и после сегодняшнего изменения эта ошибка уже выскочила со стороны центрального узла при обмене с узлом, где ошибка наблюдалась ранее, хотя на той стороне обмен прошел нормально
16. Name Surname (vst) 11.09.14 17:29 Сейчас в теме
Столкнулся с такой же ошибкой.

1С 8.3.3.641. Создал РИБ, все стандартно, авторегистрация для всех объектов. Начальный образ создался нормально. В дальнейшем при загрузке данных в периферийную базу выдается "Ошибка преобразования данных XML".
Методом тыка выяснил, что не загружаются именно записи регистра бухгалтерии. Справочники переносятся, документы, если их не проводить тоже, а проводки - нет. Пробовал все способы, что нагуглил, не помогли.

В ошибке указывает номер строки. По этому номеру - разные теги блока проводки. Логики никакой не прослеживается. Сейчас, например, ругается та такую строку:

</AccountingRegisterRecordSet.РегистрПланСчетовОсновной>

До этого ругался та такую:

<Сумма>-421.5</Сумма>

Что делать ?
17. Людмила Горбунова (buhkaz) 14.02.15 10:57 Сейчас в теме
При открытии обработки вышла ошибка - "Внешняя обработка не может быть прочитана текущей версией программы" Для какой платформы и конфы она писалась?
18. Владислав Рожевский (vvr908) 346 03.04.15 10:28 Сейчас в теме
Вчера поймали у клиента такую ошибку, при загрузке в узел РИБ вылезала "Ошибка преобразования данных XML" без указания строки файла. Жизнь сильно осложняло еще и то, что файл обмена был размером 34 Мб (много чего перепроводили в центральной базе) - "методом тыка" было никак не найти, на чем именно спотыкается обмен.

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

Сейчас вот буду пытаться разобраться, в чем проблема с этим злополучным объектом.