Ошибка при вызове метода контекста (ПрочитатьXML)
ЗаписанноеЗначение = ПрочитатьXML(ЧтениеXML);
по причине:
Ошибка преобразования данных XML
Ошибка загрузки: Неверный формат файла выгрузки
Очень часто при настройке обменов данных с помощью универсальной обработки загрузки/выгрузки XML возникает эта ошибка. Рассмотрим ниже основные причины появления данной ошибки, и как можно исправить её.
Не соответствие структуры метаданных конфигурации
Проблема скорее всего в том, что конфигурация просто отличается.
Если Вы передаете через внешнюю обработку Загрузки/выгрузки XML, то Вы можете передавать данные только между идентичными конфигурациями.
Если передача данных идёт через универсальные механизмы обмена, заложенных в конфигурацию, тогда необходимо исследователь правила обмена на предмет соответствия объектов метаданных.
Ошибка файловой системы
Периодически при обмене данными встречается такая ошибка, когда файл просто не может быть прочитан, и выводит ошибку Ошибка преобразования данных XML.
Попробуйте просто переименовать файл при выгрузке и загрузить его с другим именем.
Другие статьи по 1С:
К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.
При организации обмена данными в рамках распределенной информационной базы могут возникать различные ситуации, приводящие к сообщениям об ошибках. Однако не все подобные ситуации являются ошибками в чистом виде: некоторые из них могут быть отнесены к штатным ситуациям, соответствующим протоколу обмена данными, некоторые – к неадаптированности конфигурации для работы в рамках распределенной информационной базе.
Общие ошибки, возникающие при работе с XML
Сообщение обмена данными является документом XML, поэтому имеет смысл описать возможные ошибки, которые могут возникнуть во время чтения/записи сообщений обмена данными при использовании средств чтения/записи данных XML, предоставляемых платформой "1С:Предприятие 8". При работе с данными в формате XML может возникать множество различных ситуаций, однако в данной статье будут рассмотрены только те, которые так или иначе имеют отношение к обмену данными в рамках распределенной информационной базы.
Сообщение об ошибке | Описание ошибки |
Возможные пути исправления ошибки | |
Не установлен MS XML Core Services 4.0 | На компьютере не установлен Microsoft XML Core Services 4.0, используемый "1С:Предприятием 8" для работы с XML |
Установить Microsoft XML Core Services 4.0. При установке "1С:Предприятия 8" Microsoft XML Core Services 4.0 устанавливается автоматически | |
Ошибка разбора XML | Ошибка, возникающая при синтаксическом анализе данных XML в процессе чтения. Все ошибки, определенные в SAX2, трансформируются в данную ошибку, генерируемую платформой "1С:Предприятие 8" |
Проверить правильность оформления и синтаксис данных XML (см. http://www.w3.org/TR/REC-xml). | |
Ошибочный порядок записи XML | Методы записи содержимого документа XML вызываются в неправильном порядке. Например, запись атрибута вызывается после записи текста элемента. |
Выявить и исправить места некорректного порядка вызова методов | |
Текст XML содержит недопустимые символы | Записываемый текст XML содержит недопустимые символы. |
Текст XML должен соответствовать требованиям, изложенным в главе 2.2 рекомендации XML (см. http://www.w3.org/TR/REC-xml#charsets) | |
Недопустимое имя XML | Записываемое имя XML содержит недопустимые символы. |
Имя XML должно соответствовать требованиям, изложенным в главе 2.3 рекомендации XML (см. http://www.w3.org/TR/REC-xml#NT-Name) | |
Пустое значение URI допустимо только для пространства имен по умолчанию | Производится попытка записать соответствие пространства имен, в котором URI пространства имен, представленному пустой строкой, соответствует непустой префикс. |
Значение URI пространства имен должно соответствовать рекомендации Namespaces in XML (см. http://www.w3.org/TR/REC-xml-names)
При чтении данных XML платформой производится автоматическое определение типа получаемых данных, кроме случаев, когда тип данных указан при вызове операции чтения. Если структура данных XML не соответствует структуре данных, определяемых типом, то будет сгенерировано данное сообщение об ошибке.
Производится попытка записи в XML значения, для типа которого не определена процедура записи в XML. Или производится попытка чтения из XML значения неизвестного типа или типа, для которого не определена процедура чтения из XML.
Например, чтение существующего элемента справочника: если элемент справочника является группой, а было прочитано то, что является элементом, будет сгенерирована данная ошибка.
При обмене данными в рамках распределенной информационной базы используются штатные механизмы записи/чтения XML – ситуации, связанные с передачей некорректных данных, могут возникать только вследствие искажения сообщения обмена данными. В таком случае необходимо получить новое сообщение обмена данными от информационной базы – источника сообщения.
Если же сообщение содержит корректные данные и ошибка возникает в процессе считывания данных из базы данных (для последующего изменения их данными из сообщения обмена), то необходимо проверить наличие прав пользователя, от имени которого производится чтения сообщения обмена.
Также необходимо удостовериться, что в процессе чтения сообщения не возникает блокировки данных (например, чтение производится в рамках транзакции, а данные заблокированы другим пользователем), можно предпринять попытку чтения сообщения в монопольном режиме доступа к информационной базе.
Если вышеперечисленные способы не привели к устранению ошибки, то необходимо проверить целостность данных информационной базы
Ситуации, возникающие при обмене данными в рамках распределенной информационной базы
В случае чтения сообщения обмена данными от подчиненного узла в главном узле данная ситуация является штатной и означает наличие изменений конфигурации, которые еще не были получены в подчиненном узле – источнике сообщения.
Если же чтение сообщения от главного узла производится в подчиненном узле, то данная ситуация является следствием изменения конфигурации в подчиненном узле. Необходимо удостовериться, что обмен производится в правильно настроенной распределенной информационной базе (создание подчиненных узлов производилось при помощи рекомендованных способов) и в процессе работы не производилось изменения конфигурации подчиненной информационной базы (изменение в штатном режиме невозможно). Изменения конфигурации подчиненного узла может быть осуществлено только после отключения информационной базы от распределенной информационной базы – установка значения главного узла в Неопределено . В случае несанкционированного изменения конфигурации в подчиненном узле необходимо восстановить соответствие конфигураций путем полной загрузки конфигурации из главного узла
Необходимо выполнить обновление конфигурации базы данных.
Обновление может быть выполнено в режиме Конфигуратор
При чтении сообщения обмена производится автоматическая запись полученных изменений данных в информационную базу. Если в процессе записи данных происходит ошибка, то процесс чтения сообщения прерывается. Для определения в процедурах записи элементов данных (объектов и наборов записей) режима записи после загрузки из сообщения обмена существует свойство Загрузка . Для корректной работы в рамках распределенной информационной базы процедуры записи элементов данных должны быть написаны с учетом произвольного порядка загрузки данных из сообщений обмена (например, не должны выполняться проверки связанной с записываемым элементом данных информации.
УТ 11.3.1.127, 1С:Предприятие 8.3.8.2197. Полная РИБ. После обновления конфигурации головного узла до 11.3.1.142, при попытке сделать синхронизацию на подчинённом узле возникает Ошибка чтения файла сообщения обмена: <Обработка.КонвертацияОбъектовРаспределенныхИнформационныхБаз.МодульОбъекта(196)>: Ошибка при вызове метода контекста (ПрочитатьИзменения): Ошибка преобразования данных XML: [sfile://C:/Users/Админ/AppData/Local/Temp/Exchange82 <441BBE86-8105-48ED-B672-78A717B9445A>/Message_B0_B1.xml][5985545,22]
Фрагмент кода возле указанной строки ниже. Строка 5985545 5-я в этом коде ". 7.."
74cb37ec-41ca-4785-9d1e-9e13f1f4d2db.9
00bfd3a4-d0f8-4b0a-aeb4-30169645f584
77u/ezcsMSwxNTAsDQp7MTAwLGUwOTUzNGUzLWFjNmUtNDJhNi04NmU4LTU2NGFj
YjIwMDg5YX0sDQp7MCwNCnswLA0KeyJCIiwwfSwwfQ0KfSwNCnswLGNmM2RkNWI0
LWFjYzctNGY0NC1iYTA4LTFiOGJjOTc3NTAzZX0sDQp7MCwNCnswLA0KeyJCIiwx
fSwwfQ0KfSwNCnswLGEzMzA2MDFkLTk0ZjQtNGNjOC1iZDQ1LWEzOTAzNGJjNzkx
Mn0sDQp7MCwNCnswLA0KeyJCIiwxfSwwfQ0KfSwNCnswLGIyOWJjNTU3LTg2YmYt
Нужно это как-то поправить, желательно в режиме: Вы говорите – я делаю, чтоб не гонять базу. Она рабочая.